自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 [转]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 163

原创 Android4.0 Launcher拖拽原理分析(一)

在Android4.0源码自带的Launcher中,拖拽是由DragController进行控制的。基本流程是相应的View在检测到用户操作后进行判断,若可以触发拖拽,则设置自身的相应状态,然后将待拖拽对象的Bitmap对象、当前位置、拖拽源、待拖拽对象等信息传给DragController的startDrag方法启动拖拽。接下来,DragLayer的onInterceptTouchEve...

2013-08-29 23:30:50 174

图片缓存(源于SDK文档)

接着之前的《一种异步加载资源的方法(源于SDK文档)》,SDK文档在《Caching Bitmaps》中介绍了内存缓存与磁盘缓存的使用。大家都知道,现在的手机屏幕分辨率是越来越大了,虽然之前我们介绍了异步加载图片的方法。但要知道,一个应用可用的内存是有限的。我们不可能将所有的内存都用来存储图片,也不可能为了内存而每次取图片时都上网下载(流量费是很贵滴,而且下载也很耗电啊)。因此,对于已下...

2013-08-25 22:53:37 133

一种异步加载资源的方法(源于SDK文档)

今天闲着有空,看了下SDK文档,发现里面有一篇《Processing Bitmaps Off the UI Thread》中特地介绍了异步加载图片的思路。特地记录一下。大家都知道,加载图片是很费时的,尤其是从磁盘或网络上获取的时候。因此,我们在设计程序时,往往将加载操作放到一个异步任务(线程)里去执行。大致程序是这样的:首先,我们会定义一个异步任务,传入一个View对象。当加载完...

2013-08-22 23:38:07 363

原创 Android Dimension转换算法原理分析

最近在做深度主题,要实现类似小米那种在主题包中设置dimension值,然后在系统中替换原值的功能。特地研究了一下Android系统中dimension类型的值的存储方式以及相关的转换算法。 在Android中,我们可以在values文件夹中定义各种资源,其中有一种就是dimension。dimension是一个包含单位(dp、dip、sp、pt、px、mm、in)的尺寸,可以...

2013-08-21 23:20:44 269

原创 强大的数学原理,异或用于字符交换

今天看到一篇有关字符串逆序的各种实现算法的文章,里面有一种不使用临时变量的字符交换算法把我震惊了。 上网搜了下,发现百度百科里就有这么一段:xor运算的逆运算是它本身,也就是说两次异或同一个数最后结果不变,即(a xor b) xor b = a。 x <- x # yy <- x @ yx <- x @ y执行了第一句后x变成了x # y。那...

2013-04-26 16:01:04 261

原创 五种开源协议(GPL,LGPL,BSD,MIT,Apache)(转)

转自http://www.cnblogs.com/likebeta/archive/2012/06/21/2558180.html什么是许可协议?什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限。不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放...

2013-04-24 15:05:04 170

App Widget学习笔记

 App Widget是一种可以被放在其他应用中(如Launcher)并接收周期性更新的应用视图。这些视图在UI上就表现为Widget,并且你可以同App Widget Provider一起发布。对于能够包含其他App Widget的应用程序组件,称为App Widget Host。基本信息要创建一个App Widget,你需要完成以下步骤:lAppWidgetProvid...

2013-01-06 09:47:54 166

原创 Android获取可执行应用的列表并执行相关应用

要获取可执行应用的列表(Launcher点中间键后进入看到的那个),就需要用到PackageManager。首先,使用PackageManager解析列表PackageManager pm = getPackageManager();// 解析所有可执行的应用Intent it = new Intent(Intent.ACTION_MAIN);it.addCategory(...

2012-08-09 17:19:11 115

原创 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 214

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 160

Android短信编解码方式

Android短信编码在Framework层实现。对于普通短信,其SmsHeader部分为空。Gsm:Gsm中,对于长短信,使用了SmsHeader类进行描述。SmsHeader.ConcatRef描述了长短信的refNumber(对于同一个短信,相同,使用SmsDispatcher.getNextConcatenatedRef方法获取一个索引值,将其或上0x00FF),seqNu...

2011-12-01 19:18:16 281

Android短彩信收发流程(Framework)

短信部分:短信的发送,Framework部分从SmsManager的sendTextMessage(普通短信,无分段)与sendMultipartTextMessage(长短信,已分段)开始,一直到RIL。主要涉及到的类有。SmsManager、Isms、IccSmsInterfaceManager、SMSDispatcher、ImsSMSDispatcher、GsmSMSDispatcher...

2011-10-27 17:10:17 316

Android短彩信收发流程(应用层)

下图为ComposeMessageActivity中confirmSendMessageIfNeeded部分的信息发送流程。主要以接收者有效性的确认为主,然后转向sendMessage方法进行发送。  ComposeMessageActivity.sendMessage从下图可以看出,在这个方法中,主要做的事是确认手机状态的有效性。最终调用WorkingMessage的send方法进行信息...

2011-10-27 16:57:32 226

原创 Service与AIDL学习小结

一个Service,从本质上来说,可以有两种形式。 1、 通过startService()启动。这种情况下,该Service与启动它的组件是完全独立的,即使组件被销毁,Service仍会继续,不会自动结束,而且通常情况下不返回任何结果。因此,应在Service执行完毕后调用stopSelf(int)(最好用带参数的,防止一个Service被多个组件请求的情况下,把还在执行的请求结束了)或其他组件...

2011-09-28 14:40:39 157

利用PreferenceActivity简化首选项的设计

目前Android手机上的应用,大部分都带有设置功能,即在里面选择一些本应用的自定义设置,便于用户的定制化。 但如果自己写一个Activity来实现,未免过于复杂,而且浪费时间。 Android框架已经为我们提供了一个简单的方式来实现设置页面,即使用PreferenceActivity。 首先,在res/xml下新建一个preference.xml文件,用于定义首选项页面的布局。<?x...

2011-09-27 10:32:25 137

原创 Activity学习

基础用法:继承Activity类,重写onCreate方法。其中,先调用父类的onCreate,再指定界面布局文件每个Activity均需要在AndroidManifeste.xml中注册哪个Activity配置了intent-filter,就成为该应用启动时执行的Activity是Context的子类生命周期:不在前台时,pause;转到前台,resume;不可见,stop;重新...

2011-08-08 10:36:18 72

Android目录结构学习

src 源代码gen 自动生成的资源文件,所有在res目录中存放的资源都会在R.java中自动生成资源id,方便程序中调用asserts 资源目录,该目录中的文件不会生成idres 资源目录,会自动生成idres/drawable-xdpi 总共三个文件夹,根据分辨率不同,分别存放不同分辨率下的图标文件,系统会自动根据当前分辨率选择相应资源res/layout 界面布局文件,可...

2011-08-08 10:24:55 66

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除