android
文章平均质量分 68
liujianguangaaa
JAVA软件工程师
展开
-
使用Cygwin下载Android代码树
--官方说明--To set up your Linux development environment, make sure you have the following:●Required Packages: Git 1.5.4 or newer and the GNU Privacy Guard.JDK 5.0, update 12 or higher. Java 6 is ...原创 2011-03-16 20:45:47 · 81 阅读 · 0 评论 -
Android SDK Add-on Configure, Compile and Release
SDK Add-on 是一个比较小众的话题,一是通常厂商不会公开自己的add-on,二是即便公开了,应用开发者也很少使用。所以通常是厂商自己的技术团队自娱自乐,框架团队抽取公用的控件,制成一个 add-on,然后公布给自家的应用程序开发团队。由于是小众的,所以网络中关于这方面的资料比较少。这几天由于工作原因,我有幸接触到 Add-on,因此把这方面的知识进行了汇总,整理成如下内容。这些知识...原创 2011-03-03 08:44:50 · 141 阅读 · 0 评论 -
Activity Task 与 Intent Filter Flag
接触 Android 以来,一直觉得对 task、affinity 和 launch mode 一知半解,这几天潜心阅读 Dev Guide 中的Activities and Tasks,简单做下笔记,梳理下这部分的知识。Android 的一个特色就是 application A 的 activity 可以启动 application B 的 activity,尽管 A 和 B 是毫无干系...原创 2011-03-03 08:42:36 · 100 阅读 · 0 评论 -
android的原理,不需要太多的剩余内存
不用在意剩余内存的大小。其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实...原创 2011-03-02 16:05:32 · 86 阅读 · 0 评论 -
Android IPC框架分析 Binder,Service,Service manager
我首先从宏观的角度观察Binder,Service,Service Manager,并阐述各自的概念。从Linux的概念空间中,Android的设计Activity托管在不同的的进程,Service也都是托管在不同的进程,不同进程间的Activity,Service之间要交换数据属于IPC。Binder就是为了Activity通讯而设计的一个轻量级的IPC框架。 在代码分析中,我发现An...原创 2011-03-02 15:19:32 · 88 阅读 · 0 评论 -
ARM Cortex A8
ARM Cortex A8并不能说是电脑意义上的核心数 , 而是指里面充当主角的ARM Cortex-A8、IVA2+、POWERVR SGX Graphics Core、Image Signal Processor(ISP)四个处理核心 , 各自都发挥着很大作用 , 比如说 IVA2+图像、视频、音频加速器 、 SGX图形内核 、集成的图像信号处理器Image Signal Proces...原创 2011-03-01 17:10:33 · 288 阅读 · 0 评论 -
java.nio使用
在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO API作为一个基于缓冲区,并能提供非阻塞(non-blocking)IO操作的API被引入。本文对其进行深入的介绍。 ...原创 2011-02-24 10:48:40 · 99 阅读 · 0 评论 -
linux下ide的选择
1、KDevelop 4.0 稳定版发布KDevelop 开发小组最终发布了 KDevelop 4.0 稳定版本。KDevelop 4.0 对 C++ 支持进行了增强,支持代码导航和语法检查;具有 CMake 支持;集成了 GDB;整合了相应文档;以及随附了 PHP 插件的第一版。2、QtCreator3、In Kubuntu 9.10 sudo add-apt-reposi...原创 2011-02-22 10:43:54 · 779 阅读 · 0 评论 -
Android开发指南-框架主题-安全和许可
安全和许可Security and Permissions Android是一个多进程系统,每个应用程序(以及系统的部分)运行在它自己的进程里。大多数程序和系统之间的安全性通过基础的Linux机制在进程级别进行支持,如分配给应用程序的用户和群组IDs。更多细化的安全特性通过“许可”机制来提供,它实施对一个进程能够执行的特定操作方面的限制,和对于每个URI的特定数据段的特许访问的授权。...原创 2011-02-12 14:05:46 · 103 阅读 · 0 评论 -
Android上获取本机安装的应用程序
在google上输入以上的关键字+ android,可以搜到的代码:1List<PackageInfo> packs = getPackageManager().getInstalledPackages(0); 虽然,有些代码号称可以过滤掉系统自身的应用程序,但是只要细看代码就会发现,好像里面的那个布尔变量没有起到什么...原创 2011-02-12 13:40:33 · 78 阅读 · 0 评论 -
Linux x86 编译 Android 遭遇 gnu/stubs-64.h
这两天心血来潮,执行完 repo sync 后,顺手来了一下 make,不料却发现了以下的错误:host C: libclearsilver-jni <= external/clearsilver/java-jni/j_neo_util.cIn file included from /usr/include/features.h:378, ...原创 2011-08-19 10:43:55 · 321 阅读 · 0 评论 -
android 中的IPC binder 机制
第一部分 Binder的组成1.1 驱动程序部分驱动程序的部分在以下的文件夹中:kernel/include/linux/binder.hkernel/drivers/android/binder.cbinder驱动程序是一个miscdevice,主设备号为10,此设备号使用动态获得(MISC_DYNAMIC_MINOR),其设备的节点为:/dev/binder binder驱动程序会在p...原创 2011-01-24 11:54:07 · 87 阅读 · 0 评论 -
Android IPC 通讯机制源码分析【下】
client获取Service的远程IBinder接口以CameraService为例(camera.cpp):const sp<ICameraService>& Camera::getCameraService(){ Mutex::Autolock _l(mLock); if (mCameraService.get() == 0) { ...原创 2011-01-24 11:52:39 · 140 阅读 · 0 评论 -
从 Remote Service Binding 学习 AIDL 与 IPC
默认情况下,一个应用不管有多少个 Activity、Service 或其他组件,它们都是运行在一个进程上,但是我们可以安排 Service 运行一个新的进程上,但是不同进程之间应该如何通信呢?当需要在不同的进程之间传递对象时,应该怎么做呢?AIDL(Android Interface Definition Language) 便是解决这一问题的钥匙。使用 AIDL 并不是难事,但是比较繁琐...原创 2011-03-03 08:47:30 · 97 阅读 · 0 评论 -
读《Multitasking the Android Way》(一)
Android Developers Blog 发表了一篇题为《Multitasking the Android Way》的博文,读起来颇为有趣。我将博文中的关键信息加以自己的理解,简单整理成以下文字,以便日后查阅之便。能力有限,误读和错读难以避免,阅读者应该坚持怀疑的态度来阅读本文,尽信书不如无书。同时运行多个应用程序,即 Multitask,对于现在的 OS 来说,是个稀松平常的事情,...原创 2011-03-03 08:50:40 · 101 阅读 · 0 评论 -
Cygwin在win下下载android源代码
首先下载cygwin,cygwin是一个类linux平台。即在windows环境下模拟linux终端。比起运行linux虚拟机,是一个轻量 的解决办法。除了本文用来下载android源码,你当然可以用它来学习linux。cygwin的中文网是http://www.cygwin.cn /,建议从这下载cygwin,这是国内最快的镜像站点。严格按网站的说明安装:http://www.cygwin.cn...原创 2011-03-16 20:43:41 · 104 阅读 · 0 评论 -
Android NDK 环境搭建 - 安装配置 Cygwin
1. NDK 下载 最新版 Android NDK 开发工具包 地址:http://dl.google.com/android/ndk/android-ndk-r4-windows.zip2.交叉编译环境下载 Cygwin ,并安装。 我们通过Cygwin编译一个交叉环境。地址:http://www.cygwin.com/ 选择 Devel Install 安装 gcc 和 make 等工具。 ...原创 2011-03-16 20:40:58 · 77 阅读 · 0 评论 -
Android-触感反馈和声音反馈的效果实现
1)只有系统设置中打开触感反馈选项,方法performHapticFeedback(int feedbackConstant)才会被执行,而performHapticFeedback(feedbackConstant,flags)有些特殊,比如:HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING忽略全局设置(开启与否)或是在开启全局设置下H...原创 2011-03-15 12:07:47 · 897 阅读 · 0 评论 -
socket的服务端框架
最近查了不少java下面nio的非阻碍性的连接,也可称之为高性能连接,转发一下这片内容. 1 QuickServer QuickServer则同时支持blockingIO和nio,需要进行配置选择,QuickServer提供了另外一个非常实用的功能-管理服务端口,通过其设定的一些指令查询服务器的状态、控制服务器等。此功能成为最后选择的最大优势。其他例如IP过滤的功能在QuickServer中...原创 2011-03-07 14:17:21 · 347 阅读 · 0 评论 -
android UI 优化系列之 创建RGB565的缓存
关于如何优化activity的启动速度, view 的绘制速度, 可参考这个sdk里的文档。 android-sdk-windows-1.5_r1/docs/resources/articles/window-bg-speed.html。看完后你就知道 android:windowBackground 太重要了,影响到绘制效率。这里要说的是另外一点, 不是这个windowBackground ...原创 2011-03-05 16:42:26 · 181 阅读 · 0 评论 -
SocketChannel 和 DatagramChannel
SocketChannel 叫套接字通道,面向流,就是通常的TCPread,write 前必须建立连接,线程安全,任意时刻只能有一个线程进行读取和写入DatagramChannel 叫数据报通道,面向数据报,就是通常的UDPsend,receive 前无需建立连接,read,write前必须建立连接,线程安全,任意时刻只能有一个线程进行读取和写入...原创 2011-03-05 16:19:19 · 339 阅读 · 0 评论 -
Android 调试工具集
1.TraceView1)功能:用于热点分析和性能优化,分析每个函数占用的CPU时间,调用次数,函数调用关系等 2)方法: a)在程序代码中加入追踪开关 import android.os.Debug; …… android.os.Debug.startMethodTracing(“/data/tmp/test”);// 先建/data/tmp目录 ...原创 2011-03-05 13:25:29 · 71 阅读 · 0 评论 -
Android 中文API (33) —— Checkable
声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com/ Android中文翻译组:http://www.cnblogs.com/over140/ 正文 一、结构 public interface Checkable 间接子类CheckBox, CheckedTextView, C...原创 2011-03-03 17:45:12 · 186 阅读 · 0 评论 -
Toast 和 Looper
Toast 和 Looper,一个属于 android.widget,一个属于 android.os,两个貌似联系不怎么紧密的类,却通过下面这个异常联系到了一起:E/AndroidRuntime( 1819): java.lang.RuntimeException: Can't create handler inside thread that has not called Loo...原创 2011-03-03 09:02:11 · 212 阅读 · 0 评论 -
Activity 与 Main Loope
上文抛出了一个疑问:UI 线程是在哪里绑定 Looper 呢?欲解此题,仍旧从 Android 源码着手,但是 Android 的代码量是以 GB 为单位来计算的,若是一个一个来看,只见树木不见森林,未必能理出个头绪。不妨通过 Eclipse 这一工具,设置 breakpoint,进入 debug,看一看执行流程。新建一 Android Project,创建简单的 Activity 类,在...原创 2011-03-03 08:59:51 · 198 阅读 · 0 评论 -
Class loading in Android : Begin with PathClassLoader
Google 在 Android 文档里的《What is Android》章节中,明确提出:The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language....原创 2011-03-03 08:56:45 · 98 阅读 · 0 评论 -
Linux x86 编译 Android 遭遇 gnu/stubs-64.h
这两天心血来潮,执行完 repo sync 后,顺手来了一下 make,不料却发现了以下的错误:host C: libclearsilver-jni <= external/clearsilver/java-jni/j_neo_util.cIn file included from /usr/include/features.h:378, ...原创 2011-03-03 08:54:15 · 178 阅读 · 0 评论 -
Android IPC 工作原理(译)
我将用API IAudioFlinger:::setMode的调用过程来演示Android IPC的运作,AudioFinger 是程序media_server的一个Service.(1)Service Manager 的启动(service_manager.c)service_manager 为其它进程提供service管理,它必须在其他服务运行之前启动。int main(int a...原创 2011-01-24 11:49:53 · 111 阅读 · 0 评论 -
android-textview 属性
android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText 如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。 android:bufferType 指定getText()方式取得的文本类别...原创 2011-01-20 09:52:42 · 91 阅读 · 0 评论 -
Android简单数据存储类SharedPreferences详解及实例(通过“记住密码”功能学习SharedPreferences)...
SharedPreferences是Android中存储简单数据的一个工具类。可以想象它是一个小小的Cookie,它通过用键值对的方式把简单数据类型(boolean、int、float、long和String)存储在应用程序的私有目录下(data/data/包名/shared_prefs/)自己定义的xml文件中。一、简介 它提供一种轻量级的数据存储方式,通过eidt()方法来修改里面的内容,通...原创 2011-01-05 08:58:07 · 115 阅读 · 0 评论 -
android getX getRawX区别
在学习android时候,看到MotionEvent类里有两个方法,getX getRawX,看解释,很模糊,看不太懂,这到底什么意思?肯定有区别.具体什么区别呢?一看,两个函数都是返回了整型直,那好办了,把这两个直打印出来,分析下,估计能有收获.好.问题是怎么把这两个直打印出来呢?哎,这就要求系统不断的丢出MotionEvent,这好办,上篇文章不写了,具体看代码,代码是最好的说明....原创 2010-12-22 10:35:42 · 100 阅读 · 0 评论 -
Android Webkit浏览器插件Gears介绍
众所周之Android平台浏览器采用了webkit引擎,这款名为Chorme Lite的web浏览器拥有强大扩展特性,可以通过NPAPI来编写一个Native API版的Android浏览器插件,Google Gears是一个很好的web开发库,通过这个插件我们可以在Android平台上实现AJAX应用。webkit浏览器在渲染效果上十分出色,对web标准的兼容性保持很好,如图...原创 2010-12-22 10:24:25 · 255 阅读 · 0 评论 -
更完美 联想乐Phone获取root权限教程
联想乐Phone买来用了近一个月,独特的四叶草界面让人耳目一新;齐全的应用服务让用机方便了不少。不过,对于乐Phone手机用户来说,虽 然提供完美支持RMVB播放;提供人人网等SNS服务;提供新浪新闻等新闻服务;提供QQ和微博等即时沟通方式等,但乐Phone的root权限获取问题 一直很让机友们苦恼。不过近期有机友bdcwq开发提供了乐Phone的获取root权限工具,...原创 2010-12-22 10:14:19 · 203 阅读 · 0 评论 -
3GW100 OS1.7 正式版固件下载
官方 lephone os1.7 固件正式发布更新内容:⒈增加应用商店的安全机制;⒉增加企业邮箱的安全机制;⒊联系人模块功能增强;⒋增加移动AP应用;⒌Widget增加WIFI状态音乐连续播放;⒍取消插入数据线出现提示框功能;⒎本地GPS从灵图更换成高德;⒏同步软件从91助手更换成豌豆夹;⒐内置浏览器更...原创 2010-12-22 10:13:27 · 152 阅读 · 0 评论 -
Android如何获取Root权限
疑问一:Root权限是什么? 疑问二:获取Root权限有什么用? 疑问三:如何获得Root权限? 答疑一: Root是Linux等类UNIX系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权利,所有对象他都有可以操作的权利,所以很多黑客在入侵系统的时候,都要把权限提升到Root权限,也就是将自己的非法帐户添加到Root用户组。类比于Admini...原创 2010-12-22 10:12:19 · 688 阅读 · 0 评论 -
适配不同分辨率的Android手机的简单处理方法
一:不同的layoutAndroid手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用...原创 2010-12-22 09:53:23 · 95 阅读 · 0 评论 -
Android中支持的linux命令
1、启动emulator(模拟器) 在Dos中输入emulator后回车即可启动emulator,前提是你把android sdk 的tools目录添加到了环境变量里面;否则的话,你必须先进入android sdk的tools目录下,再输入emulator命令。2、查看android支持的linux 命令 待模拟器启动好之后,在Dos中输入adb shell 回车...原创 2010-12-22 09:40:35 · 256 阅读 · 0 评论 -
Android 根文件系统分析
经过这几天在网上搜索关于Android文件系统的相关资料,发现已经有很多高手分析了Android的文件系统,这些高手多从不同的方面分析了其文件系统的结构和运行原理。我这里就写一下自己的理解。首先是Android的文件系统根目录的结构:# pwd && ls -a -l/drwxrwxrwt root root ...原创 2010-12-22 09:37:41 · 110 阅读 · 0 评论 -
Android 根文件系统分析
经过这几天在网上搜索关于Android文件系统的相关资料,发现已经有很多高手分析了Android的文件系统,这些高手多从不同的方面分析了其文件系统的结构和运行原理。我这里就写一下自己的理解。首先是Android的文件系统根目录的结构:# pwd && ls -a -l/drwxrwxrwt root root ...原创 2010-12-17 17:46:53 · 123 阅读 · 0 评论 -
Android Power Management
总体上来说Android的电源管理还是比较简单的, 主要就是通过锁和定时器来切换系统的状态,使系统的功耗降至最低,整个系统的电源管理架构图如下: (注该图来自Steve Guo) 接下来我们从Java应用层面, Android framework层面, Linux内...原创 2010-12-17 10:59:46 · 101 阅读 · 0 评论