摘要: 1.getRawX、getRawY与getX、getY的区别在编写android的自定义控件,或者判断用户手势操作时,往往需要使用MotionEvent中的getRawX()、getRawY()与getX()、getY()取得触摸点在X轴与Y轴上的距离,这四个方法都返回一个float类型的参数,单位... 阅读全文
posted @ 2015-06-15 15:52 残阳破晓 阅读(9771) 评论(0) 推荐(1) 编辑
摘要: 之前我遇到过这样的需求,要求在ListView中按时间对数据分栏,当时的做法是在每个ListView的item中加入时间栏的布局,然后在代码中控制时间栏的显示与隐藏。但其实重写Adapter两个方法后就可以完成这个任务,当ListView中带有不同布局的时候,可以根据itemType来加载不同的布局... 阅读全文
posted @ 2014-12-02 23:41 残阳破晓 阅读(977) 评论(0) 推荐(2) 编辑
摘要: 由于之前对于android的事件传递机制不了解,今天正好不忙,赶紧抽出时间来理一下这方面的知识,本文结合demo,对android的事件传递机制进行分析。在事件传递过程中,离不开以下三个方法:1.dispatchTouchEvent分发touchEvent,返回值为true时表示TouchEvent... 阅读全文
posted @ 2014-11-24 17:41 残阳破晓 阅读(1352) 评论(0) 推荐(0) 编辑
摘要: AIDL(AndroidInterfaceDefinitionLanguage),可实现进程间的通信,并且允许多线程访问。(如果需要进程间通信,又不需要处理多线程访问,那么使用Messenger的方式更为合适),实现AIDL,需要以下几个步奏。1.定义AIDL接口AIDL接口使用后缀名为.aidl的... 阅读全文
posted @ 2014-11-13 22:33 残阳破晓 阅读(1213) 评论(0) 推荐(0) 编辑
摘要: Messenger,信使,可使用它进行进程间的通信,而Messenger对Service的请求采用队列的方式,因此它不支持多线程通信。看看官方文档对于Messenger的解释:ReferencetoaHandler,whichotherscanusetosendmessagestoit.Thisal... 阅读全文
posted @ 2014-11-12 13:02 残阳破晓 阅读(3452) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍Android如何接收短信,流程分为两个部分,Framework层和App层。Framework层:短信的接收,Framework部分处理的顺序是RIL->SMSDispatcher->GsmSMSDispatcher/CdmaSMSDispatcher->SMSDispatcher。当短信到Framework层之后,会首先启动RIL中的RILReceiver去接收短信,在RILReceiver中使用LocalSocket去读短信,然后把读到的短信放在一个Parcel对象中,然后调用processResponse(Parcelp)去处理,processRespon 阅读全文
posted @ 2013-09-10 21:52 残阳破晓 阅读(2282) 评论(0) 推荐(0) 编辑
摘要: 之前的工作涉及到SIM卡的UCS2编码,需要将字符用81格式编码,在网上找了许多资料,结合自己的研究,现和大家一起分享。本文主要介绍如何获得字符的80,81,82格式编码,代码在andoid平台上测试,成功存储联系人信息并成功解码。由于有些东西是自己研究所得,难免会有错误,如有不实的地方,欢迎批评指正。解码文件及方法:frameworks/base/telephony/java/com/android/internal/telephony/uicc/IccUtil.java的adnStringFieldToString()方法。什么是UCS2编码?UCS2(UnicodeCharacterSe 阅读全文
posted @ 2013-06-12 22:57 残阳破晓 阅读(977) 评论(0) 推荐(1) 编辑