Android 反射技术应用手稿
文章平均质量分 85
喝醉了的熊猫
Android 系统开发,Android通信应用开发,Android移动应用开发,智能语音设备开发,个人开源库 : https://github.com/MMLoveMeMM
展开
-
Android 反射Method应用
本人喜欢把复杂的事情简单化,简单的事情复杂化---以前读书的时候,语文老师经常再三强调,写作文的时候不要把题目写”太大”了;只要写一件小事,写的越详细越动人就达到了目的!---zhibao.liu 本来想先介绍反射构造函数,代码写了一部分,发现先介绍反射构造函数不是太”灵活”,所以,就先介绍方法,感觉先介绍了方法,在讲构造函数时,往构造函数中传递参数,然后通过方法在体现出来,效果会更加原创 2015-12-08 19:38:37 · 2531 阅读 · 0 评论 -
Android 反射枚举Enum类型应用
网上关于反射枚举的案例似乎不多,也许是因为枚举在java里面枚举类型其实算个准类了,java编译的时候同样会生成一个enumname.Class文件,同时Enum是可以被子类直接继承的,所以有时候在反编译的时候反过跟头,掉过阴沟,真的坐船翻船,坐车爆胎,走路都要被石头绊倒的郁闷.同样也是证明不懂java基本知识,后果很严重!!!今天还是靠公司同事提醒了一下,发现枚举类型具有类的一些特性,虽然后原创 2015-12-08 19:59:10 · 1201 阅读 · 0 评论 -
Android 反射Field应用
面的几节涉及反射的一些基本概念,下面介绍在以后开发是经常需要的用到的一些反射技术使用.由于在前面没有特别指出来,如何反射一个类,并且得到一个类的实例,所以在这里,首先列出一个我们经常在网上面见到的方式:public static void getReflectionFields(ReflectionTest r) { Class temp = r.getClass();原创 2015-12-08 19:25:32 · 1128 阅读 · 0 评论 -
Android ClassLoder 基础应用
预备知识: : adb push的使用; : eclipse 导出jar包的过程 : dx命令行的使用;首先介绍ClassLoader类关系,它本身也是继承Object,然而实际开发中用的比较多的是他的子类,继承关系如下:ClassLoaderextends Objectjava.lang.Object ↳原创 2015-12-08 18:14:25 · 521 阅读 · 0 评论 -
Android 反射实战 - 更换APP皮肤<1>
Android 动态更换APP皮肤,个人感觉更多的是开发者对View理解能力,以及Activity等这种容器是如何加载各种视图view的过程,这个view包括系统UI,自定UI等view.这个地方首先就需要先熟悉Factory这个接口,看一看下面做一个测试工程: : 新建一个Android 工程项目,目录树如下: : OneplusFactoryImpl.java 类程序如下:/*原创 2015-12-08 22:27:38 · 566 阅读 · 0 评论 -
Android 反射接口Interface应用
一般直接使用反射接口的并不多,一般用于辅助反射其他的,或者后面所说的代理.所以下面简单说一下,废话不多说,步骤如下: : 新建一个Java工程,工程树如下: : 接口类IOneplusInterface.java如下:/** * */package com.oneplus.interfaces;/** * @author zhibao.liu *原创 2015-12-08 19:53:43 · 2033 阅读 · 0 评论 -
Android 反射技术应用手稿
反射其实也不是什么新的技术,有时候也不多常见,但是我发现,当一个开发常见反射技术的时候,他已经不在是一个普通的开发者了,曾经听一位百度的朋友说过一句话:只要精通反射技术,Android系统没有你改不了的东西,没有你动不了的东西,似乎有点夸张,不过当我在工作中使用时,发现它的重要性的时候,我比较惊讶的发现还有这么一个技术,居然是可以达到四两拨千斤.当然最开始是自己在研究APP模块化开发(俗称:插原创 2015-12-08 18:08:05 · 562 阅读 · 2 评论 -
Android 反射实战 - 更换APP皮肤<3>
前面的两节写了一下,好像和真正更新皮肤没什么特别关系,这篇提供一个demo供阅读者了解一下,根据我提供的链接,下载我的demo.操作步骤如下: : eclipse中,先导入OneplusFactoryApp工程,如下: : 再导入OneplusSkin这个工程,如下:这个工程只是在values文件夹下把替换对应的资源更新到values各个文件里面,比如如果更新文字内容,原创 2015-12-10 15:57:05 · 360 阅读 · 0 评论 -
Android 反射实战 - 更换APP皮肤<2>
前面通过实现Factory来获取所有的UI和属性等.将前面那个工程进行调整,参考其他网络上面的一些信息,调整和更新ActionBar右上角的menu字体颜色和背景,通过这个小例子,从某种程度可以反映更换APP皮肤基本的思路.package com.oneplus.factoryimplapp;import android.app.Activity;import android.c原创 2015-12-09 17:11:02 · 433 阅读 · 0 评论 -
Android 反射实战
前面做了很多个demo去学习如何反射字段,方法,代理之类的等等,有一些给了实际的应用,有一些没有,看起来似乎没有什么实际价值,所以现在给出一个实战,开发条件需要的是一个jar包,这里以com.qti.snapdragon.sdk.display.jar的jar为例.调试设备以Oneplus二代旗舰机为例,jar放在Oneplus二代手机的/system/framework/目录下,普通读者可以放到原创 2015-12-08 22:12:29 · 1770 阅读 · 0 评论 -
Android 通过反射综合应用-获取插件Plugin资源
通过前面的基础内容,做一个Android 资源更新的插件应该没有问题,读者只要将插件的apk当做资源包就可以了,需要更新的资源全部打包到插件包中.在正式开篇之前,可能很多人在网上查找,主Host APK和plugin之间还需要设置相同的sharedUserId,但是我下面没有做这个要求,因为设置了sharedUserId即代表主Host APK和plugin在同一个进程,这样可以”辨识对方原创 2015-12-08 20:27:05 · 1012 阅读 · 0 评论 -
Android Java 动态代理应用
我当时勉强搞定其他那些反射方法,变量等等的时候,还不知道java动态代理是个什么东西,闻所未闻,只是实际工作中,遇见一个类似下面的东东,给难倒了:onClickListener listener=new onClickListener(){ @Override public void onClick() { // TODO Auto-generated method st原创 2015-12-08 20:09:50 · 461 阅读 · 0 评论 -
Android 反射Construct应用
写Method方法后,再来搞定反射构造方法,当然可能要被很多正规出书的人嗤之以鼻,但是这一切都不重要,重要的是,对于一个初学者,以本人自己学习的过程,颠倒的来写,会让人更容易接受一些. 同样的,给出Constructor类的几个API :newInstance(Object... initargs) throws Insta原创 2015-12-08 19:48:35 · 553 阅读 · 0 评论 -
Android 反射应用---控制Dialog dismiss
有时候不想用DialogActivity来做简单的登入界面,就直接使用Dialog来做,但是Dialog有一个问题就是,点击确认或者取消按钮后,Dialog弹框会消失.直接上程序: : 新建Android 工程如下: : 主要程序:DurianMainActivity.javapackage org.durian.durianalertdia原创 2016-01-12 19:06:23 · 618 阅读 · 0 评论