![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android中上层源码分析与基本实践
文章平均质量分 72
zhangjiaofa
这个作者很懒,什么都没留下…
展开
-
对于不支持range的网络的分段下载
今天在排查一个问题的时候,发现部分网络环境不支持range,这样就会导致在分段下载的时候,必须用skip()方法,但是按照官方提供的API的说法,skip方法是不能保证一定能够过滤相应的字节数。 解决方案: private long skipBytesFromStream(InputStream inputStream, long n) { long remainin原创 2013-02-05 12:28:48 · 719 阅读 · 0 评论 -
详细讲解Android中的动画Animation(依据Android源码目录结构讲解)
Android中Animation如果仔细的整理一下,是一个非常值得学习的模块。由于其中涉及的内容比较多,大家经常在实际的开发的过程中,只是略微的攫取其中的部分进行运用,比较零碎,下面我就对照着源码中的Animation的实际代码结构,对Animation的实际体系进行讲解一下,希望对大家理解Andorid中的Animation的设计理念有一定的理解。 第一个类:AnimationT原创 2014-12-29 17:33:32 · 1065 阅读 · 0 评论 -
详细讲解Android中的Message的源码
相信大家对于Android中的Handler是在为熟悉不过了,但是要知道,Handler就其本身而言只是一个壳子,真正在内部起到作用的是Message这个类,对于Message这个类,相信大家也不会陌生,正如大家经常用到的Message.obtain()的方法一样。但是大家又是否知道obtain()方法里面为我们做了哪些操作了,下面我就带领大家进行Message的王国,去一探究竟吧。原创 2014-12-29 12:02:25 · 2703 阅读 · 4 评论 -
Android中Activity源码中是如何对对话框Dialog进行处理的
各位童鞋,对于Android而言,离开Activity,基本上就无从谈起开发,那么亲们对于Activity的实现原理熟悉么?反正我在没有看源码之前是不熟悉的,下面,咱们一起按照老规矩,一起来看一下Activity的源码吧。这一篇文章主要讲解的是Activity如何对对话框Dialog进行实现统一管理的。 首先我们看到的是这样一个类: private static class Ma原创 2014-12-30 13:06:01 · 1020 阅读 · 0 评论 -
详细讲解Android中的AbsListView的源码
不知道各位童鞋们在开发的过程中有没有感兴趣过ListView是如何实现的呢?其实本身ListView的父类AbsListView才是关键,但是如果大家看过源码的话,会发现AbsListView将近7000多行代码,是不是头大啊,呵呵,没事,下面咱们就一起来看看吧。 我们先从类中的常量开始分析: public static final int TRANSCRIPT_MODE_原创 2014-12-29 22:57:55 · 1518 阅读 · 0 评论 -
Android DynamicLoadApk 开源插件开发项目代码剖析
目前的代码的目录结构是:1、com.ryg.dynamicload.internal2、com.ryg.dynamicload.service3、com.ryg.dynamicload4、com.ryg.dynamicload.utils先看com.ryg.dynamicload.internal包下面的几个类:1、DLAttachableDL是DynamicL原创 2015-08-28 16:39:28 · 1784 阅读 · 0 评论 -
Java依赖注入库框架 Dagger的源码分析(一)
1、GeneratedAdapters对应的注释上面是这么说的:A single point for API used in common by Adapters and Adapter generators被Adapters以及Adapter的生产者广泛使用通过代码,可以注意到,这是一个final类,是不允许被重载的。他的构造函数是一个空的构造函数。同时带有下面的常量的定原创 2015-08-30 22:35:29 · 758 阅读 · 0 评论 -
JavaWriter源码分析
为何要实现Closeable的接口Closeable的英文注释 A {@code Closeable} is a source or destination of data that can be closed. The close method is invoked to release resources that the object is holding (such as原创 2015-10-20 15:53:14 · 779 阅读 · 0 评论 -
Android 注解框架 Butterknife的核心代码分析笔记
ButterKnife是一个注解框架,主要是针对Android平台。逐个的来看一下Library中的代码的组织架构:1、接口Binding 这个接口里面有一定对外的定义的方法,主要的功能就是具有可读性的注解的描述语。2、ButterKnifeProcessor,这是一个实体类,也是ButterKnife注解框架的核心类。2、1 首先他集成了JAVA处理注解所用到的抽象类 Ab原创 2015-10-10 14:44:01 · 835 阅读 · 0 评论 -
Android Sqlite 框架 GreenDao的原理与使用简介
(转:http://blog.csdn.net/dawnranger/article/details/43231731)一、背景知识ORM(Object Relation Mapping):对象关系模型。用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。ORM作为项目中间件形式实现数据在不同场景下数据关系映转载 2015-10-14 17:46:30 · 4733 阅读 · 0 评论 -
管窥Android中的滑动条SeekBar的父类AbsSeekBar的源码
Android中的控件中有一类是ProgressBar,其子类中有一个是AbsSeekBar。相信有不少童鞋对这个拖动条的父类比较感兴趣吧!尤其是看到网易云音乐的进度条上面是可以处理播放与暂停事件,是不是很羡慕的哈~ 俺在这里告诉大家,不用羡慕,看了我下面的代码分析,你也是可以做出那样的效果的哦。Let's go. 下面先给大家列表一下AbsSeekBar的成员变量有哪些。原创 2014-12-28 21:22:43 · 2072 阅读 · 0 评论 -
关于butterknife在Eclipse中的空指针的问题
今天在看一个Android原创 2014-11-21 10:36:09 · 2100 阅读 · 0 评论 -
详细讲解Android图片下载框架UniversialImageLoader之内存缓存扩展(四)
内存缓存的扩展还是蛮重要的,无论是数据结构还是具体的实现还是值得我们进行细细的品味,下面咱们就一起能品味这里面的趣味吧。 内存缓存的扩展主要学习下面的几个类:FIFOLimitedMemoryCache、FuzzyKeyMemoryCache、LargestLimitedMemoryCache、LimitedAgeMemoryCache、LRULimitedMemoryCa原创 2014-11-18 22:41:41 · 1344 阅读 · 0 评论 -
基于Angle游戏引擎相关的文档说明
Android上的游戏引擎中,Angle是其中之一,觉得其小巧玲珑,故下面对其进行简而概之的进行相关的说明。 /** *下面的飞机是继承精灵类 */class MyShip extends AngleSprite { AngleVector mDestination;//时刻控制飞机的位置 float Speed; //对应的飞机的速度 public原创 2013-02-05 23:52:59 · 829 阅读 · 0 评论 -
LGame游戏引擎的初始化
在介绍基于LGame中的自定义脚本的时候,先对一个基于该脚本的游戏的源码进行相关的解释。//完成LGame的游戏引擎的初始化 public void onMain() { //游戏窗体以及Admob广告的初始化的函数 this.initialization(true); //设定游戏初始的Logo是否显示 this.setShowLogo(false); //设定是否原创 2013-02-17 15:09:11 · 747 阅读 · 0 评论 -
LGame游戏引擎主要组件之一AVGame详解(结合具体的代码讲解)
首先对一个典型的例子进行仔细的剖析,后面再给出具体的理论分析。/***AVGScreen是LGame引擎的四种Scrren之一*与其他Screen的主要区别在于 他直接继承CanvasScreen,且必须注入脚本才能运作。*该类默认自动刷新画面**/public class MyAVGScreen extends AVGScreen { //L原创 2013-02-17 17:05:36 · 1591 阅读 · 0 评论 -
注意代码之间的逻辑性(拿自己写的一段代码作为例子)
大家看一下这段代码问题出在什么地方public Bitmap process(Bitmap curSingerBmp) { System.gc(); if (mBack != null && !mBack.isRecycled()) { mBack.recycle(); mBack = null; } try { mBack = Bitmap原创 2013-02-21 13:36:12 · 840 阅读 · 0 评论 -
关于神庙逃亡这款游戏在很多款的手机上出现闪退的解决方案(Android)
目前神庙逃亡这款游戏很火,我的酷派8022出现闪退。作为开发人员,不要放弃任何一个修改Bug的机会。打开Eclipse 查看奔溃的日志如下:02-21 20:43:25.164: ERROR/AndroidRuntime(8922): java.lang.UnsatisfiedLinkError: Couldn't load mono: findLibrary return原创 2013-02-21 20:47:20 · 1592 阅读 · 0 评论 -
详细讲解Android框架EventBus
工欲善其事,必先利其器。要想非常好的将Ec原创 2014-11-13 16:25:14 · 1135 阅读 · 0 评论 -
详细讲解Android的图片下载框架UniversialImageLoader之磁盘缓存的扩展(二)
相对于第一篇来讲,这里讲的是磁盘缓存的延续。在这里我们主要是关注四个类,分别是DiskLruCache、LruDiskCache、StrictLineReader以及工具类Util。 接下来逐一的对它们进行剖析。废话不多说。 首先来看一下DiskLruCache。 这个类的主要功能是什么呢?我们先来看一段类的注释: /** * A原创 2014-11-17 17:27:19 · 1598 阅读 · 0 评论 -
详细讲解Android图片下载框架UniversialImageLoader之内存缓存(三)
前面的两篇文章着重介绍的是磁盘缓存,这篇文章主要是讲解一下内存缓存。对于内存缓存,也打算分两篇文章来进行讲解。在这一篇文章中,我们主要是关注三个类,MemoryCache、BaseMemoryCache以及LimitedMemoryCache。 首先我们先看一下内存缓存的接口MemoryCache。put(String key, Bitmap value);Bitmap ge原创 2014-11-17 18:00:38 · 1259 阅读 · 0 评论 -
详细讲解Android的图片下载框架UniversialImageLoader之磁盘缓存(一)
沉浸在Android的开发世界中有一些年头的猴子们,估计都能够深深的体会到Android中的图片下载、展示、缓存一直是心中抹不去的痛。鄙人亦是如此。Ok,闲话不说,为了督促自己的学习,下面就逐一的挖掘Android中还算是比较牛叉的图片处理框架UniversialImageLoader以飨读者吧! 凡事如果过于草率必将陷入泥塘不能自拔。还是按部就班的一步一步的将这个框架给啃透。 第原创 2014-11-17 15:16:51 · 1353 阅读 · 3 评论 -
Android Sqlite框架 GreenDao的源码分析笔记
Android Sqlite 框架GreenDao的源码分析笔记GreenDao是一个开源的项目,有助于开发者与存储在Sqlite中的数据打交道。Sqlite是关系型数据库。然而,用Sqlite开发需要一些额外的工作。写SQL与解析查询的结果是一件相当繁琐的工作。GreenDao将会替你做这些额外的工作。它将Java对象映射到数据库的表(经常被称作ORM),通过以这种方式,你可以使用简单的面向对象的原创 2015-10-14 23:58:10 · 4571 阅读 · 0 评论