在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ Android問答
咕嚕嚕 回答

描述業(yè)務(wù)場景,或者描述清楚具體步驟,這種問法是什么

兩組數(shù)據(jù),數(shù)據(jù)是什么樣的,可重復(fù),不可重復(fù),數(shù)字還是對(duì)象

A集合
B集合

操作是什么
function1: 從A中隨機(jī)取1個(gè)數(shù)據(jù) 添加該數(shù)據(jù)到B集合 ,并從1 移除
function2: 有一個(gè)key,一定可以對(duì)于B的元素,所以B是map唄?

那么A是什么 是list集合? 那從A取元素,是將key放過去還是value放過去?

你這樣問問題,誰能回答

心沉 回答
FragmentPagerAdapter / FragmentStatePagerAdapter 了解一下
局外人 回答
View view= factorys.inflate(R.layout.activity_detail, null); 

這個(gè) Fragment 的 View 是新創(chuàng)建的跟 Activity 中的都不是同一個(gè)對(duì)象。

過客 回答

簡單的說:會(huì)的

具體可以參見: https://docs.gradle.org/curre...

汐顏 回答

android os 不支持
就是低級(jí)別的系統(tǒng)中沒有BLE相關(guān)的方法給你調(diào)用

從理論上來說 除非你自己修改android的系統(tǒng),自己實(shí)現(xiàn)rom,將ble相關(guān)的代碼移植到4.2系統(tǒng)內(nèi),然后對(duì)java層提供sdk調(diào)用你封裝的ble api,這樣的技術(shù)大概類似于mipush,而且更加復(fù)雜,因?yàn)樯婕癮ndroid操作硬件,系統(tǒng)燒錄
否則無法實(shí)現(xiàn)你說的功能,如果你是想研究android系統(tǒng)的燒錄和相關(guān)代碼植入,系統(tǒng)剪裁定制,還可以考慮

如果只是為了app開發(fā),建議你不要考慮BLE兼容4.2的問題,在app層面不可能實(shí)現(xiàn)

薄荷糖 回答

是不是設(shè)置了快捷鍵是雙引號(hào)

久舊酒 回答

實(shí)際上通常是你所說的做法,圖片一般是上傳到你們自己的CDN上面,因?yàn)閳D片加載畢竟比文本更加耗時(shí),為了提升用戶體驗(yàn),分區(qū)域存儲(chǔ)相當(dāng)有必要。當(dāng)然這里面我認(rèn)為 還需要考慮兩點(diǎn)內(nèi)容。

  1. 弱網(wǎng)絡(luò),圖片上傳失敗怎么處理?
    了解下job,intentservice,斷點(diǎn)續(xù)傳。
  2. 多圖上傳如何保證順序的問題?
    了解一下rxjava的contactMap操作。
久舊酒 回答

問題已經(jīng)解決了

這個(gè)問題的 關(guān)鍵點(diǎn)setSelection() 方法的執(zhí)行時(shí)機(jī)

先說下如何解決

  • 布局中不需要做任何多余的設(shè)置
<RelativeLayout
    <!-- 這兩個(gè)設(shè)置不需要了,因?yàn)榻酉聛硪诔绦蚩傇O(shè)定 -->
    android:focusable="false"
    android:focusableInTouchMode="true" />
    <EditText />
</RelativeLayout>
  • Java代碼部分
public class MainActivity extends AppCompatActivity {
    private boolean isFirst = true; // 是否是第一次點(diǎn)擊 EditText
    private InputMethodManager mIMM; // 第一次點(diǎn)擊時(shí),軟鍵盤不自動(dòng)彈出,所以要手動(dòng)彈出
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mIMM = (InputMethodManager) (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        mEditText = findViewById(R.id.xxx);
        
        // 關(guān)鍵部分
        mEditText.setFocusable(false);
        mEditText.setOnClickListener( v -> {
            if(isFirst) {
                mEditText.setFocusableInTouchMode(true);
                mEditText.requestFocus();
                mEditText.setSelection(mEditText.getText().length());
                mIMM.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
                isFirst = false;
            }
        });
    }
}

再說下嘗試的過程

1. 直接設(shè)置 setSelection()

