自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (29)
  • 论坛 (1)

原创 字节码文件完整解析

java运行的机制:.java文件,经过编译后生成.class文件。java虚拟机加载.class文件运行代码逻辑。本文将对.class字节码文件做一次完整解析。(以姜新星老师的字节码层面分析 class 类文件结构为基础,做一次完整解析)https://kaiwu.lagou.com/course/courseInfo.htm?courseId=67#/detail/pc?id=1857一、class文件结构class文件由无符合数与表组成。无符合数以 u1、u2、u4、u8...

2020-09-28 00:09:28 21

原创 框架手写系列---Asm方式实现日志插入

asm与javassist作为修改字节码文件的两种常用方式,在编译过程中,可以动态修改class字节码文件。前文已用javassist方式实现热修复的前置步骤,本文用asm实现动态的给每个activity插入Log日志。一、插件的生成与依赖导入1、用该文章中的方法:Android中Plugin插件工程的自动生成自动生成一个android的插件模板;2、加入asm依赖,加入依赖后的插件build的格式如下:dependencies{ compile gradleApi() ..

2020-09-27 23:10:21 26

原创 框架手写系列---AspectJ方式实现埋点上传框架

一、切面编程AOP、OOP是程序中经常涉及的概念。OOP--面向对象编程,java、c#等都是面向对象的编程语言,主张万物皆对象。AOP是一种编程思想,对OOP的有效补充,在具体代码中,可以针对任意方法、属性、类等,做一个切面处理。针对被标记(注解标记)的代码,做额外处理。AspectJ是AOP思想的实现方式,将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务

2020-08-16 16:02:31 40

原创 框架手写系列---javassist修改字节码方式,实现美团Robust热修复框架

本文用javassist方式,模拟美团Robust插件的前置处理:用插入代码的方式,针对apk中的每个方法都插入一段静态代码判断语句,用于控制是否启用热修复fix(也就是动态加载patch包到原apk中)。一、插件的生成与依赖导入1、用该文章中的方法:Android中Plugin插件工程的自动生成自动生成一个android的插件模板;2、加入javassist依赖,加入依赖后的插件build的格式如下:dependencies{ compile gradleApi() ..

2020-08-15 22:24:34 40

原创 框架手写系列---apt方式实现ARouter框架
原力计划

一、ARouterARouter是阿里开源的组件通讯框架,在组件化开发上也是十分常用的框架之一。它的主要作用是各个activity之间,无需直接依赖,就可以直接跳转与传参。主要用处是为组件化的解耦,添砖加瓦。二、ARouter原理ARouter的核心原理,十分简单:用注解标识各个页面,注解处理器将该注解对应的页面存储到一个统一的map集合中。当需要页面跳转时,根据跳转的入参,从该map集合中取到对应的页面和传参,并跳转。核心在于,如何构建一个合理的map集合。三、手写实现根据原理

2020-06-28 19:21:32 115

原创 框架手写系列---apt注解处理器方式实现ButterKnife框架

一、ButterKnifeButterKnife作为常用框架之一,主要用于简化代码,减少重复代码。这里主要注重原理与核心,将分步骤手写它的核心代码。ButterKnife最常用的是去除代码中的findViewById,以注解的方式代替原有的代码,这里也从这里入手。Android之注解的使用——绑定android控件这是前文中通过反射方式实现,可对比查看二、原理说明public class MainActivity extends AppCompatActivity { .

2020-06-28 18:32:49 86

原创 框架手写系列---通过反射手写EventBus框架

一、EventBus原理与分析EventBus作为常用框架之一,从早期的EventBus2.0到目前3.+,经历了从反射到apt实现的转变,本文以原理分析为主,以反射方式实现早期的2.0框架。EventBus的核心在于:将被注解的方法(如@Subscribe注解方法),放到Map中。后续post的时候,根据post的参数类型(如Message类)在Map中找到对应的方法,并调用。将步骤分解后,就是以下两个主要操作:1、注册:通过特定的注解(如@Subscribe),将被注解的方法,添加到Ma

2020-06-28 16:05:38 61

原创 Android中Plugin插件工程的自动生成

一、Task作用Android Studio中对新建Gradle Plugin工程,并没有很好的支持,需要按要求新建特定的文件夹与文件。针对这种情况,通过task任务,自动生成一个这样的脚手架工程,可以自动生成Gradle Plugin的结构。二、Gradle Plugin的工程生成自动创建插件task: 以下是一个自动创建android中Plugin插件的task。直接将这个task复制到任意工程的build.gradle中,同步后,即可得到一个Plugin插件。 其中三个入

2020-06-27 11:39:42 122

原创 JetPack架构---LiveData、ViewModel搭建MVVM结构工程
原力计划

一、MVVM与JetPackMVVM,是Model-View-ViewModel的简写。Model:数据,View:UI相关,ViewModel:UI相关数据与控制。JetPack提供的组件LiveData与ViewModel,十分契合该模式。(1)LiveData作为数据驱动的核心,驱动与监听Model数据变化。(2)ViewModel组件,作为页面数据管理的存储与控制中心。(3)Activity或Fragment,也就是MVVM中的View。MVVM的核心在于,通过数据...

2020-06-14 23:02:06 208

原创 JetPack架构---LiveData的使用与示例
原力计划

点此,查看 :LiveData的原理解析本文介绍:LiveData的单独使用、LiveData与ViewModel结合使用、LiveData的复杂使用一、LiveData的单独使用以一个整型数据为例。将该整型数据用MutableLiveData包装。在Activity中,监听count的变化:每次点击按钮,会生成随机数,并Toast表现。public class LiveDataActivity extends AppCompatActivity { //定义一个Mutable

2020-06-13 23:00:57 169

原创 JetPack架构---ORM数据库Room的使用
原力计划

Room库在 android在sqlite的基础上做的一个封装,让用户能更方便的使用数据库。Room库实际与GreenDao数据库类似,优于GreenDao的是:(1)Room库的sql语句,在编译时,编译器会做检查。(2)整体上使用更方便,也因是官方库,会有更好的支持。一、依赖在build中新增依赖def room_version = "2.2.5"implementation "androidx.room:room-runtime:$room_version"annot..

2020-06-07 20:53:17 112

原创 JetPack架构---Navigation的使用
原力计划

一、概念JetPack中的Navigation组件,用于帮助用户实现导航。Navigation组件的主要应用场景是单activity配合多个fragment的场景,简化了过去fragment管理、导航复杂问题,提供了一套统一的标准。Navigation需要在Android Studio3.3或更高版本才可使用。二、示例2-0:添加依赖def nav_version = "2.3.0-alpha01"// Java language implementationimplemen

2020-05-24 22:44:32 327

原创 JetPack架构---Lifecycle生命周期相关与原理
原力计划

一、概念Lifecycle是JetPack提供的生命周期感知型组件。这也是JetPack系列架构的一个主要基础组件。LiveData、ViewModel都与之相关。Lifecycle常用于感知Activity、Fragment的生命周期。通过它可以编写与生命周期相关的解耦的代码。将Lifecycle传入某个类中,可以让该类与外部组件的生命周期关联。二、使用示例2-0:添加依赖参照官网提示,添加具体依赖(点击查看)2-1:定义一个观察者//定义一个观察者public class

2020-05-24 09:45:55 119

原创 JetPack架构---ViewModel作用、使用与原理
原力计划

一、ViewModel的作用1、ViewModel用于管理与界面(Activity、Fragment)相关的数据。2、ViewModel让数据可在发生屏幕旋转等配置更改后仍能继续存在。3、ViewModel让Activity与Fragment共享数据更方便。ViewModel作为JetPack中一个重要部件,本身并不复杂。ViewModel总结起来就一个功能:保存数据,并且在ViewModel中的数据,不会因为配置变化(横竖屏转换)而丢失,只有在Activity真正被销毁的时候,才会真正..

2020-05-17 23:10:51 260

原创 JetPack架构---LiveData特性、原理
原力计划

一、LiveData的概念与优势官网介绍LiveData的概念是这样的:LiveData是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。归类的说,它有三个特点:1、它是一个数据存储器类,能持有数据;2、它可被观察者观察,当存在观察者时,它的数据变化会通知到观察者;3.

2020-05-16 23:35:35 170

原创 Android内存泄漏--基础介绍与延伸解析

Android内存泄漏的

2020-04-26 23:25:34 150

原创 Android内存泄露实时监测——LeakCanary(Android Studio+Eclipse)

前言LeakCanary已经开源一年多了,版本从1.3已经升级到1.4-beta2,不过还是有朋友没有试过使用。源码地址:https://github.com/square/leakcanary推荐看:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0510/2860.html当初也是看这篇才了解LeakCanary

2016-07-23 23:47:46 3436

原创 Java(Android)回调函数详解

一、前言本周有位入行开发不久的朋友问我回调究竟是个什么概念,在网上看了很多的回调函数解释,但是越看越乱。虽然回调函数这个梗已经不新鲜了,这里还是用书面的形式记录下。如果有了解的,就无需再看。二、概念概念上,这里引用百度百科的解释,如下:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回

2016-07-22 20:09:35 4127

原创 Android之数据库—— 一个可配置的简易框架

前言Android自带的Sqlite数据库是日常开发中必用的。这里介绍一种用xml形式配置数据库的简易框架(库)。为什么要用这个框架?(1)因为XML格式的配置方式,层次明显,一目了然;(2)在扩展,对增减数据库中的表或者列,更加容易且不容易出错;(3)将配置统一在XML中,对以后的维护,会显得十分方便;(4)最后,是这个框架很简单。一、设计1、你首先要有一个XML

2016-07-05 21:56:24 4337

原创 Android之本地缓存——LruCache(内存缓存)与DiskLruCache(硬盘缓存)统一框架

本文参考郭霖大神的DiskLruCache解析,感兴趣的朋友可以先到http://blog.csdn.net/guolin_blog/article/details/28863651了解。一、前言该框架或者说库,主要是用于本地的图片缓存处理。数据的存入当你取到图片的元数据,会将数据存入硬盘缓存以及内存缓存中。数据的获取取数据的时候,先从内存缓存中取;如果没有取到,则从硬

2016-07-02 13:15:43 9980 1

原创 Android(Java)之多线程结果返回——Future 、FutureTask、Callable、Runnable

Android、Java中Runnable十分常见,在开新线程时,我们常用new Thread(Runnable).start() 或者线程池搭载Runnable。日常使用,在不需要线程返回时,使用的十分顺手。在需要线程返回时,我们也有办法搞定,比如外部变量控制流程、新增监听接口等。有了以上理由,Callable就被冷落了。其实Callable能让你的实现以及代码更简单。本文就是以

2016-06-20 20:28:50 5322

原创 Android之粗仿微信6.0——微信分界面

上一篇主界面我们弄好了,四个分界面还是空空如也。这里就加上四个简单的分界面。一、设计     微信分界面,有微信、通讯录、发现、我四个频道,这里我们全部采用ListView的方式来实现。     先看一下最后的效果图:      二、实施       四个频道,第一个频道是一种样式、第二个是一种样式、三、四样式是类似的。先看第一频道的实现。(1)第一频道

2016-06-18 16:29:49 7909 1

原创 Android之粗仿微信6.0——微信主界面

上一篇是微信的欢迎界面仿造,这里介绍的是欢迎页的下一步:微信主界面的粗仿。一、设计    首先这个是Android的微信6.0版本,与苹果的样式还是不一样的,至于哪个好用就是仁者见仁了。微信6.0版本的主界面构成,主要采用这两个控件:ViewPager+ActionBar。顶部,我们用ActionBar来实现,界面间的切换则用ViewPager来实现。微信6.0版本的主界面有个比较

2016-06-18 15:36:02 6084

原创 Android之粗仿微信6.0——微信6.0的欢迎界面

日常,在app的更新或者上新的时候,常常都有一个欢迎界面,用于介绍该版本的app有什么功能或者新增了哪些功能。这里以微信的6.0版本的欢迎界面为例,做一个粗仿,只是一个粗仿,并不一定是微信本身的做法。      这里先看一下欢迎界面编写完成后的效果:              一、设计      采用原始,不添加防腐剂的方式:ViewPager+多个XML+底部进度显示+末

2016-06-18 14:53:31 5963

原创 Java多线程简析——Synchronized(同步锁)、Lock以及线程池

Java多线程Java中,可运行的程序都是有一个或多个进程组成。进程则是由多个线程组成的。最简单的一个进程,会包括mian线程以及GC线程。线程的状态线程状态由以下一张网上图片来说明:在图中,红框标识的部分方法,可以认为已过时,不再使用。(1)wait、notify、notifyAll是线程中通信可以使用的方法。线程中调用了wait方法,则进入阻塞状态,只有等另一个

2016-04-25 00:56:44 36186 3

原创 Android之注解的使用——绑定android控件

注解介绍注解最早是在Java的JDK5中出现的概念,并在JDK5推出后风行天下。Android也继承了这种概念和语法。这里介绍一下,注解在android中用的最火的一个例子,对控件的注解。{对注解不熟悉的同学,可以看以下几个博文,写的很详尽:注解的基本解释:http://www.cnblogs.com/peida/archive/2013/04/23/3036035.htm

2016-04-18 22:15:47 2265

原创 Java常用之String.valueOf、toString、(String)

字符串类型的转型在java中常用的方法有标题中的三种。简单介绍:1、toString,需要保证调用这个方法的类、方法、变量不为null,否则会报空指针。2、String.valueOf。这个方法在使用的时候是有些特殊的。一般情况下,如果是确定类型的null传入,返回的是字符串“null”,而如果直接传入null,则会发生错误。3、(String) 字符串类型强转。需要保证的

2016-04-17 14:56:35 10265

转载 Stack的三种含义

学习编程的时候,经常会看到stack这个词,它的中文名字叫做"栈"。理解这个概念,对于理解程序的运行至关重要。容易混淆的是,这个词其实有三种含义,适用于不同的场合,必须加以区分。含义一:数据结构stack的第一种含义是一组数据的存放方式,特点为LIFO,即后进先出(Last in, first out)。在这种数据结构中,数据像积木那样一层层堆起来,后面加入

2016-04-17 13:42:10 395

原创 Android解析——json解析为javabean

json的解析,归根结底就是用JsonObject以及JsonArray来实现的。在日常中,当我们拿到一个较为复杂的json字符串的时候,用以上两个虽然能实现解析,但显得很麻烦。这里介绍下用Gson类来将json解析为javabean。用两个json字符串来分析:一、简单json字符串的解析String JSON_SIMPLE_STRING="{\"sitename\":\"JSO

2016-03-28 01:44:51 5456 1

原创 Android监听——回调模式与观察者模式

在android中,或者说java中,监听模式都是非常常见的。当你激发某个事件,常常你需要等待这个事件的返回。如果这个事件是个异步事件,那么监听总是显得很有必要。举个日常的例子,当你在android中连接网络并发送请求时,你就常常需要用到异步监听,用于监听并回调请求结果。这个就是异步回调。观察者模式与回调模式有很多的相似处,简单对比就是:回调是一对一的关系,只监听一个事件;观察者模式则

2016-03-24 00:14:59 6951

原创 Android之增量更新

Android增量更新简单描述:简单的说,就是在有一个旧版本A的情况下,想在这个基础上更新一个新版本B。那么,我们不需要下载整个B,只需要下载A与B的差分包。将差分包下载到本地后,与旧版本A整合为一个新的apk,这个apk大小与内容与新版本B完全一致,这就是增量更新。假如,A的大小是5M,B的大小是8M,那么差分包的大小S=(8-5)+差异文件的依赖(如上下文)。差分包的大小会大于3M。

2016-02-29 21:01:38 836

原创 Android之进程通讯——广播

不同进程间的通讯,其实Android的四大组件都可以实现。日常,我们用广播,在一个独立的app中使用的较多。或者是系统和app之间使用。在两个自定义的app之间,我们也写个例子,表明广播是很好用的!!在这里就自定义两个app:BroadCastA(后面称为A)、BroadCastB(后面称为B)。A发送广播,B接收广播。例子如下:BroadCastA:packa

2016-02-22 17:15:58 2779 1

原创 Android图片处理之高斯模糊示例——仿微信朋友圈照片模糊效果

微信朋友圈最近出了一个模糊照片效果,一看之下很有新意。这里就是仿微信朋友圈的一个图片模糊效果实现。使用了一个开源的FastBlur(高斯模糊——毛玻璃效果)。实现的方法很简单,只要一句代码即可。Bitmap bitmap= FastBlur.doBlur(BitmapFactory.decodeResource(getResources(), R.drawable.blur), 10,

2016-02-01 13:25:47 5820 4

原创 Android之自定义角标(更新红点)——BadgeView

角标定义Android或者IOS,在软件更新、新收到信息时,界面上图标在右上角常常会显示一个角标,显示更新或者新收到的信息数量。这就是我们所说的角标。角标实现要实现这个角标,我们一想有以下几种方式:1、放置一个隐藏的图片在app中,在需要它显示的时候,显示该图片,并以该图片为背景,显示新增消息数;2、自定义一个控件,用于显示该角标信息。例如,角标相对于控件的位置、底色、数字

2016-01-26 20:16:34 17811 8

原创 Android远程接口之AIDL——Parcelable、in、out、inout简例

AIDL简义Android中的数据传输、方法调用等,常见的是集中在应用程序内的Activity之间,如Activity-A传递到Activity-B。这样的数据传输、方法等都是在一个应用程序间调用,也就是在一个进程内。那如果我们要在不同的进程间传递数据,我们要怎么做呢?不在同一个进程间,它们是无法共用内存的,Android为了实现进程间的数据共享,提供了AIDL机制(安卓远程接口定义语言)

2016-01-25 00:21:30 12708 5

原创 Andorid动画——属性动画

上一篇主要记录了android补间动画与帧动画的使用:http://blog.csdn.net/yangzhaomuma/article/details/50530355。这里则是属性动画的使用和说明。属性动画与补间动画、帧动画的写法区别           在编写这两种动画的时候,你会发现他们在类的写法上是很相近的。初学者容易在这里混淆,这里做个简单说明:

2016-01-20 00:52:50 897

原创 Andorid动画——补间动画与帧动画

简介Android在3.0之前,是补间动画和帧动画的天下。后续3.0后,才出现了属性动画,补充了以上两种动画的不足之处,使android中的动画效果更丰富和适应更多的场景。这里先介绍补间动画与帧动画。补间动画——Tween补间动画(英译也可称为渐变动画)主要包括淡入淡出(透明度)——alpha、移动——translation、旋转——rotation、缩放——scale。从字面

2016-01-17 00:15:33 956

原创 Android中的OAuth2.0——QQ第三方授权登录

OAuth2.0概念OAuth2.0是现在第三方授权主要采取的一种协议。简易的说就是:第三方应用在不知道用户的用户名、密码等认证ID的情况下想要访问该用户的资源,可通过该用户授权的方式,获取相应权限,访问相应资源。学习这个授权协议的时候,因为网上有太多的开放平台和介绍,OAuth又有1.0和2.0两个版本,因此看上去很混乱。你有时候不知道自己看的是1.0的协议介绍,还是2.0的协议

2016-01-10 18:09:35 5698 2

原创 安卓开发中JDK、SDK、NDK、ADT、ANT等概念作用解释

这个是从网上找到的对这几个名词的解释:主要对初接触的人有用,对多平台开发人员可能记混的也有点作用。名词解释很多初接触安卓的朋友在配置开发环境时面对诸如JDK、SDK、NDK、ADT等概念一头雾水不知所以,在这里对这些概念及其相关作用进行解释,希望对初学者有所帮助:IDE:(Integrated Development Environment) 集成开发环境,用于提供程序开发环境

2016-01-06 11:39:09 15604

原创 Android序列化——Serializable与Parcelable

序列化这个名词,我们在学习java的时候早有耳闻,与之相对的还有反序列化。在java中我们印象中常用的序列化方式是实现Serializable接口。那么,在android中,我们如何实现这样的序列化和反序列化呢?序列化的意义序列化,我们首先要明白它代表的含义以及为什么要使用序列化。序列化:将对象转为字节序列的过程,我们称之为序列化。序列化的意义:序列化主要是为了解决对象的持

2016-01-03 21:33:22 2877

C# winfrom 带参数与无参数的线程(可更新界面UI)

C# winfrom 带参数与无参数的线程(可更新界面UI) 线程的开启关闭 带参与无参使用 线程更新界面信息

2014-09-25

c++读写所用方法集成

c++读写所用方法集成,里面将常用的c++读写方法写成函数,可直接调用。

2011-09-03

asp.net + flash 批量图片上传

asp.net + flash 批量图片上传 无刷新 可一次多选 有图片预览 有进度条

2010-07-30

Android之数据库—— 一个可配置的简易框架

这里介绍一种用xml形式配置数据库的简易框架(库)。

2016-07-05

Android之本地缓存——LruCache(内存缓存)与DiskLruCache(硬盘缓存)统一框架

http://blog.csdn.net/yangzhaomuma/article/details/51810418 该框架或者说库,主要是用于本地的图片缓存处理。 数据的存入 当你取到图片的元数据,会将数据存入硬盘缓存以及内存缓存中。 数据的获取 取数据的时候,先从内存缓存中取; 如果没有取到,则从硬盘缓存中取(此时如果硬盘缓存有数据,硬盘缓存会重新将数据写入内存缓存中); 如果硬盘缓存中没有取到,则从网上重新获取元数据;

2016-07-02

Android(Java)之多线程结果返回——Future 、FutureTask、Callable、Runnable

http://blog.csdn.net/yangzhaomuma/article/details/51722779

2016-06-20

Android之仿微信6.0——粗仿

详细描述 http://blog.csdn.net/yangzhaomuma/article/details/51705590

2016-06-18

Android之注解的使用——绑定android控件

应该都知道XUTILS中有这个控件注解。这边文章的作用是当你想用这个功能而不想用框架中的其他部分时,你可以使用内中方法。 http://blog.csdn.net/yangzhaomuma/article/details/51183110

2016-04-18

Android解析——json解析为javabean

Android解析——json解析为javabean

2016-03-28

Android监听——回调模式与观察者模式

说明: http://blog.csdn.net/yangzhaomuma/article/details/50967851

2016-03-24

增量更新工具以及Android端源码实现

Android增量更新简单描述: http://blog.csdn.net/yangzhaomuma/article/details/50767966 简单的说,就是在有一个旧版本A的情况下,想在这个基础上更新一个新版本B。那么,我们不需要下载整个B,只需要下载A与B的差分包。将差分包下载到本地后,与旧版本A整合为一个新的apk,这个apk大小与内容与新版本B完全一致,这就是增量更新。

2016-02-29

Android进程间通讯——多进程共用SharedPreferences

在使用SharedPreferences进行进程数据共享时,我们发现,有些虽然过时了,但是实际上还是可以用的。 只是Google不建议大家这么干了。所以这篇文章只是一个介绍实现,科普。 http://blog.csdn.net/yangzhaomuma/article/details/50718081

2016-02-22

Android之进程之间通讯——广播

不同进程间的通讯,其实Android的四大组件都可以实现。 日常,我们用广播,在一个独立的app中使用的较多。或者是系统和app之间使用。 在两个自定义的app之间,我们也写个例子,表明广播是很好用的!! http://blog.csdn.net/yangzhaomuma/article/details/50717945

2016-02-22

Android之自定义角标(更新红点)——BadgeView

Android之自定义角标(更新红点)——BadgeView

2016-01-26

Android远程接口之AIDL——Parcelable、in、out、inout简例

Android远程接口之AIDL——Parcelable、in、out、inout简例 Parcelable in out inout AIDL例子中体现使用方式 详细介绍: http://blog.csdn.net/yangzhaomuma/article/details/50576017

2016-01-25

Andorid动画——PoroertyAnimator属性动画

Andorid动画——PoroertyAnimator属性动画 Poroerty Animator LayoutAnimation 补间动画 帧动画 等

2016-01-20

Andorid动画——补间动画与帧动画

Andorid动画——补间动画与帧动画 详细介绍补间动画与帧动画的源码

2016-01-17

Android中的OAuth2.0_QQ第三方授权登录

Android中的OAuth2.0_QQ第三方授权登录

2016-01-10

Android序列化——Serializable与Parcelable

Android序列化——Serializable与Parcelable

2016-01-03

非对称加解密——RSA加密、解密以及数字签名

非对称加解密——RSA加密、解密以及数字签名

2016-01-02

Android线程结束——合理的结束你想结束的线程

Android线程结束——合理的结束你想结束的线程

2015-12-22

Android捕获异常处理——UncaughtExceptionHandler

Android捕获异常处理——UncaughtExceptionHandler

2015-12-17

Android多媒体——图片资源获取的5种姿势

Android多媒体——图片资源获取的5种姿势 相册图片 拍照图片 本地图片 网络图片 项目图片

2015-12-15

Android多媒体应用——短信收发

Android多媒体应用——短信收发源码

2015-12-10

Android人脸识别源码——详细代码解释

Android人脸识别源码——详细代码解释

2015-12-06

谷歌语音识别-百度语音识别-android

谷歌语音识别-百度语音识别-android

2015-12-05

Android手势识别——上下左右滑动、屏幕上下左右中区域处理

Android手势识别——上下左右滑动、屏幕上下左右中区域处理

2015-12-04

ContentProvider自定义以及使用系统ContentProvider

ContentProvider自定义以及使用系统ContentProvider

2015-12-01

Android数据存储——SharedPrefences、File、Sqlite

Android数据存储——SharedPrefences、File、Sqlite 类与activity实现

2015-11-21

AIDL的 in,out,inout指向

发表于 2016-01-05 最后回复 2016-01-25

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