Android 编程遇到的一点记录

来源:互联网 发布:郭德纲 人品 知乎 编辑:程序博客网 时间:2024/06/06 03:48

1: android:targetSdkVersion=“17”

有时会导致mqtt 无法接收消息;listview刷新是会有黑色背景,这个时候listview的属性中在    android:layout_above="@+id/XXX"  之后添加android:cacheColorHint="@null"

2:百度地图API

libs中不只是.jar 还有armeabi中的so文件,如果缺少.so文件会导致产生一种情况 ,很长时间无法获得gps坐标或者获取的坐标 为4.9e-324

3:service

service 不存在的时候 先调用oncreat()再调用onstrart()(android 2.0之前) 或者 onStartCommand()(android 2.0之后),存在的话再次开启会直接调用onstrart()(android 2.0之前) 或者 onStartCommand()(android 2.0之后)

4:ScrollView 滑动有关

在输入的时候一个页面有时候显示不完全,需要上下滑动, android:windowSoftInputMode="stateAlwaysHidden"  软键盘显示的时候可以从页面顶部滑到底部而不需要隐藏软键盘

5:ExpandableListView的setOnItemLongClickListener长按事件的监听,poison=参数-组别位置-1

6:listview中itemClick与其他点击事件的冲突,可以设置其他点击事件setFocusable属性或者android:focusable="false"

7:混淆工程加密,编译时 遇到jar的变化 时proguard-project.txt 和 project.properties

假如清空jar包时,debug 通过 打包时找不到jar 可以考虑 在proguard-project.txt 和 project.properties查找

8: 当 ScrollView 或者 viewgroup 的子控件有自己的滑动事件或者是触摸事件做处理,这个时候子控件会滑动或者处理不畅,可以这样处理,在子控件中的

dispatchTouchEvent方法中 添加getParent().requestDisallowInterceptTouchEvent(true);  加上这一句表示子控件自己处理 onTouch事件 不需要父控件进行处理。

9:有时候在混淆文件时,当有第三方库的时候要假如一些避免混淆的类,以免调试时正常,运行时内存溢出

10:第三方到导入的时的坑

a:Error:Execution failed for task ':app:transformClassesWithJarMergingForHezongDebug'. com.android.build.api.transform.TransformException: java.util.zip.ZipException:duplicate entry:  包冲突,几个第三方库导入的相同的类,如友盟的分享以及对微信qq微博等

b:Couldn't load qalcodecwrapper from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/包名.apk", zip file "/data/data/包名/code_cache/secondary-dexes/包名-1.apk.classes2  新建armeabi-v7a


0 0