因?yàn)橹霸O(shè)置了 android:focusabelInTouchMode="true",所以直接設(shè)置是沒有效果的,第一次點(diǎn)擊EditText區(qū)域,會(huì)自動(dòng)彈出軟鍵盤,并且光標(biāo)位置是手指點(diǎn)擊的位置

2. 自定義 EditText,重寫 onSelectionChanged(int selStart, int selEnd)方法

這個(gè)方法感知光標(biāo)位置的變化,編寫如下代碼,可控制光標(biāo)始終在結(jié)尾處:

    @Override
    protected void onSelectionChanged(int selStart, int selEnd) {
        super.onSelectionChanged(selStart, selEnd);
            if (selStart == selEnd) { // 不考慮多個(gè)文字被選中
                setSelection(getText().length());
            }
    }

這個(gè)方法的執(zhí)行時(shí)機(jī)在自定義EditText對(duì)象初始化之前,并且在沒點(diǎn)擊之前,或者點(diǎn)擊時(shí)會(huì)多次執(zhí)行該方法,不好控制是否是第一次點(diǎn)擊。因此也沒有嘗試成功

總結(jié)

不知道有沒有更好的解決方案?期待你的回答。


2018-05-28 補(bǔ)充

實(shí)際項(xiàng)目總可能會(huì)遇到一個(gè)頁面中有多個(gè)EditText,那么 isFirstTouch 就可能被多個(gè)EditText共用,如果有這個(gè)問題存在的話,一種解決方案是自定義EditText:

public class MyEditText extends EditText {
    private boolean isFirstTouch = true;
    // 構(gòu)造方法中調(diào)用 init() 方法
    private void init() {
        post( () -> {
            setFocusable(false);
            if(isFirst) {
                setFocusableInTouchMode(true);
                requestFocus();
                setSelection(mEditText.getText().length());
                inputMethodManger.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
                isFirst = false;
            }
        });
    }
}

下載android platform
有兩種模式,一種是debug,一種是release
如何生成簽名
如何自動(dòng)簽名
--prod的優(yōu)化啟動(dòng)速度
1.添加Android平臺(tái)支持
在工程目錄下執(zhí)行 ionic platform add android 命令
項(xiàng)目的路徑下就會(huì)自動(dòng)生成platform文件夾,里面有一個(gè)android文件夾。
添加Android平臺(tái)支持后就可以打包apk了
在工程目錄下執(zhí)行 ionic build android 命令
會(huì)在 xxxplatformsandroidbuildoutputsapk下生成android-debug.apk
這種命令生成的apk是用于調(diào)試的。
安裝到手機(jī)
連接手機(jī)或者打開模擬器,在xxxplatformsandroidbuildoutputsapk下打開命令窗口執(zhí)行adb install android-debug.apk就能將apk安裝在手機(jī)或者模擬器上了。
2.兩種打包的版本
一種是debug調(diào)試版,一種是release發(fā)布版

打包debug調(diào)試版
在工程目錄下執(zhí)行ionic build android,生成的apk就是debug調(diào)試版本
打包release發(fā)布版
在工程目錄下執(zhí)行ionic build andorid --release,生成的apk就是release發(fā)布版本。
如果沒有配置簽名文件則默認(rèn)只生成android-release-unsigned.apk,沒有簽名的apk。release版本是必須有簽名才能在手機(jī)上運(yùn)行。
3.生成簽名文件
有兩種方式生成簽名文件
1.使用Android Studio

build.jpg
Genetate Signed APK.jpg
New Key Store.jpg
2.使用jdk的KeyTool生成簽名文件

生成簽名文件的命令:

keytool -genkey -v -keystore name.jks -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
name.jks,name可以自定義,jks是Android studio生成的簽名文件的后綴,這里默認(rèn)使用jks也可以;
alias_name是別名,也是自定義的。

生成簽名.jpg
注意注意:
問是否正確的時(shí)候要回答中文'是',一開始傻乎乎回答'yes'結(jié)果沒反應(yīng) (╯‵□′)╯︵┻━┻

4.如何打包的時(shí)候自動(dòng)簽名
在工程目錄/platforms/android目錄新建名為release-signing.properties的文件,文件內(nèi)容如下

storeFile=path to keystore
keyAlias=your key alias
storePassword=your store password
keyPassword=you key password

