`
haliluya4
  • 浏览: 123447 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论
文章列表
转自http://blog.sina.com.cn/s/blog_6610da3901012doz.html A Comparison of java.net.URLConnection and HTTPClient Since java.net.URLConnection and HTTPClient have overlappingfunctionalities, the question arises of why would you use HTTPClient.Here are a few of the capabilites and tradeoffs. 1.概念       ...
在Android4.0源码自带的Launcher中,拖拽是由DragController进行控制的。 基本流程是相应的View在检测到用户操作后进行判断,若可以触发拖拽,则设置自身的相应状态,然后将待拖拽对象的Bitmap对象、当前位置、拖拽源、待拖拽对象等信息传给DragController的startDrag方法启动拖拽。接下来,DragLayer的onInterceptTouchEvent拦截触屏事件,将其转到DragController的onTouchEvent
接着之前的《一种异步加载资源的方法(源于SDK文档)》,SDK文档在《Caching Bitmaps》中介绍了内存缓存与磁盘缓存的使用。 大家都知道,现在的手机屏幕分辨率是越来越大了,虽然之前我们介绍了异步加载图片的方法。但要知道,一个应用可用的内存是有限的。我们不可能将所有的内存都用来存储图片,也不可能为了内存而每次取图片时都上网下载(流量费是很贵滴,而且下载也很耗电啊)。 因此,对于已下载的图片,我们需要在本地维持一个缓存。 内存缓存 LurCache是一个内存缓存类(Android3.1引入,通过v4的支援包,可以在API Level 4以上使用)。它使用一个强连接的Linked ...
今天闲着有空,看了下SDK文档,发现里面有一篇《Processing Bitmaps Off the UI Thread》中特地介绍了异步加载图片的思路。特地记录一下。 大家都知道,加载图片是很费时的,尤其是从磁盘或网络上获取的时候。 因此,我们在设计 ...
最近在做深度主题,要实现类似小米那种在主题包中设置dimension值,然后在系统中替换原值的功能。 特地研究了一下Android系统中dimension类型的值的存储方式以及相关的转换算法。   在Android中,我们可以在values文件夹中定义各种资源,其中有一种就是dimension。 dimension是一个包含单位(dp、dip、sp、pt、px、mm、
做了两年多Android应用开发了,期间也实现过好几种主题切换的方式。趁着最近有空,总结一下。 所谓的主题切换,就是能够根据不同的设定,呈现不同风格的界面给用户,也就是所谓的换肤。 1、将主题包(图片与配置)存到SD卡上(可通过下载或手动放入指定目录),在代码里强制从本地文件创建图片与配置文字大小、颜色等信息。 2、Android平台独有的主题设置功能,在values文件夹中定义若干种style,在Activity的onCreate中使用setTheme方法设置主题。 3、将主题包做成APK的形式,使用远程Context的方式访问主题包中的资源。 4、类似小米的深度主题,修改fra ...
今天看到一篇有关字符串逆序的各种实现算法的文章,里面有一种不使用临时变量的字符交换算法把我震惊了。   上网搜了下,发现百度百科里就有这么一段: xor运算的逆运算是它本身,也就是说两次异或同一个数最后结果不变,即(a xor b) xor b = a。   x <- x # y y <- x @ y x <- x @ y 执行了第一句后x变成了x # y。那么第二句实质就是y <- x # y @ y,由于#和@互为逆运算,那么此时的y变成了原来的x。第三句中x实际上被赋值为(x # y) @ x,如果#运算具有交换律,那么赋值后x就变成最初的y了。 ...
转自http://www.cnblogs.com/likebeta/archive/2012/06/21/2558180.html 什么是许可协议? 什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人 ...
  App Widget是一种可以被放在其他应用中(如Launcher)并接收周期性更新的应用视图。这些视图在UI上就表现为Widget,并且你可以同App Widget Provider一起发布。 对于能够包含其他App Widget的应用程序组件,称为App Widget Host。 基本 ...
要获取可执行应用的列表(Launcher点中间键后进入看到的那个),就需要用到PackageManager。 首先,使用PackageManager解析列表 PackageManager pm = getPackageManager(); // 解析所有可执行的应用 Intent it = new Intent(Intent.ACTION_MAIN); it.addCategory(Intent.CATEGORY_LAUNCHER); List<ResolveInfo> lai = pm.queryIntentActivities(it, 0);   然后,就可以 ...
主要思路来自网络!   1、需要源码才能编译   2、修改项目的Android.mk文件,添加 LOCAL_CERTIFICATE := platform   3、AndroidManifest.xml中添加权限   3.1 manifest标签中添加     android:sharedUserId="android.uid.system"   3.2 使用权限     <uses-permission android:name="android.permission.SHUTDOWN"/>   4、java代码 ...
数据表 MMS模块总共包含17张表:addr、android_metadata、attachments、canonical_addresses、drm、part、pdu、pending_msgs、rate、raw、sms、sr_pending、threads、words、words_content、
Android短信编码在Framework层实现。 对于普通短信,其SmsHeader部分为空。 Gsm: Gsm中,对于长短信,使用了SmsHeader类进行描述。SmsHeader.ConcatRef描述了长短信的refNumber(对于同一个短信,相同,使用SmsDispatcher.getNextConcatenatedRef方法获取一个索引值,将其或上0x00FF),seqNumber(分段序列号,从1开始),msgCount(分段数量)。然后设置isEightBits为假(为了支持不同长度REFERENCE的短信,8位则REFERENCE为8位,否则为16位)。 短信头的 ...
短信部分:短信的发送,Framework部分从SmsManager的sendTextMessage(普通短信,无分段)与sendMultipartTextMessage(长短信,已分段)开始,一直到RIL。主要涉及到的类有。SmsManager、Isms、IccSmsInterfaceManager、SMSDispatcher、ImsSMSDispatcher、GsmSM ...
下图为ComposeMessageActivity中confirmSendMessageIfNeeded部分的信息发送流程。主要以接收者有效性的确认为主,然后转向sendMessage方法进行发送。   ComposeMessageActivity.sendMessage从下图可以看出,在这个方法中,主要做的事是确认手机状态的有效性。最终调用WorkingMessage的send方法进行信息的发送。   WorkingMessage.send从下图可以看出,在本方法中,对于不同类型的消息,分别调用不同的方法对其进行处理。并对彩信进行一些简要的预处理。  短信部分:WorkingMessa ...
Global site tag (gtag.js) - Google Analytics