android笔记之碎碎念

来源:互联网 发布:linux 设置命令别名 编辑:程序博客网 时间:2024/05/19 04:05

1.主线程又被成为UI线程,只有在主线程中才能刷新UI

主线程有一个消息队列、消息轮询器和消息处理器,消息处理器需要开发人员自己编写,在子线程需要调用UI时就往消息队列添加消息,主线程的轮询器就会查询消息队列,并调用消息处理器处理消息

当子线程获取网络资源时,主线程还会继续执行,这时子线程也许还没有获得所请求的资源,这时主线程如果需要用到子线程的所获得的资源,就有可能得不到,报空指针错误。
所以在子线程中要向主线程发送消息,并在主线程的消息处理函数中执行用到子线程资源的那段主线程的代码。

2.Listview的每个条目都是一个View
getView(int position, View convertView, ViewGroup parent)
Position:Listview调用的条目在整个条目的位置就是position的值。
convertView:缓存的条目。
ViewGroup :父元素,是View的子类,有五种布局类型,ViewGroup 可以有子元素,而View没有。

3.让系统的环境不再去敏感横竖屏的切换。 android:configChanges=”orientation|screenSize|keyboardHidden”
横竖屏写死
android:screenOrientation=”landscape”
android:screenOrientation=”portrait”

4.Eclipse启动时出现下列错误:reg.eclipse.core.resources”
Problems occurred when invoking code from plug-in: “org.eclipse.core.resources”
解决方案是:给工作空间改个名

5.
这里写图片描述
必须有data,不然无法接受sd卡广播,因为sd卡本来就带有data
开机启动权限:
这里写图片描述
应用被安装:android.intent.action.PACKAGE_ADDED
应用被更新:android.intent.action.PACKAGE_REPLACED
应用被卸载:android.intent.action.PACKAGE_REMOVED
SD卡可用:android.intent.action.MEDIA_MOUNTED
SD卡拔出:android.intent.action.MEDIA_REMOVED
SD卡不可用:android.intent.action.MEDIA_UNMOUNTED

6.startService()启动的服务所属的进程属于服务进程
Activity启动服务后,服务就自动运行,此时服务不再依赖activity,activity关掉也没事,服务已经启动了。

bindService()绑定的服务所属的进程不属于服务进程
Activity与服务建立连接,activity一旦死亡,服务也会跟着死亡
如果bindService()调用后,直接从activity返回,没有解绑,就会出现下列错误:
这里写图片描述
这个错误是系统自动显示的错误,系统会继续向下执行,处理这个错误,而不会停止
这里写图片描述
bindService()时,解绑时,使用一次unbindService()解绑就可以,如果再次解绑就会出现下列服务没有注册异常,因为之前服务已经被解绑了。
这里写图片描述
服务执行的顺序:先开始后绑定,先解绑再停止

7.
这里写图片描述
上述错误出现的原因是第一个OnClickListener已经引用下述包名(import android.view.View.OnClickListener;),而第二个OnClickListener则需要引用包import android.content.DialogInterface.OnClickListener;这就导致无法判断到底引用哪个包,会有命名冲突。
这里写图片描述
解决方法是:
在第二个OnClickListener使用时指定具体所引用接口
这里写图片描述

8
当对listview中具体的view(如 textview、imageview等)实现监听而不是整个listview时,可以在adapter中的getview对具体view设置监听,如下图所示:
这里写图片描述

9. 在建立项目中一般会默认建立assets文件,当然我们还可以在res文件下面建立raw文件夹,这里面都可以存放一些图片,音频或者文本信息,可以供我们在程序当中进行使用,不过他们两个也有不同点;
assets下面的文件不会被编译,通过路径可以去访问其中的内容。raw中文件会自动编译,我们可以在R.java文件中找到对应的ID
获取到Assets和Raw文件夹中的资源方法:
Assets:AssetManager assetManager = getAssets();
Raw: InputStream inputStream = getResources().openRawResource(R.raw.demo);

10.在使用achartengine画柱形图时,可以使用setBarwWdth()来设置柱形的宽度
renderer.setMarginsColor(Color.WHITE);可以设置柱形图周围的margin背景颜色(这里设置成白色)

11.当引入夏普名片识别代码时,出现native method not found 错误。而夏普名片识别的源程序运行正确,在导入自己的工程中却报错。原因在于调用的本地native 方法的包名与libnamecardrec.so中的包名不一致,导致无法找到 libnamecardrec.so中对应的本地native 方法,可以做个实验证明,在夏普名片识别的源程序改变cn.sharp.android.ncr.ocr.OCRManager的包名时,不允许修改,出现下列警告信息:
这里写图片描述
说明在libnamecardrec.so中本地native的包名已经被写死了,我们也无法修改,因为看不到libnamecardrec.so中的c源码,或许反编译能得到源码呢。。。这样,我的解决办法就只能在自己的工程建立一个和夏普名片识别源码中一样的包名,把本地方法所在的类移植到此包下,这是夏普在打广告吗?
这里写图片描述

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 大学生职业规划前言 职业生涯规划书前言怎么写 大学生职业生涯规划书前言 莫愁前路无知己 前路漫漫 前路漫漫雨纷纷谁在痴痴等 客路青山外行舟绿水前 前路漫漫未来可期意思 漫漫前路 天安门前的路 前路漫漫雨纷纷 前路漫漫其修远兮 昂然踏着前路去 前路漫漫的下一句 广州站前路 站前路 前路 东岚路 临崖路 亚哈路 让我们一起闯荡不管前路何方 超级无敌皇帝系统 落花前路 跆拳道前踢动作要领 走过南闯过北天安门前踢过腿 跆拳道基本动作-前踢 自行车前轴 汽车前轴 前轴 驱动轴 纵轴 太轴 地轴 轴的基本偏差 旁轴 垂直轴 前辈女朋友 前辈女友 前辈的朋友 前辈的女友 前辈