使用ionic build android --release編譯即可,在/platforms/android/build/outputs/apk下就會(huì)生成已簽名的安裝包android-release.apk

在windows下storeFile文件路徑應(yīng)使用Unix下的目錄分隔符/。

5.--prod的優(yōu)化打包體積
在編譯命令的最后加上--prod會(huì)讓app的啟動(dòng)速度加快。
ionic build android --release --prod
無論是debug版本還是release版本都適用。

浪蕩不羈 回答

原因有多種

  1. debug打包配置和release的不同
  2. 打包的時(shí)候沒有關(guān)掉監(jiān)控(新添加的靜態(tài)資源沒有鏈接到)
  3. 加入了需要的Link 的原生模塊
  4. node_moudle的問題 需要?jiǎng)h掉重裝
  5. 微信等第三方模塊的調(diào)試模式和生產(chǎn)模式帳號(hào)沒有分開

暫時(shí)想到這么多

辦法肯定是有的,但是代碼你得自己寫.

你需要實(shí)現(xiàn)自定義的 RNModule 來將 JS 層的命令傳遞到 Native 層. 然后執(zhí)行命令.
這其實(shí)是 RN 的基本思路.

陌離殤 回答

config 文件夾的 index.js,修改 build 配置項(xiàng):

module.exports = {
    dev: {
        // ...
        assetsSubDirectory: 'static',
        assetsPublicPath: '/',
        // ...
    },
    build: {
        // ...
        assetsRoot: path.resolve(__dirname, '../../dist'),
        assetsSubDirectory: 'static',
        assetsPublicPath: `${settings.cdn}/`,
        // ...
    }
}
撿肥皂 回答

你把你自己自定義組件里面按鈕的事件拋出去給activity界面處理不就行了。

愿如初 回答

已經(jīng)自行解決,原來是打包后的應(yīng)用程序的獲取后端數(shù)據(jù)的接口地址應(yīng)該改成局域網(wǎng)的ip

貓小柒 回答

一般來說 Android Studio 會(huì)自動(dòng)安裝 Android SDK,如果出現(xiàn)如題這種情況,很有可能是代理設(shè)置的問題,改成全局代理或者使用 VPN,這時(shí)候應(yīng)該就可以正常下載 SDK 了。

九年囚 回答
我推薦你用RN,只要會(huì)react就能很快上手,而且組件庫很豐富,開源項(xiàng)目也多可以參考。最重要的是性能相比inoic這類混合應(yīng)用要好很多。

這應(yīng)該是標(biāo)準(zhǔn)答案了,但是有意義嗎?如果我說RN不好,你就不去嘗試嗎?

他們?nèi)吒饔袃?yōu)缺點(diǎn),重要的是哪個(gè)適合你,而不應(yīng)該取決于是否有”坑“。

  • 不會(huì)vue的人覺得weex坑很多
  • 不會(huì)react的人覺得RN坑多

但本質(zhì)上,它們都只是工具,工具就是拿來用的,你不試試,怎么知道哪個(gè)順手?

笨笨噠 回答

xml是item的布局吧?
是不是EasySwipeMenuLayout的onclick或者ontouch方法,return true,把點(diǎn)擊事件攔截了?

過客 回答

這和listview的加載模式是一樣的,設(shè)置了變動(dòng)的一定記得給未設(shè)置的也設(shè)置數(shù)據(jù),比如:你設(shè)置第一條未藍(lán)色,那么其他要設(shè)置黑色,不要因?yàn)槟J(rèn)是黑色就不設(shè)置了。

listview和RecyclerView都是可見刷新的模式,比如這個(gè)文章的說法:
https://www.2cto.com/kf/20160...

官方在早期listview的時(shí)代有做過相關(guān)分享,可能是2014年的時(shí)候,不可考,大致清楚為什么,然后解決的方式就比較簡單了,總得來說就是對(duì)所有的項(xiàng)目都要記錄數(shù)據(jù)用以對(duì)展示進(jìn)行判斷。如果不記錄就會(huì)出現(xiàn)錯(cuò)亂,因?yàn)槭遣季謴?fù)用的方式。

陌顏 回答

開發(fā) android 務(wù)必使用 Android Studio
這是官方唯一支持的IDE