安卓开发错误笔记

 1.对没有赋值的控件注册事件是会引发运行时错误,并且编译器编译过程中不会报错
2.两个String 类型的对象变量进行比较时不能使用“==”应该使用.equals()方法
3.{"d":0}类似于这样的才是json 
4.能阻塞的操作不能放在UI线程中,需要单独一个线程操作 
5.线程和UI线程通讯需要用Handler进行 ,期间UI线程对应的类,必须包含CallBack接口 
6.继承类用extens 继承接口用implements 
7.String 为null时不能参与equals比较,会崩死程序  
8.未添加权限会崩死程序 ,这时需要注意logcat的报错
9.findViewById会返回null这时也会崩死程序,一般返回null是find了一个不是当前布局文件里的id 
10.酷狗音乐会占用eclipse的端口,所以要先打开eclipse才能打开酷狗,要不然需要经常注销才能解决adb need restart的问题
11.引入外部包时,一定要注意是否还有其他类似 什么 x86 arm64 armeabi mips 等的文件夹,要一起复制到项目的libs下才能运行不出错
12.如果参数是需要上下文环境的话,尽量传递此窗口的类名.this 尽量少的使用getApplicationContext()来当参数
13.TLV中L格式给hex,仅对8583报文
14.activity之间传递自定义数据,需要implements Serializable或者Parcelable接口 
可以用bundle putSerializable(String,Serizlizable)数据或者直接用intent putExtrr(String,Serizlizable)数据。 
我有一个需求需要传递多个自定义类型数据,于是我写了一个数据类Value把我需要的那些自定义数据封装了起来,这个类实现了Serizlizable接口。但是在putExtra的时候出现了错误。 

后来我发现要想在Activity之间传递数据必须所有的内容都实现serializable接口才行,而我的Value中封装的一个自定义类型数据没有实现这个接口,所以出现了错误。 
之后我让那个自定义类型实现了serializable接口就没有问题了。

用来serializable的类中包含Drawable必定失败
 
 

猜你喜欢

转载自blog.csdn.net/zhengjian1996/article/details/112918476