随笔分类 -  Android开源框架哪点事

对Afinal,ThinkAndroid等开源框架庖丁解牛。。。。没有恶意,紧供讨论和讨教。。。如有不对之处欢迎大家热烈指责。。
摘要:一:TextView的onDraw()方法: 1.第一句restartMarqueeIfNeeded()绘制字幕滚动。 首先我们看一个东西: android.text.TextUtils.java 很熟悉对不对,这就是平常在TextView的android:ellipsize属性,当字符显示不下的时 阅读全文
posted @ 2016-04-09 01:24 bvin 阅读(10618) 评论(0) 推荐(0) 编辑
摘要:1.AndroidHttpClient的创建DownloadManager:在DownloadThread的run方法里public void run() { Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); ... 阅读全文
posted @ 2015-04-29 16:45 bvin 阅读(1185) 评论(0) 推荐(1) 编辑
摘要:上一篇讲到ApkDecoder这个类,大部分调用到还是Androlib类,而且上次发现brutall的代码竟然不是最新的,遂去找iBotP.的代码了。今天来看Androlib的代码: private final AndrolibResources mAndRes = new AndrolibRe... 阅读全文
posted @ 2014-12-11 16:58 bvin 阅读(4094) 评论(0) 推荐(1) 编辑
摘要:著名的apktool是android逆向界用的最普遍的一个工具,这个项目的原始地址在这里http://code.google.com/p/android-apktool/,但是你们都懂的在天朝谷歌是无法访问的,所以直接上github的https://github.com/brutall/brut.a... 阅读全文
posted @ 2014-12-10 23:40 bvin 阅读(6245) 评论(0) 推荐(1) 编辑
摘要:前两篇已经对网络请求流程已经梳理了个大概,这次我们着重看一下HttpStack和它的其实现类。我们之前在Network篇讲过它仅有一个实现类,而今天我们讲的HttpStack有两个实现类。其中HttpCliantStack是在2.3以下使用,Hurl是在2.3以上使用,这样分开的原因谷歌给了注释。 // Prior to Gingerbread, HttpUrlConnection was unreliable. // See: http://android-developers.blogspot.com/2011/09/androids-http-clients.html2.3以下Htt.. 阅读全文
posted @ 2013-08-30 17:40 bvin 阅读(8310) 评论(4) 推荐(3) 编辑
摘要:研究了这么久的Volley,愈来愈发现这个框架的精美和人性化。比起民间一些框架强很多,一开始总是盲人摸象找不到头绪,现在终于有些明朗了。Volley其实就是一个请求队列的代理类,我们看下UML。这就是Volley的网络请求中心枢纽,我们重头再梳理一下。首先通过Volley类建立一个请求队列RequestQueue,这个队列可以定制个线程池规定多少个线程跑,一个NetworkDispatche对象就是一个线程,而加入进队列的请求就根据工作调度机制由一个NetworkDispatche线程去执行。而NetworkDispatche的请求执行是通过Network的现实类BasicNetwork代劳, 阅读全文
posted @ 2013-08-30 15:54 bvin 阅读(3587) 评论(5) 推荐(0) 编辑
摘要:我们看到Network接口只有一个实现类BasicNetwork,而HttpStack有两个实现类。BasicNetwork这个类是toolbox工具箱包里的,实现了Network接口。先来看下Network这个interface,performRequest(Request*)执行一个请求,以一个Request为参数,返回一个NetworkResponse 。public interface Network { /** * Performs the specified request.执行这个请求 * @param request Request to process/... 阅读全文
posted @ 2013-08-28 12:16 bvin 阅读(5082) 评论(2) 推荐(0) 编辑
摘要:自从公司新招了几个android工程师后,我清闲了些许。于是就可以有时间写写博客,研究一些没来的研究的东西。今年的谷歌IO大会上,谷歌推出了自己的网络框架——Volley。不久前就听说了但是没有clone下来,这次终于把源码弄下来了。这个框架对网络请求数据缓存做了很多优化,其他说明就请自行百度吧。。。在这梳理一下网络请求的过程:先看一段网络请求的代码吧mQueue = Volley.newRequestQueue(getApplicationContext()); //StringRequest四个构造参数分别是Request类型,url,网络请求响应监听器,错误监听器 ... 阅读全文
posted @ 2013-08-12 18:54 bvin 阅读(10136) 评论(7) 推荐(2) 编辑
摘要:---恢复内容开始---还是继续FinalHttp,这个类涉及到的东西还是挺多的。一:线程池首先我们看到FinalHttp类里面有两个跟线程池相关的两个静态类private static final ThreadFactory sThreadFactory = new ThreadFactory() { private final AtomicInteger mCount = new AtomicInteger(1); public Thread newThread(Runnable r) { Thread tread = new Threa... 阅读全文
posted @ 2013-06-02 14:15 bvin 阅读(2752) 评论(1) 推荐(2) 编辑
摘要:Afinal这是Afinal在github的地址:https://github.com/yangfuhai/afinalAfinal这个框架主要分4块:1、FinalDB模块:android中的orm框架,一行代码就可以进行增删改查。支持一对多,多对一等查询。2、FinalActivity模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。3、FinalHttp模块:通过httpclient进行封装http数据请求,支持ajax方式加载。4、FinalBitmap模块:通过FinalBitmap,ima 阅读全文
posted @ 2013-06-02 12:56 bvin 阅读(5834) 评论(0) 推荐(2) 编辑