移动开发 android
whackw
测试相关,尽量做到比开发与运维还要牛
展开
-
java正则表达式 过滤特殊字符的正则表达式
java正则表达式 过滤特殊字符的正则表达式// 过滤特殊字符 public static String StringFilter(String str) throws PatternSyntaxException { // 只允许字母和数字 // String转载 2015-03-19 10:34:30 · 755 阅读 · 0 评论 -
Android 添加系统服务
Android系统本身提供了很多系统服务,如WindowManagerService,PowerManagerService等。下面描述一下添加一个系统服务的具体步骤。1、 撰写一个aidl文件,定义服务的接口,将在编译过程中通过aidl工具生成对应的java接口。一般系统服务的aidl文件都放在framework\base\core\java\android\os目录中。以我所写的转载 2015-03-11 16:55:46 · 497 阅读 · 0 评论 -
Android服务之Service及demo(本地service)
android中服务是运行在后台的东西,级别与activity差不多。既然说service是运行在后台的服务,那么它就是不可见的,没有界面的东西。你可以启动一个服务Service来播放音乐,或者记录你地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作。Service和其他组件一样,都是运行在主线程中,因此不能用它来做耗时的请求或者动作。你可以在服务中开一一个线程,在线程中做耗时动转载 2015-03-11 17:22:02 · 812 阅读 · 0 评论 -
Android服务之Service(AIDL进程间通信)及demo(重要!)
上一节中我们讲解了本地Service,这一节主要是讲解远程Service,这里涉及到了AIDL。好吧,老规矩,先来点基础知识:一.基础知识AIDL的作用 在Android平台,每个应用程序App都运行在自己的进程空间。通常一 个进程不能访问另一个进程的内存空间(一个应用不能访问另一个应用),如果想沟通,需要将对象分解成操作系统可以理解的基本单元,And转载 2015-03-11 17:24:53 · 1252 阅读 · 0 评论 -
IBinder对象在进程间传递的形式
这篇文章是对IBinder对象在进程间传递的形式(一)这篇文章的补充,首先还是把service启动过程的流程图贴上来 Android中主要通过2种方法来获得service IBinder:1. 通过ServiceManager.getService(String Descriptor)来获得Service Manager管理的service的IBinder。转载 2015-03-12 09:01:10 · 688 阅读 · 0 评论 -
android的窗口机制分析------事件处理
由于Android是linux内核的,所以它的事件处理也在linux的基础上完成的,因此本文我们从linux 内核往应用这个方向慢慢理清它的处理过程。 linux内核提供了一个Input子系统来实现的,Input子系统会在/dev/input/路径下创建我们硬件输入设备的节点,一般情况下在我们的手机中这些节点是以eventXX来命名的,如event0,event1等等,但是如果是虚拟转载 2015-03-12 09:02:38 · 731 阅读 · 0 评论 -
Native looper 分析
Looper是android中很重要的概念,它是android application端线程间最主要的通信方式,同时它也是线程内部序列化处理的主要方式,Looper的核心其实是一个消息队列,通过不停的处理Looper消息队列中的消息来完成线程间的通信和线程内部序列化操作。任何线程想要使用消息机制特定的操作,那么必须在线程中创建一个Looper,java端的Looper如何使用不介绍了,所有有过an转载 2015-03-12 09:04:17 · 579 阅读 · 0 评论 -
android IPC通信中的UID和PID识别
IPCThreadState对象维护了2个变量 pid_t mCallingPid; uid_t mCallingUid; 从变量名称来看,这2个变量保存了进程的PID和UID,并且由于这两个变量由IPCThreadState对象维护,可见它们是与IPC相关的。具体它们转载 2015-03-12 08:56:22 · 541 阅读 · 0 评论 -
uiautomation之AccessibilityNodeInfo
UiAutomation 类UiAutomation.performGlobalAction(AccessibilityService.GLOBAL_ACTION_BACK); 按物理back键UiAutomation.performGlobalAction(AccessibilityService.GLOBAL_ACTION_NOTIFICATIONS); 打开通知栏Ui原创 2015-03-12 15:13:33 · 2012 阅读 · 0 评论 -
Android开发之监听或获取手机短信内容
最近做的项目里要监听手机的短消息内容,这个东西好像在最初学的时候都做过,不过现在早忘记了,现在写下来,记住了。前提--权限:[java] view plaincopy"android.permission.RECEIVE_SMS" > "android.permission.READ_SMS" >转载 2015-03-18 15:36:00 · 904 阅读 · 0 评论 -
keytool生成BKS格式的私钥跟信任证书及java实例
keytool生成BKS格式的私钥和信任证书1、下载bcprov-ext-jdk15on-150.jarhttp://downloads.bouncycastle.org/java/bcprov-ext-jdk15on-150.jar2、确认系统的keytool环境为你要操作的jre环境3、将bcprov-ext-jdk15on-150.jar复制到%JRE_H转载 2016-01-06 00:34:45 · 2539 阅读 · 1 评论 -
Android AIDL使用详解
1.什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口icp:interprocess communication :内部进程通信 2.既然aidl可以定义并实现进程通信,那么我们怎么使用它呢?文档/android-sdk/转载 2015-03-11 17:07:54 · 526 阅读 · 0 评论 -
ActivityManagerService分析一:AMS的启动
这一章我们开始分析ActivityManagerService,在后面的介绍中,我们简称为AMS。AMS并不是只用于管理所有的Activity的生命周期,它同时也管理着系统的service、broadcast以及provider等。我们首先还是从AMS的启动开始分析,它的构造以及运行都是在SystemServer当中:[java] view plaincopy转载 2015-03-11 16:21:16 · 1156 阅读 · 0 评论 -
android的窗口机制分析------UI管理系统
Activity可以看做是整个android系统的人机接口,它提供了一个窗口来绘制UI,每个Activity在启动时,我们都需要给它设置一个Content view,作为Activity所呈现的UI内容,这个过程是通过setContentView()方法来实现的。 众所周知,android系统中强化了view的概念,主要是体现在对view的管理上,Android中的view以2种形态转载 2015-03-12 08:56:24 · 629 阅读 · 0 评论 -
Android 中dp 和px 转换及原理分析
具体的转换方法如下,网上都是有的,但是自己看了之后感觉还是有点不明不白的,具体为什么呢,可以继续看后面.Java代码 /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) {转载 2015-03-19 16:04:29 · 597 阅读 · 0 评论 -
Android 之 内存管理
概述在android的开发中,要时刻主要内存的分配和垃圾回收,因为系统为每一个dalvik虚拟机分配的内存是有限的,在google的G1中,分配的最大堆大小只有16M,后来的机器一般都为24M,实在是少的可怜。这样就需要我们在开发过程中要时刻注意。不要因为自己的代码问题而造成OOM错误。JAVA的内存管理大家都知道,android应用层是由java开发的,android的d转载 2015-03-07 10:49:38 · 463 阅读 · 0 评论 -
Android 之 sms 短信
概述SMS(Short Messaging Service), 即我们经常使用的短信服务。它是一种存储和转发服务。也就是说,短消息并不是直接从发送人发送到接收人,而始终通过 SMS 中心进行转发的。如果接收人处于未连接状态(可能电话已关闭),则消息将在接收人再次连接时发送。短信长度一般为140个字节,70个字符。既然我们经常使用短信,那么今天我们就来分析一下短信的实现。说明:本文主要根转载 2015-03-07 10:50:36 · 678 阅读 · 0 评论 -
Android 之 SystemService
SystemServer是Android系统的一个核心进程,它是由zygote进程创建的,因此在android的启动过程中位于zygote之后。android的所有服务循环都是建立在 SystemServer之上的。在SystemServer中,将可以看到它建立了android中的大部分服务,并通过ServerManager的add_service方法把这些服务加入到了ServiceManager转载 2015-03-07 10:47:54 · 393 阅读 · 0 评论 -
Android 之 ServiceManager与服务管理
转载处:http://blog.csdn.net/xieqibao/article/details/6585143ServiceMananger是android中比较重要的一个进程,它是在init进程启动之后启动,从名字上就可以看出来它是用来管理系统中的service。比如:InputMethodService、ActivityManagerService等。在ServiceManager中有转载 2015-03-07 10:45:55 · 465 阅读 · 0 评论 -
ActivityManager框架解析
转载出处:http://blog.csdn.net/caowenbin/article/details/6036726ActivityManager在操作系统中有重要的作用,本文利用操作系统源码,逐步理清ActivityManager的框架,并从静态类结构图和动态序列图两个角度分别进行剖析,从而帮助开发人员加强对系统框架及进程通信机制的理解。ActivityManager的作用转载 2015-03-07 10:44:20 · 389 阅读 · 0 评论 -
Android Accessibility(辅助功能) 学习
Accessibility:许多Android使用者因为各种情况导致他们要以不同的方式与手机交互。这包括了有些用户由于视力上,身体上,年龄上的问题致使他们不能看完整的屏幕或者使用触屏,也包括了无法很好接收到语音信息和提示的听力能力比较弱的用户。Android提供了Accessibility功能和服务帮助这些用户更加简单地操作设备,包括文字转语音(这个不支持中文),触觉反馈,转载 2015-03-11 16:24:48 · 795 阅读 · 0 评论 -
android启动各种系统服务
《Android内核剖析》第9章Framework的启动过程,详细分析了android内核的内部机制,本章将从init.rc文件开始,继续介绍Android内核的启动过程,以及该过程中相关的重要模块的交互逻辑。本节为大家介绍启动各种系统服务线程。AD:WOT2015 互联网运维与开发者大会 热销抢票9.4.1 启动各种系统服务线程SystemServer进程在Andr转载 2015-03-11 16:23:59 · 742 阅读 · 0 评论 -
uiautomation源码框架分析
android.app.IUiAutomationConnection - This interface contains privileged operations a shell program can perform on behalf of an instrumentation that it runs com.android.server.accessibility.Acce原创 2015-03-11 18:46:34 · 2094 阅读 · 0 评论 -
android的窗口机制分析------ViewRoot类
ViewRoot是GUI管理系统与GUI呈现系统之间的桥梁,根据ViewRoot的定义,我们发现它并不是一个View类型,而是一个Handler。它的主要作用如下:A. 向DecorView分发收到的用户发起的event事件,如按键,触屏,轨迹球等事件;B. 与WindowManagerService交互,完成整个Activity的GUI的绘制。转载 2015-03-12 08:53:43 · 632 阅读 · 0 评论 -
Android各版本代号/版本号/API级别
代号版本号API/NDK级别发布时间-O8.0API level 262017-3-21牛轧糖Nougat7.1.1API level 252016-107.0API level 24转载 2017-07-13 16:51:23 · 15877 阅读 · 0 评论