
android
文章平均质量分 65
haliluya4
这个作者很懒,什么都没留下…
展开
-
利用PreferenceActivity简化首选项的设计
目前Android手机上的应用,大部分都带有设置功能,即在里面选择一些本应用的自定义设置,便于用户的定制化。 但如果自己写一个Activity来实现,未免过于复杂,而且浪费时间。 Android框架已经为我们提供了一个简单的方式来实现设置页面,即使用PreferenceActivity。 首先,在res/xml下新建一个preference.xml文件,用于定义首选项页面的布局。<?x...2011-09-27 10:32:25 · 160 阅读 · 0 评论 -
图片缓存(源于SDK文档)
接着之前的《一种异步加载资源的方法(源于SDK文档)》,SDK文档在《Caching Bitmaps》中介绍了内存缓存与磁盘缓存的使用。大家都知道,现在的手机屏幕分辨率是越来越大了,虽然之前我们介绍了异步加载图片的方法。但要知道,一个应用可用的内存是有限的。我们不可能将所有的内存都用来存储图片,也不可能为了内存而每次取图片时都上网下载(流量费是很贵滴,而且下载也很耗电啊)。因此,对于已下...2013-08-25 22:53:37 · 174 阅读 · 0 评论 -
一种异步加载资源的方法(源于SDK文档)
今天闲着有空,看了下SDK文档,发现里面有一篇《Processing Bitmaps Off the UI Thread》中特地介绍了异步加载图片的思路。特地记录一下。大家都知道,加载图片是很费时的,尤其是从磁盘或网络上获取的时候。因此,我们在设计程序时,往往将加载操作放到一个异步任务(线程)里去执行。大致程序是这样的:首先,我们会定义一个异步任务,传入一个View对象。当加载完...2013-08-22 23:38:07 · 393 阅读 · 0 评论 -
Android Dimension转换算法原理分析
最近在做深度主题,要实现类似小米那种在主题包中设置dimension值,然后在系统中替换原值的功能。特地研究了一下Android系统中dimension类型的值的存储方式以及相关的转换算法。 在Android中,我们可以在values文件夹中定义各种资源,其中有一种就是dimension。dimension是一个包含单位(dp、dip、sp、pt、px、mm、in)的尺寸,可以...原创 2013-08-21 23:20:44 · 309 阅读 · 0 评论 -
[转]URLConnection和HTTPClient的比较
转自http://blog.sina.com.cn/s/blog_6610da3901012doz.htmlA Comparison of java.net.URLConnection and HTTPClientSince java.net.URLConnection and HTTPClient have overlappingfunctionalities, the questio...原创 2014-01-16 16:03:19 · 193 阅读 · 0 评论 -
App Widget学习笔记
App Widget是一种可以被放在其他应用中(如Launcher)并接收周期性更新的应用视图。这些视图在UI上就表现为Widget,并且你可以同App Widget Provider一起发布。对于能够包含其他App Widget的应用程序组件,称为App Widget Host。基本信息要创建一个App Widget,你需要完成以下步骤:lAppWidgetProvid...2013-01-06 09:47:54 · 203 阅读 · 0 评论 -
Android获取可执行应用的列表并执行相关应用
要获取可执行应用的列表(Launcher点中间键后进入看到的那个),就需要用到PackageManager。首先,使用PackageManager解析列表PackageManager pm = getPackageManager();// 解析所有可执行的应用Intent it = new Intent(Intent.ACTION_MAIN);it.addCategory(...原创 2012-08-09 17:19:11 · 141 阅读 · 0 评论 -
Android使用代码实现关机/重启
主要思路来自网络! 1、需要源码才能编译 2、修改项目的Android.mk文件,添加LOCAL_CERTIFICATE := platform 3、AndroidManifest.xml中添加权限 3.1 manifest标签中添加 android:sharedUserId="android.uid.system" 3.2 使用权限 ...原创 2012-08-09 12:26:13 · 240 阅读 · 0 评论 -
Android MMS模块数据存取
数据表MMS模块总共包含17张表:addr、android_metadata、attachments、canonical_addresses、drm、part、pdu、pending_msgs、rate、raw、sms、sr_pending、threads、words、words_content、words_segdir、words_segments。其中,pending_msgs表用...2012-02-15 09:02:00 · 188 阅读 · 0 评论 -
Android短信编解码方式
Android短信编码在Framework层实现。对于普通短信,其SmsHeader部分为空。Gsm:Gsm中,对于长短信,使用了SmsHeader类进行描述。SmsHeader.ConcatRef描述了长短信的refNumber(对于同一个短信,相同,使用SmsDispatcher.getNextConcatenatedRef方法获取一个索引值,将其或上0x00FF),seqNu...2011-12-01 19:18:16 · 327 阅读 · 0 评论 -
Activity学习
基础用法:继承Activity类,重写onCreate方法。其中,先调用父类的onCreate,再指定界面布局文件每个Activity均需要在AndroidManifeste.xml中注册哪个Activity配置了intent-filter,就成为该应用启动时执行的Activity是Context的子类生命周期:不在前台时,pause;转到前台,resume;不可见,stop;重新...原创 2011-08-08 10:36:18 · 95 阅读 · 0 评论 -
Android目录结构学习
src 源代码gen 自动生成的资源文件,所有在res目录中存放的资源都会在R.java中自动生成资源id,方便程序中调用asserts 资源目录,该目录中的文件不会生成idres 资源目录,会自动生成idres/drawable-xdpi 总共三个文件夹,根据分辨率不同,分别存放不同分辨率下的图标文件,系统会自动根据当前分辨率选择相应资源res/layout 界面布局文件,可...2011-08-08 10:24:55 · 85 阅读 · 0 评论 -
Android短彩信收发流程(Framework)
短信部分:短信的发送,Framework部分从SmsManager的sendTextMessage(普通短信,无分段)与sendMultipartTextMessage(长短信,已分段)开始,一直到RIL。主要涉及到的类有。SmsManager、Isms、IccSmsInterfaceManager、SMSDispatcher、ImsSMSDispatcher、GsmSMSDispatcher...2011-10-27 17:10:17 · 385 阅读 · 0 评论 -
Android短彩信收发流程(应用层)
下图为ComposeMessageActivity中confirmSendMessageIfNeeded部分的信息发送流程。主要以接收者有效性的确认为主,然后转向sendMessage方法进行发送。 ComposeMessageActivity.sendMessage从下图可以看出,在这个方法中,主要做的事是确认手机状态的有效性。最终调用WorkingMessage的send方法进行信息...2011-10-27 16:57:32 · 288 阅读 · 0 评论 -
Service与AIDL学习小结
一个Service,从本质上来说,可以有两种形式。 1、 通过startService()启动。这种情况下,该Service与启动它的组件是完全独立的,即使组件被销毁,Service仍会继续,不会自动结束,而且通常情况下不返回任何结果。因此,应在Service执行完毕后调用stopSelf(int)(最好用带参数的,防止一个Service被多个组件请求的情况下,把还在执行的请求结束了)或其他组件...原创 2011-09-28 14:40:39 · 188 阅读 · 0 评论 -
Android4.0 Launcher拖拽原理分析(一)
在Android4.0源码自带的Launcher中,拖拽是由DragController进行控制的。基本流程是相应的View在检测到用户操作后进行判断,若可以触发拖拽,则设置自身的相应状态,然后将待拖拽对象的Bitmap对象、当前位置、拖拽源、待拖拽对象等信息传给DragController的startDrag方法启动拖拽。接下来,DragLayer的onInterceptTouchEve...原创 2013-08-29 23:30:50 · 215 阅读 · 0 评论