Android應(yīng)用開發(fā)一句話經(jīng)驗

這篇文章會記錄我在項目開發(fā)過程中遇到的一些值得記錄的簡短知識點或經(jīng)驗,有些內(nèi)容會比較基礎(chǔ),大佬請略過。這篇文章會持續(xù)不定時更新。

1. 如何修改應(yīng)用名稱?

  • 修改 AndroidManifest.xml 文件中 application 標(biāo)簽的 label 屬性,這里修改的是應(yīng)用安裝界面上顯示的應(yīng)用名稱,也是應(yīng)用市場顯示的應(yīng)用名稱;
  • 修改 AndroidManifest.xml 文件中主 Activity( action 為 main 的 Activity ) 標(biāo)簽的 label 屬性,這里修改的是應(yīng)用的桌面快捷方式中顯示的名稱。

2. 在 Retrofit 中,如何控制一個參數(shù)傳或不傳?

如果你不想傳某個參數(shù),可以給參數(shù)賦值 null,Retrofit 會自動過濾掉值為 null 的參數(shù),不添加到參數(shù)列表里。

3. TabLayout 如何設(shè)置下劃線寬度自適應(yīng)標(biāo)題寬度?

在版本號28以上的 support design 庫中,Google 添加了一個屬性 app:tabIndicatorFullWidth ,設(shè)置為 false 則可以自適應(yīng)標(biāo)題寬度。

4. Android v2 應(yīng)用簽名

v1簽名是對jar進(jìn)行簽名,v2簽名是對整個apk簽名。
官方介紹就是:v2簽名是在整個APK文件的二進(jìn)制內(nèi)容上計算和驗證的,v1是在歸檔文件中解壓縮文件內(nèi)容。
新的v2模式簽名機(jī)制提醒我們在v2簽名之后,對apk本身做任何改動都會導(dǎo)致校驗不通過的情況,導(dǎo)致在android 7.0以及之上都會安裝不成功。
只使用 v2簽名的應(yīng)用在 Android7.0 以下系統(tǒng)會安裝失敗,提示“找不到安全證書”;在 Android7.0以上的系統(tǒng)則沒問題。
只用 v1 簽名的應(yīng)用在全部版本系統(tǒng)都沒問題

  • 一定可行的方案: 只使用 v1 方案
  • 不一定可行的方案:同時使用 v1 和 v2 方案
  • 對 7.0 以下一定不行的方案:只使用 v2 方案

5. Retrofit提交數(shù)組參數(shù)

Retrofit 提交數(shù)組類型的參數(shù)時,參數(shù)的鍵名必須加上 "[]", 否則會被認(rèn)為是同名參數(shù)然后只傳數(shù)組中的一個值。

@FormUrlEncoded
@POST("follows")
fun followUsers(@Field("uid") uid: Int, @Field("follow_uid[]") uidList: List<Int>): Flowable<SimpleResp>

6. Glide 加載 gif 圖片并播放一次

Glide.with(activity).load(R.drawable.gif_get_gold_coin).into(object : SimpleTarget<Drawable>() {
    override fun onResourceReady(drawable: Drawable, transition: Transition<in Drawable>?) {
        if (drawable is GifDrawable) {
            drawable.setLoopCount(1)
            mIvGoldCoin.setImageDrawable(drawable)
            drawable.start()
        }
    }
})

7. 解決 ScrollView 嵌套 Recyclerview 時, 列表顯示不全的問題

  1. 測試單獨不嵌套時recyclerview是否可以正常顯示完所有的數(shù)據(jù)
  2. recyclerview建議設(shè)置 android:minHeight ="xxxxxx"
  3. ScrollView 的高度設(shè)置match_parent
  4. 在ScrollView 中加入 android:fillViewport="true"
  5. 如果還是無法顯示,換成NestScrollView 替換ScrollView測試

8. APP crash之后如何在 Android Studio 中查看崩潰日志?

選擇 DEAD 進(jìn)程即可看到崩潰時的 log


查看應(yīng)用崩潰日志

9. 去掉 Button 控件的默認(rèn)邊距

android:minHeight="0dp"

只要在按鈕的xml標(biāo)簽里加上這么一句話就行了

10. String 的 trim 方法

該方法的注釋說明是這樣的:

Returns a copy of the string, with leading and trailing whitespace omitted.

所以該 trim 方法只會去除字符串頭部和尾部的空格,想去除字符串中間空格不適用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容