Android 學(xué)習(xí)筆記-錯誤日志

  • 以下的錯誤的筆記是我在實際開發(fā)中遇到的一些個錯誤,目的是提高自己的水平,有些錯誤是挺簡單的但有時候在使用的時候沒有注意就造成了錯誤,如果有錯誤的地方請指正,謝謝。

創(chuàng)建一個application不能忘記在mainfest文件里面申明


Realm數(shù)據(jù)庫的javabean不能少了無參構(gòu)造方法,并且不能重寫toString的方法

在RecycleView 中HorizontalScrollView無法設(shè)置點擊事件,只能是子布局可以。 

使用dagger2引入
compile 'com.google.dagger:dagger:2.0.2'
apt 'com.google.dagger:dagger-compiler:2.0.2'
compile 'org.glassfish:javax.annotation:10.0-b28'

apply plugin: 'com.neenbedankt.android-apt'

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

使用dagger2的module的提供方法必須以provide開頭
使用dagger2 DaggerRetrofitComponent.builder().retrofitModule(new RetrofitModule()).build();
如果new RetrofitModule()中沒有參數(shù)可直接寫成

ViewPager : 
setOffscreenPageLimit(count); 這個方法是viewpager保留多少個頁面

使用butterknife如果控件找不到可以再前加一個optional的注解
ButterKnife.png

 在使用注解的時候,注入前對象是空的,注入之后對象才不為空,不能在注入之前讓對象調(diào)用方法,應(yīng)該在注入后調(diào)用方法。
ToolBar.png
popwindow點擊外面消失setOutSideTouchable(true)一定要設(shè)置在showAtLocation之前否則點擊外面沒有反應(yīng)
PopupWindow.png
popwindow在activity之外showAtLocation,或者是在Activity的onCreate()函數(shù)里面調(diào)用了showAtLocation
會出現(xiàn)異常unable to add window -- token null is not valid;is your activity running?

 xml布局文件中加了onClick屬性在代碼中添加OnclickListener會讓按鈕第一次點擊失效

https://github.com/jiang111/awesome-android-tips 一些小知識以及一些錯誤的信息

recyclerview 的 Layoutmanager 可以直接申明在 xml 中,具體代碼可查看RecyclerView.createLayoutManager 方法
Recyclerview在布局文件中設(shè)置LayoutManager.png
Recyclerview設(shè)置的styable樣式.png
開發(fā)過程一般用這種進行預(yù)覽.png
MarkDown高亮代碼塊.png

Android Data Binding中的ViewModel是根據(jù)layout自動生成的Binding類,  
如果layout的名稱是movie_item.xml,生成的Binding類名稱就是MovieItemBinding。

RxJava操作符
當(dāng)創(chuàng)建Observable流的時候,compose()會立即執(zhí)行,猶如已經(jīng)提前寫好了一個操作符一樣,而flatMap()則是在onNext()
被調(diào)用后執(zhí)行,onNext()的每一次調(diào)用都會觸發(fā)flatMap(),也就是說,flatMap()轉(zhuǎn)換每一個事件,而compose()轉(zhuǎn)換的
是整個數(shù)據(jù)流。

json字符中有null的jsonformat會解析成Object 要將他改成String 類型
gson會轉(zhuǎn)換成Object類型.png

post請求參數(shù)順序不固定

請求參數(shù)Request里頭的數(shù)據(jù)不能寫死,不然每次傳遞參數(shù)都是相同的,數(shù)據(jù)得不到刷新

多個list處理的時候,要細心,list不能寫錯,否則數(shù)據(jù)會異常顯示

linearGradient里面的參數(shù)不能寫成android.R.color下面的顏色,否則無法識別
使用線性漸近色.png

android中的序列化官方推薦Parceble,其實Parceble最好用于內(nèi)存之間數(shù)據(jù)的交換,如果要把數(shù)據(jù)寫入硬盤的話,推薦實現(xiàn)
Serializable接口

tools:text="這段話只在預(yù)覽時能看到,運行以后就看不到了"

6.0之后getResources().getColor()方法被廢棄了,大家可以用ContextCompat.getColor(context, 
R.color.color_name)替換,ContextCompat 是 v4 包里的,請放心使用,另外還有g(shù)etDrawable()等方法

在使用clipChildren使得底部上突,加上一個layout_gravitt=”bottom”可以實現(xiàn)控件上移
    android:ellipsize="end"
    android:maxLength="6"
    這兩個屬性不能同時用,只能顯示下面這個maxLength的效果,ellipsize的效果沒  有出來
一般高度為48dp
Paste_Image.png
Paste_Image.png
 小的圖標(biāo)增加點擊范圍的方法,寬高設(shè)成標(biāo)題欄的最大高度
<ImageView
   android:id="@+id/iv_me_set"
   android:layout_width="48dp"
   android:layout_height="48dp"
   android:scaleType="center"
   android:src="@drawable/icon_me_setting" />

 Viewpager的adapter要重寫
 @Override
public void destroyItem(ViewGroup container, int position, Object object) {
}這個方法,不然第一頁和第二頁會沒有一個跳變的效果 
 內(nèi)存溢出可能的原因是方法重復(fù)調(diào)用導(dǎo)置,相當(dāng)于重復(fù)調(diào)用一個方法

  Recyclerview嵌套要重新計算高度,單個不用嵌套

  Recyclerview設(shè)置不復(fù)用helper.setIsRecyclable(false);

動態(tài)添加一個view的時候,第二個參數(shù)要選要添加的父view否則無法添加成功
addView.png
沒有設(shè)置singleline會導(dǎo)置鍵盤上的發(fā)送按鈕不顯示 
Paste_Image.png

  Singleinstance 切換到桌面回來點返回鍵會切到桌面,改成singletask可以解決問題

  Recyclerview notifisetdatachange對list來說不能賦值操作list = otherlist只能本身進行操作,可以先clear()

 Butterknife使用沒有引用控件要去掉,ButterKnife.bind(this);

Recyclerview 和swiprefreshlayout使用的時候涉及到數(shù)據(jù)清空的操作存在bug解決方案如下

recyclerview和swiprefreshlayout崩潰bug處理.png
List add一個對象的時候不能使用一個全局的變量,會導(dǎo)致list 里面揚有的對象都是同樣的,改了后面的對象,前面的也
會改變的。

    在使用RecycerView過程中
View inflate = mInflater.inflate(R.layout.item_recycler, null, false);//item的布局設(shè)置的match_parent是沒有效果的,第二個參數(shù)要指定父view
View inflate = mInflater.inflate(R.layout.item_recycler, parent, false);//正常的顯示
最后編輯于
?著作權(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)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,094評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評論 19 139
  • View 自定義View中在onDraw()方法中可以設(shè)置padding嗎?答案是不能,設(shè)置padding后,Vi...
    ElvenShi閱讀 2,005評論 0 0
  • 我要你是活的 我的話語有回聲往返 如茫茫蒼穹 星垂長天 那么巨大的空間 那么漫長的時間 沒有星星 天空何來意趣無限...
    靈山閱讀 367評論 0 0
  • 自卑常常以驕傲的面目出現(xiàn)。人的自傲與自卑是一對孿生兄弟,有時候過于自傲反倒說明你是自卑的。
    塵伊3閱讀 129評論 0 0

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