Android签名机制详解 在Android中,所有安装到系统的应用都必须有一个数字证书,此证书用于标识特定开发者所开发的某款应用程序的一个版本。应用程序的数字证书主体放置在META-INF目录下,共包括MANIFEST.MF、CERT.SF和CERT.RSA三个文件,其中MANIFEST.MF文件包括对安装文件包中所有文件的SHA1摘要信息;CERT.SF文件包含使用开发者私钥签名后的文件摘要信息;CERT.RSA包含开发
数字签名和数字证书 数字签名和数字证书其实数字签名的概念很简单。大家知道,要确保可靠通信,必须要解决两个问题:首先,要确定消息的来源确实是其申明的那个人;其次,要保证信息在传递的过程中不被第三方篡改,即使被篡改了,也可以发觉出来。所谓数字签名,就是为了解决这两个问题而产生的,它是对前面提到的非对称加密技术与数字摘要技术的一个具体的应用。对于消息的发送者来说,先要生成一对公私钥对,将公钥给消息的
为Android中PackageManagerService添加方法 PackageManagerService相关类结构分析从上图可以看出若想为PackageManagerService添加方法需要进行以下改动1,在IPackageManager.aidl文件中增加方法的声明;2,在PackageManager类中增加抽象方法说明;3,在ApplicationPackageManager中增加方法,具体实现为调用远程PackageMan
Android DexClassLoader加载文件相关疑问 1,对于一个java文件生成的jar文件,其中是否包含其父类的方法字节码?比如MainActivity类继承自Activity类,那么我把MainActivity单独导出为一个jar文件,然后用DexClassLoader加载可以不可以?
Android Bound Service实现方法详解 Android中的service是运行在后台的组件,如果其他组件(比如Activity)需要与后台的service交互,有以下三个途径:1,若参与交互的service,activity运行在一个进程中,那么只需要在service的onBind方法中返回一个你自己的实现的Binder对象(这个Binder类是service的内部类),然后就可以通过这个binder对象与service交互,比如说
从虚拟机视角谈 Java 应用性能优化 Java 的普及和广泛应用,以及其基于虚拟机运行的机制,使得性能问题越来越重要。本文从 Java 虚拟机的角度,特别是垃圾回收机制来剖析了 Java 应用程序设计需要注意的方面,并总结出了几条非常容易被忽视的设计、编写代码的原则和习惯。最后通过实例来介绍几种主要的 Java Profiler 工具对我们进行开发和分析的帮助。本文要求读者具有一定的 Java 虚拟机的基础知识,一定的 Java 设计
快速排序 public class main { public static void main(String[] args) { // TODO Auto-generated method stub int[] inputs = new int[] { 1, 6, 2, 5, 8, 6, 9, 8, 7, 1, 2, 3, 5, 56, 5, 2 }; quickSort(input
回车与换行 回车和换行今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于
android emulator创建avd命令 android avd配置信息的生成:android avd的创建格式为:android create avd -n your-avd-name -t your-targets其中:-n的参数为我们要创建的avd的名字;-t的参数为Available Android targets的id,我们可以使用命令:android list查寻其具体信息。$android listA
解决Android emulator运行编译好的源码黑屏 编译好ICS源码后用以下命令emulator -system system.img -data userdata.img -ramdisk ramdisk.img会出现黑屏解决方法:添加一个参数-kernel #AndroidHOme#/prebuilt/android-arm/kernel/kernel-qemu-armv7 -system system.img -dat
JAVA中堆、栈、常量池以及equal,==,hashcode的理解 以下是本人学习JAVA时的一点理解和感悟,如果有不对的地方还请大家批评指正。JAVA和C语言一个很大的不同就是:在C语言中我们可以通过“&”很容易的获取一个对象的地址,而在JAVA中,我们却似乎找不到什么方法可以获取到对象的地址(有人可能以为hashcode就代表地址,其实不然,两个不同的对象hashcode完全可能一样),但绝不代表JAVA中没有地址的概念,只是出于安
java常量池 Java的8种基本类型(Byte, Short, Integer, Long, Character, Boolean, Float, Double), 除Float和Double以外, 其它六种都实现了常量池, 但是它们只在大于等于-128并且小于等于127时才使用常量池。由如下例子可以看出: [java] view plaincopy
java常量池 Java常量池详解之一道比较蛋疼的面试题 今天My colleague问我一个让他头疼的Java question,求输出结果 代码如下:/** * * @author DreamSea 2011-11-19 */public class IntegerTest { public static void main(String[] a
Eclipse注释模板及设置 设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素啦。现就每一个元素逐一介绍:文件(Files)注释标签:/** * @Title: ${file_name}* @Package ${package_name}* @Description: