Android
文章平均质量分 85
zhong_wenjun
专注Android开发
展开
-
Android Adapter的几种用法
1、继承BaseAdapterpublic class ListViewAdapter extends BaseAdapter{ LayoutInflater inflater; private Context context; private String[] content; private int count; public ListViewAdapter(C原创 2012-07-16 16:25:53 · 1213 阅读 · 0 评论 -
APK签名机制之——V2签名机制详解
通过前一篇《Apk签名机制之——JAR签名机制详解》的分析我们知道,JAR签名需要对apk内所有文件进行hash校验,当资源较多时签名验证速度较慢。为了加快验证速度并加强完整性保证,Andorid在7.0引入一种全文件签名方案V2。下面来看V2方案的具体设计原理。原创 2018-07-15 11:04:01 · 4743 阅读 · 3 评论 -
APK签名机制之——JAR签名机制详解
在《APK签名机制原理详解》一文中我们已经了解了APK签名和校验的基本过程,这一篇我们来分析JAR签名机制。JAR签名对对jar包进行签名的一种机制,由于jar包apk本质上都是zip包,所以可以应用到对apk的签名。本文从JAR签名结构、签名过程,再到签名校验的源码分析,全方面来分析Android中JAR签名及校验的机制。原创 2018-07-01 20:46:39 · 4948 阅读 · 0 评论 -
APK签名机制原理详解
众所周知,Android系统在安装Apk的过程中,会对Apk进行签名校验,校验通过后才能安装成功。那你知道签名校验的机制是什么?具体校验的是什么内容吗?申请第三方SDK(如微信支付)时填入的SAH1值是什么?目前众多的快速批量打包方案又是如何绕过签名检验的?我将通过一系列的文章来解开这些疑惑。原创 2018-07-01 20:36:02 · 11094 阅读 · 2 评论 -
关于Binder,作为应用开发者你需要知道的全部
最近看了很多关于Binder的文章,大部分过于抽象或者过于深入源码细节,真正浅显易懂的文章很少。Binder机制很复杂,想要彻底弄懂比较难,除了需要了解操作系统中的各种知识外,还需要看懂Binder驱动层的代码实现。这篇文章主要从宏观的层面去理解Binder中的各种概念和基本通信过程,只关注Java层的实现,底层实现不做介绍。对于应用开发者而言,理解Binder的基本设计原理和通信过程已经够了,想要深入理解Binder需要自行阅读源码。原创 2018-06-16 09:55:08 · 3650 阅读 · 2 评论 -
Android APK size压缩(瘦身)
随着业务需求的扩展,apk size会不断增加,size太大会影响用户下载和升级的意愿,压缩size是每个大型app必须的工作。首先来看一下apk的构成主要包含资源和代码,那压缩size就要从这2方面入手。1. 开启proguardproguard不仅能够混淆,而且能够优化代码,可以大大减小dex文件的大小。但需要对被反射引用的类需要做好keep原创 2016-09-14 21:12:59 · 7379 阅读 · 1 评论 -
Android ListView复用机制详解
最近用到RecyclerView,想研究RecyclerView和ListView复用机制的区别,这篇文章以解析源码的方式解析ListView复用机制的原理。ListView复用是通过AbsListView的RecycleBin内部类来实现的,源码注释如下:/** * The RecycleBin facilitates reuse of views across l原创 2016-09-17 23:02:05 · 3117 阅读 · 2 评论 -
Android N分屏(多窗口)适配
Android N已正式发布,新增了多项特性,详细介绍见官网 https://developer.android.com/about/versions/nougat/android-7.0.html其中最重要新特性的是对多窗口的支持,官方文档 https://developer.android.com/guide/topics/ui/multi-window.html本文只梳理App适配分原创 2016-08-27 21:46:33 · 7109 阅读 · 0 评论 -
根据拼音首字母匹配汉字(电话本联系人查找)
国标码中汉字的分布是有一定规律的,拼音首字母相同的汉字在同一区域(但多音字有例外),分布如下:int[] gbCode = new int[] { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, -1, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 5138原创 2012-07-25 16:13:15 · 2200 阅读 · 0 评论 -
在Edittext中添加图片并为图片添加点击事件
添加图片: ImageSpan imageSpan = new ImageSpan(this, bitmap); SpannableString ss = new SpannableString("photo"); ss.setSpan(imageSpan, 0, "photo".length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); Ed原创 2012-07-16 16:09:15 · 12455 阅读 · 9 评论 -
Android 类似于windows打开文件对话框的实现
源码:public class FileExplorerActivity extends ListActivity{ private final static String FILE_TYPE = "filetype"; private final static String FILE_NAME = "filename"; private ListView listView;原创 2012-07-16 16:37:26 · 1497 阅读 · 0 评论 -
Android 8.0 Service源码分析:启动流程及后台限制详解
在使用Service的过程中,相信不少人有过这些疑问:1) Service的启动流程是怎样的?两种启动方式具体有什么区别?2) Android 8.0+对后台Service究竟做了什么限制?对所有App一视同仁吗?3)前台服务为什么不受限制?前台服务可以不弹前台通知吗?4)JobService的机制是什么,为什么不受后台限制?通过阅读本文,了解清楚Service内部机制,你将弄明白这些问题。原创 2018-10-06 15:27:55 · 3010 阅读 · 1 评论