
Android
文章平均质量分 74
iteye_1194
这个作者很懒,什么都没留下…
展开
-
adb常用命令
Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。可以通过下列几种方法加入adb:在设备上运行shell命令通过端口转发来管理模拟器或设备从模拟器或设备上拷贝来或拷贝走文件下面对adb进行了介绍并描述了常见的使用.Contents概要发出adb命令查询模拟器/设备实例给特定的模拟器/设备实例发送命令安装软件转...原创 2013-04-03 00:17:42 · 76 阅读 · 0 评论 -
启动activity过程(转)
启动activity:**android.process.acore进程1.Acticity.startActivityForResult()2.Instrumention.execStartActivity();3.ActivityManagerNative.getDefault() .startActivity() 3.1 ActivityManagerNati...原创 2013-01-04 14:41:55 · 108 阅读 · 0 评论 -
Android C+源码笔记(1)
const char* rootDir = getenv("ANDROID_ROOT"); if (rootDir == NULL) { rootDir = "/system"; if (!hasDir("/system")) { return; } setenv("ANDROID_R...原创 2012-11-26 20:05:05 · 99 阅读 · 0 评论 -
LayoutAnimationController 的使用方法转~
一 LayoutAnimationController 的使用方法二 ListView 与Animations 结合使用三 AnimationListener 的使用方法介绍LayoutAnimationController ,这个类相当重要,它可以增强用户体验.LayoutAnimationController 用于为一个layout 里面的控件,或者是一个ViewG...原创 2012-11-25 19:23:00 · 122 阅读 · 0 评论 -
Android各版本新增功能一览(转)
Android3.0新增功能:主要增加全息主题 1、Fragments:较activity粒度小的拥有独自生命周期的模块。可作为acitivity的一部分,activity通过FragmentManager管理独自的fragments back stack。 2、Action Bar:activity顶部标题栏的替代品,通常含logo,点击出现原menu菜单项--称作a...原创 2013-12-05 20:43:24 · 171 阅读 · 0 评论 -
NotificationManager和Notification的使用总结(转)
这几天一直在修改twigee的源代码,其中一个要加入的功能是常驻Notification栏,以前写的时候只能出现 在“通知”这一组中,想把它放在“正在运行”组中却不知道怎么放,查了下官方文档,找到了方法,在notification的flags字段中加一下 “FLAG_ONGOING_EVENT”就可以了。同时我也把Notification的使用方法给总结了一下。详见下文:(1)、使用...原创 2013-11-26 12:51:27 · 114 阅读 · 0 评论 -
java单例 序列化陷阱~
序列化是java中一个很常用而且很强大的功能。个人的看法,将java对象保存到磁盘,以后再从磁盘中读出来,这是java最常用到的功能之一。在基本的情况下,序列化能够“简单的起作用(just work)”。然而,随着越来越复杂的对象格式以及设计模式的被采用,透明的对象(transparent object)序列化可以“简单的起作用(just work)”的可能性变得越来越不可能了。在处理一个可...原创 2012-11-21 15:24:55 · 128 阅读 · 0 评论 -
jni事件传递回掉注册代码~
InputQueue.registerInputChannel(mInputChannel, mInputHandler, Looper.myQueue());原创 2012-11-21 14:59:58 · 103 阅读 · 0 评论 -
Android焦点变换相关代码~
if (direction != 0) { View focused = mView != null ? mView.findFocus() : null; if (focused != null) { View v = focused.focusSearch(direction)...原创 2012-11-21 11:54:12 · 142 阅读 · 0 评论 -
Java中循环嵌套跳出的高效写法
(下面写的这些并不是Jdk的新特性,也不是Java某个版本提供的语法糖,不过是java语言早就提供的书写技巧,但是却被一直忽略的技巧)最近代码中总能用到循环嵌套的情况,大致模板如下:forech1(..){ forech2(...) { ... checkbreak1(); ... } ... ...2014-04-24 19:31:07 · 433 阅读 · 0 评论 -
dumpsys工具
首先看一下dumpsys有哪些功能:dumpsys 用来给出手机中所有应用程序的信息,并且也会给出现在手机的状态。dumpsys [Option] meminfo 显示内存信息 cpuinfo 显示CPU信息 account 显示accounts信息 activity 显示所有的act...原创 2013-01-28 01:14:17 · 80 阅读 · 0 评论 -
Android调试工具之adbs
这两天在看Android的编译及制作rootfs工具的相关流程,无意中在mydroid/build/tools/中发现了它——adbs!adbs是一个用python写的命令行工具,利用了adb,addr2line, objdump这三个工具,大家看了这三个工具,可能就能猜到,adbs是用来分析应用程序尤其是与函数库相关的crash问题:)具体的代码就不多看了,无外乎是一些运行环境的设定。...原创 2013-01-28 01:15:18 · 163 阅读 · 0 评论 -
dalvikvm 命令调试(转)
当Java程序运行时,都是由一个虚拟机来解释Java的字节码,它将这些字节码翻译成本地CPU的指令码,然后执行。对Java程序而言,负责解释并执行的就是一个虚拟机,而对于Linux而言,这个进程只是一个普通的进程,它与一个只有一行代码的Hello World可执行程序无本质区别。所以启动一个虚拟机的方法就跟启动任何一个可执行程序的方法是相同的,那就是在命令行下输入可执行程序的名称,并在参数中指定...原创 2013-04-03 00:09:49 · 216 阅读 · 0 评论 -
LayoutAnimationController
1. LayoutAnimationController用于为一个Layout里面的控件或者是Viewgroup的控件设置动画效果。。2.每一个控件都会有相同的动画效果3.这些动画效果在不同的时间现实出来4.LayoutAnimationController不仅可以在Layout里面实现也可以在代码中实现。。怎么样在xml中使用LayoutAnimationController:...原创 2013-04-02 15:27:40 · 129 阅读 · 0 评论 -
Android 查看内存详解(转)
本来想着写点啥的,但发现已经有很多人写了类似的文章了。就直接转载了写得比较齐全的文章。本人已试验过方法一、六、七、八。 【文章来源】http://blog.youkuaiyun.com/hudashi/article/details/7050897 查看内存使用的方式有很多种,但是各个方式查看到的结果可能会有微略不同。方式一,Running services通过手机上Runn...原创 2013-04-01 15:31:52 · 171 阅读 · 0 评论 -
Android查看内存和CPU~
.一、利用Android API函数查看1.1 ActivityManager查看可用内存。ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo(); am.getMemoryInfo(outInfo); outInfo.availMem即为可用空闲内存。1.2、android.os.Debug查询PSS,VSS,...原创 2013-04-01 15:19:12 · 155 阅读 · 0 评论 -
Android 动画框架(一)转
Android 动画框架详解,第 1 部分2011-01-12 20:18 by 王克伟, 4162 阅读, 1 评论, 收藏, 编辑原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt1/index.htmlAndroid 平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果...原创 2013-04-01 12:25:40 · 86 阅读 · 0 评论 -
smali语法~(转)
dalvik字节码有两种类型,原始类型和引用类型。对象和数组是引用类型,其它都是原始类型。V void,只能用于返回值类型Z booleanB byteS shortC charI intJ long(64位)F floatD double(64位)对象以Lpackage/name/ObjectName;的形式表示。前面的L表示这是一个对象类型,package/name/是该对...原创 2013-03-28 13:17:16 · 106 阅读 · 0 评论 -
Android 如何在自定义界面上启用输入法 (How to enable inputmethod for the custom UI) 转...
在android中经常会自定义组件,自定义的组件可以通过继承系统的已经有的组件来实现。也可以直接继承自View或者是SurfaceView 界面。有时候想在这些界面中输入文字,例如游戏中经常用到的SurfaceView上让用户输入文字。由于多数android都没有实体的输入键盘,另外 android中都启用了输入法功能,如非英文用户都需要安装指定的输入法等。 因此在这些界面中输入文字首先需要调用...原创 2013-02-25 11:30:25 · 129 阅读 · 0 评论 -
Android 窗口管理
一、概述在Android系统中,从设计的角度来看,窗口管理系统是基于C/S模式的。整个窗口系统分为服务端和客户端两大部分,客户端负责请求创建窗口和使用窗口,服务端完成窗口的维护,窗口显示等。 在Client端,并不是直接和WindowManagerService交互,而是直接和本地对象WindowManager交互,然后由WindowManager完成和Window...原创 2013-01-30 12:29:30 · 130 阅读 · 0 评论 -
Android应用程序资源的编译和打包过程分析 (转自老罗的博客)
我们知道,在一个APK文件中,除了有代码文件之外,还有很多资源文件。这些资源文件是通过Android资源打包工具aapt(Android Asset Package Tool)打包到APK文件里面的。在打包之前,大部分文本格式的XML资源文件还会被编译成二进制格式的XML资源文件。在本文中,我们就详细分析 XML资源文件的编译和打包过程,为后面深入了解Android系统的资源管理框架打下...原创 2013-11-13 10:57:54 · 311 阅读 · 0 评论 -
Proguard 源码分析 (七) 混淆
本章我们讲Proguard非常重要的一个步骤:混淆Obfuscator混淆的目的很明显,是为了混淆语义。我们能轻车熟路的找到混淆的源头:Obfuscator 的execute方法我们来看一下就行混淆器给我们设置了怎样的访问者:ClassVisitor memberInfoLinker = configuration.useUniqueClassMemb...原创 2013-11-10 21:19:00 · 208 阅读 · 0 评论 -
XMPP协议(转)
本文介绍XMPP协议原理及相关信息。 XMPP协议简介 XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messaging,即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和...原创 2012-05-30 12:38:17 · 68 阅读 · 0 评论 -
Android WebView控件
android.webkit库聚合了webkit内核的浏览器功能,webview就是她的一个控件,可以使得网页轻松的内嵌到app里。并且比较强大的是,还可以直接跟js相互调用。webview有两个方法:setWebChromeClient和setWebClientsetWebChromeClient主要处理解析,渲染网页等浏览器做的事情WebChromeClient是辅助WebV...原创 2013-06-06 11:46:37 · 78 阅读 · 0 评论 -
android3.0之Fragment(碎片)基础
Fragment是Android honeycomb 3.0新增的概念,Fragment名为碎片不过却和Activity十分相似,下面Android123介绍下Android Fragment的作用和用法。Fragment用来描述一些行为或一部分用户界面在一个Activity中,你可以合并多个fragment在一个单独的activity中建立多个UI面板,同时重用fragment在多个act...原创 2012-07-31 17:11:31 · 126 阅读 · 0 评论 -
调用隐藏类的方法(转)
在上一篇中,我解释了为什么我们不通过反射就会很难使用internal和hidden API。这是因为android.jar中就没包含这些API,因此,没人能够在编译时引用这些类。这篇文章将描述如何还原最初的android.jar。这将允许我们像使用公开的API那样使用internal和hidden API。如何得到原版android.jar?我们需要修改android.jar,这...原创 2012-04-13 01:04:25 · 210 阅读 · 0 评论 -
Android之自由选择TextView的文字(转)
用过EditText的都知道,EditText有个特点,当在里面长按的时 候,会出现一个ContextMenu,提供了选择文字,复制,剪切等功能。有时候,我们会想,如果不出现这个ContextMenu,直接就在view 上选择文字,那多美好啊。相信很多人抱有这样的想法,很不幸,我也是。于是我就研究了一下EditText和TextView的代码,然后将这个问题解决 了。网上很多资料都说,要选择...原创 2012-04-03 18:17:39 · 153 阅读 · 0 评论 -
Android 的源代码结构
Google提供的Android包含了原始Android的目标机代码,主机编译工具、仿真环境,代码包经过解压缩后,第一级别的目录和文件如下所示:.|-- Makefile(全局的Makefile)|-- bionic(Bionic含义为仿生,这里面是一些基础的库的源代码)|-- bootloader(引导加载器)|-- build (build目录中的内容不是目标所用的代码,而是编译和配置所需要的...原创 2012-01-31 21:39:26 · 91 阅读 · 0 评论 -
Android Binder通讯机制
[size=x-large]Android深入浅出之Binder机制一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以MediaService的例子来分析Binder的使用:l S...原创 2011-10-24 10:40:43 · 80 阅读 · 0 评论 -
android dalvik vm alloc(转)
[size=x-large]gagbage collection:为了跟踪对象的使用情况,必须知道内存中的对象是否在被使用,这就需要一个标志指示对象是否正在使用,也就是mark bits。一种方案是每个对象有自己相关联的mark bits。还有一种是将对象和mark bits分开,有独立的存放mark bits的内存区域。当你将mark bits 与对象一起存放的时候,就会消耗更多的缓冲区。当...原创 2011-09-12 00:34:21 · 97 阅读 · 0 评论 -
android clipPath切割画布
(转自:http://wallage.blog.163.com/blog/static/1738962420101012439991/) [java] view plaincopypublic class PictureTestActivity extends Activity { @Override p...原创 2013-08-29 12:00:10 · 457 阅读 · 0 评论 -
dex文件结构(转)
Dex文件和Dalvik虚拟机在Android系统中,dex文件是可以直接在Dalvik虚拟机中加载运行的文件。通过ADT,经过复杂的编译,可以把java源代码转换为dex文 件。 那么这个文件的格式是什么样的呢?为什么Android不直接使用class文件,而采用这个不一样文件呢?其实它是针对嵌入式系统优化的结 果,Dalvik虚拟机的指令码并不是标准的Java虚拟机指令码,而是使用了...原创 2013-09-03 14:10:36 · 119 阅读 · 0 评论 -
chrome开源工程(转)
在chrome地址栏输入about:credits就可以看到chrome使用的开源工程了,之前也有一篇介绍chrome开源工程的文章:Code Reuse in Google Chrome Browser,大家可以参考一下。David M. Gay's floating point routines homepagefp是netlib的一部分,主要用于浮点数运算,数的二进制与十进制的...原创 2013-09-13 10:42:19 · 179 阅读 · 0 评论 -
Proguard源码分析(六)前文总结
目前,我们读了Proguard的代码,相信已经开始对访问者模式和装饰器模式有很深的理解,现在我们再带着这两个模式认真的回顾下代码,因为只有这样,我们才能更好的进行下面的代码阅读。但是如果你还带着疑问,不妨看下前面的章节,或者看一些有关设计模式的书体会一下。我们回到我们熟悉的入口Proguard类的execute方法中:第一部分:读取(readinput)InputReader.execute: C...2013-11-05 14:40:44 · 175 阅读 · 0 评论 -
Proguard源码分析(五) ConfigurationParser.keep参数
本章节我们绕回来讲Keep参数,也就是ConfigurationParser 这个类。ConfigurationParser这个类是非常重要的类,如果你已经开始看源码,你会发现所有的类和功能都围着它来转,本章节我们来揭开它的地一层面纱。else if (ConfigurationConstants.KEEP_OPTION.startsWith(nextWord)) ...原创 2013-10-31 14:43:50 · 264 阅读 · 0 评论 -
Proguard源码分析(四) 压缩
上一次我们讲了seed文件,这次我们说压缩,对应的输出文件是usage,可以通过命令-printusage usage.txt来配置压缩的目的是为了删除一些我们不使用的类和方法,从而达到字节码压缩的目的。这里我贴出我的微博:http://weibo.com/1752090185/profile?rightmod=1&wvr=5&mod=personinfo有意向可以加...2013-10-30 10:59:45 · 198 阅读 · 0 评论 -
Proguard源码分析(三)Seed文件
Seed文件就是保持住的类文件,直白一点就是不被混淆的文件,他主要是通过printSeeds() 方法实现这里我们要引入一个类ClassVisitor 。这个我们要区分ClassPoolVisitorClassPoolVisitor可以看成是ClassVisitor的组合,也就是说我们单纯看代码实现的时候可以只关注ClassVisitor。先看下seed的输出文件:1:com.t...2013-10-29 12:45:01 · 256 阅读 · 0 评论 -
Proguard源码分析(二)输出文件
ProGuard outputs thefollowing files after it runs:dump.txt···描述apk文件中所有类文件的内部结构 PrintStream ps = createPrintStream(configuration.dump);try{ programClassPool.classesAccept(new ClassPrinter(ps))...原创 2013-10-28 10:28:07 · 151 阅读 · 0 评论 -
Android 2.2.2到Android 4.2.2源码下载地址(转)
Android 2.2.2到Android 4.2.2源码下载地址 可能有些的地址已经过时了 Android-2.2.2_r1.tar.bz2 迅雷下载 Android-2.2.2_r1-20121015.tar.bz2 迅雷下载 Android-2.3.3_r1 http...原创 2013-10-28 10:13:28 · 255 阅读 · 0 评论 -
代码混淆器Proguard源码分析(一) 读取
Proguard是Android中经常用的混淆工具,当然你也可以采用其他的混淆工具。但我这边谈到的只是Proguard。大多数人了解Proguard大都通过文档,但是我这次决定从源码入手,分析Proguard。我个人觉得Proguard的源码写的还是非常的出彩的,当然你可能跟我有不一样的品味,我也不做深究。我这边只想说明一点,那就是,如果你想从这几篇文章里面试图不通过源码就弄懂文章的主体意思...2013-10-22 19:40:18 · 339 阅读 · 0 评论