Android
文章平均质量分 95
milanac007
这个作者很懒,什么都没留下…
展开
-
CA和数字证书
Certificate Authority,简称CA,是数字证书认证中心的简称,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。CA的作用是检查证书持有者身份的合法性,并签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理。CA证书的内容主要包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签名和有效期等等。目前,证书的格式和验证方法普遍遵循X.509 国际标准。数字证书在用户公钥后附加了用户信息及CA的签名。使用原创 2021-01-31 23:18:51 · 4630 阅读 · 1 评论 -
详解编辑.9格式(9patch)图片
详解编辑格式.9图片前言前言在实际开发中经常遇到一种情况: 用某张图片做控件背景,背景图片拉伸后导致显示变形。比如聊天窗口的气泡显示框,单纯的气泡图片不能自适应内容,导致文字或图片等超过框边界。又比如App的启动页放一张图片全屏显示,因为Android的机型屏幕尺寸、分辨率太多,导致这张图片在某些机型上显示图像变形。这时,9patch图片就派上用场了。9patch,又称".9"图片,与常规的图...原创 2020-04-17 11:51:55 · 1891 阅读 · 0 评论 -
Android Gradle Study
Android Gradle StudyGradle Recipes for Android(共168页) 第2页Gradle for Android Basicsgradle命令行编译Android应用工程Setting Project PropertiesGradle Recipes for Android(共168页) 第2页////Android Studio used Gradle...原创 2020-03-10 21:48:51 · 581 阅读 · 0 评论 -
Android混淆之ProGuard
文章目录初识ProGuardProGuard详解什么在压缩?什么是混淆?反射混淆选项非keep选项keep选项class_specificationProGuard其他需要注意的事项一份通用的ProGuard混淆文件初识ProGuardAndroid开发的小伙伴们都或多或少的接触过混淆,很多人都对混淆很困惑。需要发版的时候,从网上load一份混淆文件,或从其他项目中拷贝一份过来,修改一下,管用...原创 2019-12-20 22:47:20 · 1120 阅读 · 0 评论 -
java 泛型总结
java 泛型总结前言泛型类和泛型方法泛型类泛型方法静态泛型方法类型变量的限定类型擦除虚拟机解析泛型多态与类型擦除小结java泛型的限制泛型类型的继承规则注意点通配符子类型限定超类型限定无限定通配符前言泛型机制是Java SE 5.0开始引入的,没有泛型之前,不同类型的对象重用相同的代码时,普遍使用Object变量,然后再进行强制类型转换。java中的ArrayList就是一个泛型类。假设自己...原创 2019-11-13 21:38:46 · 328 阅读 · 0 评论 -
JNI学习总结
JNI学习总结JNI简介JavaVM和JNIEnvJNI Types and Data StructuresPrimitive TypesReference TypesField and Method IDsThe Value TypeJNI注册JNI静态注册静态注册的示例代码JNI静态注册的优缺点JNI动态注册Type Signatures静态注册的示例代码功能快捷键合理的创建标题,有助于目录的...原创 2019-10-31 13:00:38 · 225 阅读 · 0 评论 -
The Invocation API
翻译自https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/invocation.htmlChapter 5The Invocation API allows software vendors to load the Java VM into an arbitrary native application. Ve...原创 2019-10-17 21:54:53 · 201 阅读 · 0 评论 -
JNI Functions
翻译自https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.htmlChapter 4This chapter serves as the reference section for the JNI functions. It provides a complete listing of ...原创 2019-10-17 16:53:33 · 315 阅读 · 0 评论 -
关于aar的一些坑
1. gradle工程如果有远程依赖,则生成aar后,默认不会包含这些远程依赖。所以如果主工程引用了若干aar,应该检查aar对应的原工程是否有远程依赖,如果有的话,都应该在主工程中添加。否则编译会报NoClassDefineException。以github上的usb carema驱动为例,引用其aar的同时应包含对应远程依赖:dependencies { compile fileTre...原创 2019-01-18 14:24:05 · 1344 阅读 · 0 评论 -
Varint数据压缩算法
二进制补码 先说说二进制补码。对于有符号型整数的二进制表示而言:1. 最高位是符号位,0代表正数,1代表负数;2. 正数和0的反码和补码都是本身;3. 对于负数,反码就是符号位不变,其他各位依次取反;补码就是在反码的基础上加1;以int32举例: 数值 源码 反码 补码 15 0...0,0000,1111 共32bit...原创 2019-09-30 16:27:39 · 1661 阅读 · 0 评论 -
JNI Tips
JNI Tips本文翻译自 Android/sdk/docs/training/articles/perf-jni.html,大体为意译,如有不足之处,请指正。JNI是Java本地接口。 它定义了一种用Java编写的托管代码与用C/C++编写的本地代码交互的方式。它与供应商无关,支持从动态库中加载代码,虽然有时非常麻烦,但效率相当高。如果你还不熟悉JNI,请先阅读Java Native...原创 2018-04-09 10:12:20 · 283 阅读 · 0 评论 -
Android 指纹识别加解密
主要用到的是FingerprintManager这个类,此类是访问指纹硬件的便捷类,通过Context#getSystemService(Context.FINGERPRINT_SERVICE)获取相应的单例。应用场景:在指纹加密模块中对一个具有某种特定功能的数据(比如密码等)进行加密;在其他需要进行密码验证的地方,通过指纹解密模块将加密的数据还原后验证。首先在Manifest.xml中添加权限申...原创 2018-04-02 16:10:29 · 3109 阅读 · 2 评论 -
MD5算法
文章内容大部分摘自百度百科。 MD5Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data SecurityInc. April 1992)。MD5即Me...转载 2018-04-11 17:36:19 · 448 阅读 · 0 评论 -
Windows下,Android Studio项目路径中包含中文字符无法编译的问题
Android Studio项目路径中包含中文字符无法编译的问题报错Your project path contains non-ASCII characters.Android Studio 报下面的错误Error:(1, 0) Your project path contains non-ASCII characters. This will most likely cause the bui...原创 2018-05-17 17:48:35 · 5313 阅读 · 2 评论 -
ANR
本文部分内容摘自http://rayleeya.iteye.com/blog/1955652,并进行了总结和修改1.1 ANR简介ANR,"Application Not Responding"的缩写,中文意思为"应用程序无响应"。在Android中,ActivityManagerService(简称AMS)和WindowManagerService(简称WMS)会监测应用程序的响应时...原创 2018-05-30 17:41:46 · 798 阅读 · 0 评论 -
HTTPS单向认证和双向认证
对于使用AsyncHttpClient做网络请求的客户端而言1. 单向认证:中信蓝牙key广播报文(1170):020106 0A09434954494331313730 1016F0FFBD6D80DADF0000000000000000 31byte1BFF5444010001DC41A6D729E8BC0A393C5D622C9355721088D82C06 0226FF 31by...原创 2018-05-18 12:21:33 · 1040 阅读 · 0 评论 -
ANR2
1.2.2 ANR信息是如何输出的我们再来看看这些log是怎样被输出的,这很重要,知其然,也要知其所以然。代码在ActivityManagerService类中,找到它的appNotResponding函数。final void appNotResponding(ProcessRecord app, ActivityRecord activity,ActivityRecord parent, fi...原创 2018-05-30 17:50:14 · 201 阅读 · 0 评论 -
JNI Introduction
翻译自 https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/intro.htmlChapter 1本章介绍Java本地接口(JNI)。 JNI是一个本地编程接口。 它允许在Java虚拟机(VM)内运行的Java代码与使用其他编程语言(如C,C ++和汇编)编写的应用程序和库进行交互操作。JNI最重要的优点是...原创 2019-10-11 16:45:45 · 110 阅读 · 0 评论 -
View绘制流程代码解析
Android开发中,View的绘制流程和事件分发处理流程一直都是初级开发人员理解的难点,也是面试的热点,关于这个话题网上的文章很多,但为了自己加深记忆,还是决定自己写一篇,欢迎志同道合的同学一起交流进步。1.1 View简介 View是用户接口组件的基础构建元素。一个View在屏幕上占据了一个矩形区域,负责绘制和处理事件。ViewGroup是View的子类,它是layout的...原创 2018-08-05 22:30:18 · 223 阅读 · 0 评论 -
ClassLoder总结
1. 关于javac、java我们先从熟知的jdk命令javac、java说起。首先,Android Studio(以下简称AS)创建一个工程,并在默认包名下新建一个HelloWorld的类。然后打开AS自带的Terminal, 路径切换到HelloWrold.java所在的目录,依次执行javac和java命令:javac命令执行正常,但java命令却报错:错...原创 2018-10-25 22:17:09 · 282 阅读 · 0 评论 -
java中正则表达式匹配ip地址的写法
对于IPv4的地址格式,总长度 32位=4段*8位,每段之间用.分割, 每段都是0-255之间的十进制数值。将0-255用正则表达式表示,可以分成一下几块来分别考虑:取值区间 特点 正则写法 可合并的写法 可合并的写法 可合并的写法 0-9 一位数,只有个位,取值是0~9 \d [1-9]?\d 1\d{2}|[1-9]?\d ...原创 2018-09-27 16:12:24 · 11133 阅读 · 1 评论 -
C中的static和extern总结
我们知道,C语言中没有类的概念,代码都是以文件为单位组织的。对于非局部变量和函数,只能在唯一的一个C文件中定义一次,多文件同时定义就会导致编译器报重复定义的错误。而为了能在其他C代码文件中使用这些非局部变量和函数,就有了extern关键字。同时,为了文件的代码隔离,有些变量和函数不想被其他文件访问,就有了static关键字。下面将围绕extern和static说明它们的作用。1. exter...原创 2018-10-25 22:08:02 · 1421 阅读 · 0 评论 -
Android Keystore System介绍
翻译 sdk/docs/training/articles/keystore.html?q=keystore#q=keystoreKeyStore KeyStore负责维护加密密钥及其所有者。可以通过修改JAVA_HOME/lib/security/java.security文件的'keystore.type'属性更改系统密钥库的类型。Android Keystore系统允许您将密钥存储在容器中,...原创 2018-04-02 16:10:01 · 2256 阅读 · 0 评论