Android
文章平均质量分 79
zbl_zbl
这个作者很懒,什么都没留下…
展开
-
Android 的系统属性(SystemProperties)设置分析
Android 的系统属性包括两部分:文件保存的持久属性和每次开机导入的cache属性。前者主要保存在下面几个文件中:bionic/libc/include/sys/_system_properties.h1 #define PROP_SERVICE_NAME "property_service"2 #define PROP_PATH_RAMDISK_DEFAU转载 2013-02-28 11:34:14 · 558 阅读 · 0 评论 -
Android Camera架构浅析
1、Camera成像原理介绍Camera工作流程图Camera的成像原理可以简单概括如下:景物(SCENE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过IO接口传输到CPU中处理,通过DISPLAY就可以看到图像了。电荷耦合器件(CCD)转载 2013-03-18 16:58:03 · 578 阅读 · 0 评论 -
Android的Camera架构简介
第一部分 Camera概述 Android的Camera包含取景器(viewfinder)和拍摄照片的功能。目前Android发布版的Camera程序虽然功能比较简单,但是其程序的架构分成客户端和服务器两个部分,它们建立在Android的进程间通讯Binder的结构上。 以开源的Android为例,Camera的代码主要在以下的目录中:Camera的JAVA程序的路径:转载 2013-03-18 17:17:04 · 908 阅读 · 0 评论 -
TextView设置链接
当文字中出现URL、E-mail、电话号码等的时候,还可以为TextView设置链接。总结起来,一共有4种方法来为TextView实现链接。(1)在xml里添加android:autoLink属性。如果写为android:autoLink=”all”,则为所有种类添加链接。当然,同样的也可以在Java代码中完成,用法为tv.setAutoLinkMask(Linkify.ALL)。(2)将转载 2013-03-26 15:42:38 · 688 阅读 · 0 评论 -
SIP即时消息(RFC3428)
即时消息(IM)指的是近似实时的消息交互。即时消息通常很短,虽然并不要求这样。IM通常用于会话模式,也就是说,消息的交互是一来一回的,并且很快,近似于交互式的会话。 提出了MESSAGE方法,扩展了SIP协议以传送IM消息。由于MSEEAGE是SIP消息,所以它继承了SIP协议所有的路由和安全特性。 MESSAGE用MIME格式的body携带具体内容。MESSAGE本身并不建立dial转载 2013-04-24 17:06:38 · 803 阅读 · 0 评论 -
XMPP协议的原理介绍
XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。 XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;转载 2013-05-01 21:13:21 · 770 阅读 · 0 评论 -
基于AKA的IMS接入认证机制
摘要:IP多媒体子系统(IMS)作为3G网络的核心控制平台,其安全问题正面临着严峻的挑战。IMS的接入认证机制的实现作为整个IMS安全方案实施的第一步,是保证IMS系统安全的关键。基于认证和密钥协商(AKA)的IMS接入认证机制是由因特网工程任务组(IETF)制定,并被3GPP采用,广泛应用于3G无线网络的鉴权机制。此机制基于“提问/回答”模式实现对用户的认证和会话密钥的分发,由携带AKA参数的S转载 2013-05-24 14:13:18 · 3088 阅读 · 0 评论 -
ServiceManager总结
最近在看Binder相关的东西,暂时的总结下。 1. 在Android启动过程 Android是基于linux的,所以Android的首先启动linux系统(bootloader和kernel),Init进程是第一个启动的用户进程,启动时会解 析放在设备根目录下的init.rc文件。该文 件包含一些系统初始化配置和需要启动的一些守原创 2013-11-02 21:47:42 · 749 阅读 · 0 评论 -
Eclipse+CDT+gdb调试android ndk程序
先介绍一下开发环境,在这个环境下,up主保证是没有问题的。ubuntu 11.10eclipse 3.7(indego) for javajdk 6android sdk 2.2andrid ndk r7 当然,在windows环境下通过cygwin等工具也是可以实现gdb调试的,我也确实实现过。但是性能实在太低,卡的根本没法用。Linux下直接用gdb转载 2013-02-05 13:59:20 · 462 阅读 · 0 评论 -
Android的Audio 系统
Android的Audio 系统第一部分 Audio系统综述第二部分 Audio系统和上层接口第三部分 Audio的硬件抽象层第一部分 Audio系统综述Audio系统在Android中负责音频方面的数据流传输和控制功能,也负责音频设备的管理。Audio系统主要的分成几个层次:1. media中库提供的Audio系统的上层接口2. AudioFlinger作为Aud转载 2013-01-23 12:47:09 · 872 阅读 · 0 评论 -
Android中全局搜索(QuickSearchBox)详解
整体介绍1. 全局搜索(QuickSearchBox)介绍:全局搜索(QuickSearchBox)是Android系统中原生的应用程序,它的主要职能是接收用户的搜索请求,并将搜索请求传达给支持全局搜索的应用程序,应用程序执行搜索操作,并将搜索到的結果返回给全局搜索应用程序,全局搜索应用根据搜索結果渲染UI界面,当用户单击某一个搜索出来的結果项就会打开相应的应用程序,显示搜索結果的转载 2012-11-21 11:46:15 · 1298 阅读 · 0 评论 -
STUN检测NAT类型原理(转)
STUN检测NAT类型原理(转) STUN是RFC3489规定的一种NAT穿透方式,它采用辅助的方法探测NAT的IP和端口。毫无疑问的,它对穿越早期的NAT起了巨大的作用,并且还将继续在ANT穿透中占有一席之地。STUN的探测过程需要有一个公网IP的STUN Server,在NAT后面的UAC(User Agent Client)必须和此Server配合,互相之间发送若干个UDP数据包。U转载 2013-01-06 17:49:50 · 888 阅读 · 0 评论 -
最全的Android源码目录结构详解
Android 2.1|-- Makefile|-- bionic (bionic C库)|-- bootable (启动引导相关代码)|-- build (存放系统编译规则及generic等基础开发包配置)|-- cts转载 2013-11-25 13:11:44 · 630 阅读 · 0 评论 -
Android程序的签名保护及绕过方法
随着Android 市场的扩大,各类盗版、破解、打包党纷纷涌现,其使用的手法无非是apk _> smali ->修改代码 ->重打包签名,为对抗此类技术,广大程序员挖掘了Android平台特有的保护技术:签名校验 1、JAVA代码本地签名校验Android要求安装到手机上的APK文件必须有签名,而理论上开发者的签名他人是无法得到的(证书保护是另外一回事),所以转载 2014-08-17 16:25:37 · 859 阅读 · 0 评论 -
Android NDK几点回调方式(device id & signature)
一、NDK中获取android设备ID的方式Java代码如下(获取设备ANDROID_ID):final String androidId = Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);对应的c代码(相当蛋疼),注意如果是C++,需要把所有的(*env)->替换成env->,同时去转载 2014-08-17 16:27:47 · 2474 阅读 · 0 评论 -
Android Binder设计与实现 - 设计篇
关键词Binder Android IPC Linux 内核 驱动摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本转载 2012-10-18 18:15:54 · 913 阅读 · 0 评论 -
Android中Bitmap,byte[],Drawable相互转化
一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1、从资源中获取Bit转载 2014-08-20 11:38:45 · 660 阅读 · 0 评论 -
Android 获取ROOT权限原理解析
一、 概述本文介绍了android中获取root权限的方法以及原理,让大家对android玩家中常说的“越狱”有一个更深层次的认识。 二、 Root的介绍1. Root 的目的可以让我们拥有掌控手机系统的权限,比如删除一些system/app下面的无用软件,更换开关机铃声和动画,拦截状态栏弹出的广告等。2. Root的原理介绍转载 2013-12-12 17:13:32 · 729 阅读 · 0 评论 -
Sqlite数据库导入导出与备份恢复
(1)数据导入 建立了Sqlite数据库后就要建立表输入数据了,多数时候数据量较大,手动输入不可能,必须用导入语句 导入逗号分隔csv格式数据 首先建立一个表,比如test.db中建表test,如果表已经存在,可以利用命令".schema"查看该表结构,比如 sqlite>.schema test,结果得到test表的结构,因为要导入的数据必须具有相似的结构翻译 2013-12-23 15:33:02 · 4292 阅读 · 0 评论 -
Android DEX安全攻防战
本文章由Jack_Jia编写,转载请注明出处。 文章链接:http://blog.csdn.net/jiazhijun/article/details/9428861作者:Jack_Jia 邮箱: 309zhijun@163.com 英文原版:http://www.strazzere.com/papers/DexEducation-Practici转载 2014-03-17 14:25:12 · 693 阅读 · 0 评论 -
dex file format
文件头(File Header)Dex文件头主要包括校验和以及其他结构的偏移地址和长度信息。字段名称偏移值长度描述magic0x08'Magic'值,即魔数字段,格式如”dex/n035/0”,其中的035表示结构的版本。checksum0x84校验码。转载 2014-03-20 15:07:00 · 813 阅读 · 0 评论 -
Android上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读
术语和概念 屏幕尺寸 屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如 2.8寸, 3.5寸)。 简而言之, Android把所有的屏幕尺寸简化为三大类:大,正常,和小。 程序可以针对这三种尺寸的屏幕提供三种不同的布局方案,然后系统会负责把你的布局方案以合适的方式渲染到对应的屏幕上,这个过程是不需要程序员用代码来干预的。屏幕长宽比 屏幕的物理长度与物理宽度的比例。程序可转载 2014-05-29 14:19:39 · 1732 阅读 · 0 评论 -
如何给apk文件签名
给apk文件签名主要分三步,创建证书(如果没有)-->签名-->优化(可选)1)使用jdk的keytool工具生成签名用的证书> keytool -genkey -v -alias CERT -keyalg RSA -keysize 2048 -validity 10000 -keystoreCERT.keystore 创建过程需要输入一些标识信息和密码,一些重转载 2013-12-05 17:15:18 · 885 阅读 · 0 评论 -
AsyncQueryHandler的详细介绍
自从framework广泛应用后,我们不用面对赤裸裸的手机操作系统API,做一些重复而繁杂没有意义的事情。但天下没有免费的午餐,我们还是需要学会高效正确的使用不同的framework,很多处理某一特定问题的手法在不同的framework中,用起来都会有所不同的。今天我们主要学习andorid framework的使用。 在Android中,下层是Linux的核,但上层的java做的f转载 2012-05-28 18:05:02 · 763 阅读 · 0 评论 -
adb shell 命令详解
adb介绍SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序。借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作: 1、快速更新设备或手机模拟器中的代码,如应用或Android 系统升级;转载 2012-06-27 09:46:41 · 509 阅读 · 0 评论 -
android笔记之contacts(通讯录)数据库
Android通讯录有关通讯录的资料都放在contacts2.db中这个数据库放在/data/data/com.android.providers.contacts/databases/contacts.db通话记录表calls字段名称说明_id索引Key,自增长number通话电话号码date拨打该电话号码的开始时间(以1970-01-01 00:00:0转载 2012-06-27 10:32:06 · 1577 阅读 · 0 评论 -
Android 实用工具Hierarchy Viewer实战
在Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地在开发者设计,调试和调整界面时,提高用户的开发效率。本文将以一个实际例子讲解如何使用该款工具运用在Android的开发过程中。本文的读者对象为具备初步Android知识的用户。 步骤1 设计界面转载 2012-07-10 10:55:55 · 441 阅读 · 0 评论 -
android ActionBar与Menu
android2.x到现在的4.0有很大的差别,而手机开发者又没有经历过3.x版本的过渡,所以对于手机开发者的压力是比较大的,需要学习和适应大量新的组件与api 本文主要总结对ActionBar和Menu的学习注意:这里以4.0为base 作为开发者,应该阅读下面重要新闻谷歌敦促Android开发者停止使用菜单按钮先说几句题外话我个人转载 2012-07-10 10:48:51 · 6340 阅读 · 0 评论 -
系统应用程序导入Eclipse
Android系统应用程序Eclipse开发环境的搭建首先,将要修改的应用程序,从alps(源码根路径)\packages\apps目录下拷贝到本地机子上,然后在Eclipse新创建一个Android项目,选择Create project from existing source引进该应用程序,如图:一般情况下,只需要将alps(源码根路径)\out\target\common\obj\J转载 2012-06-27 14:00:28 · 578 阅读 · 0 评论 -
android的消息处理惩罚机制(图+源码解析)——Looper,Handler,Message
作为一个大三的筹办法度员,我进修android的一大乐趣是可以经由过程源码进修google大牛们的设计思惟。android源码中包含了多量的设计模式,除此以外,android sdk还精心为我们设计了各类helper类,对于和我一样渴望程度获得进阶的人来说,都太值得一读了。这不,前几天为了懂得android的消息处理惩罚机制,我看了Looper,Handler,Message这几个类的源码,成果又转载 2012-06-28 10:54:36 · 1492 阅读 · 0 评论 -
Android中内容观察者的使用---- ContentObserver类详解
ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于 数据库技术中的触发器(Trigger),当ContentObserver所观察的Uri发生变化时,便会触发它。触发器分为表触发器、行触发器, 相应地ContentObserver也分为“表“ContentObserver、“行”ContentObserver,转载 2012-06-29 13:53:29 · 956 阅读 · 0 评论 -
详解Android中的Parcelable
一:转自: http://blog.sina.com.cn/s/blog_78e3ae430100pxba.html android提供了一种新的类型:Parcel。本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递。 除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel中。 Parcelable实现要点:需要实现三个东西转载 2012-06-29 15:20:52 · 777 阅读 · 0 评论 -
application标签详解
android:allowTaskReparenting=["true" | "false"] android:backupAgent="string" android:debuggable=["true" | "false"] android:description="string resource"转载 2012-07-09 17:17:09 · 1253 阅读 · 0 评论 -
Android使用Application总结
Application 配置全局Context第一步、写一个全局的单例模式的MyApplication继承自Application 覆盖onCreate ,在这个方法里面实例化Application第二步、配置全局的Context第三步、使用,使用的时候用的时候根据类的名称访问ContextAndroid程序的入口点很多初入Android开发的网页可能不知道Android程转载 2012-06-26 15:35:18 · 421 阅读 · 0 评论 -
Gerrit介绍
Gerrit介绍 谷歌 Android 开源项目在 Git 的使用上有两个重要的创新,一个是为多版本库协同而引入的 repo,这在之前我们已经详细讨论过。另外一个重要的创新就是 Gerrit —— 代码审核服务器。Gerrit 为 Git 引入的代码审核是强制性的,就是说除非特别的授权设置,向 Git 版本库的推送(Push)必须要经过 Gerrit 服务器,修订必须经过转载 2012-06-26 11:05:47 · 618 阅读 · 0 评论 -
Android——Fragment介绍
Fragment是Android honeycomb 3.0新增的概念,Fragment名为碎片不过却和Activity十分相似,下面介绍下Android Fragment的作用和用法。Fragment用来描述一些行为或一部分用户界面在一个Activity中,你可以合并多个fragment在一个单独的activity中建立多个UI面板,同时重用fragment在多个activity中.你可以认为f转载 2012-05-28 10:00:37 · 445 阅读 · 0 评论 -
android Preference使用
android Preference使用 出处: http://blog.csdn.net/qinjuning Android系统源码中,绝大多数应用程序的UI布局采用了Preference的布局结构,而不是我们平时在模拟器中构建应用程序时使用的View布局结构,例如,Setting模块中布局。当然,凡事都有例外,FMRadio应用程序中则使用了View转载 2012-05-28 16:42:30 · 677 阅读 · 0 评论 -
HandlerThread
HandlerThread继承于Thread,所以它本质就是个Thread。与普通Thread的差别就在于,它有个Looper成员变量。这个Looper其实就是对消息队列以及队列处理逻辑的封装,简单说就是 消息队列+消息循环。当我们需要一个工作者线程,而不是把它当作一次性消耗品,用过即废弃的话,就可以使用它。 private Handler mHandler = null;转载 2012-05-29 11:23:48 · 349 阅读 · 0 评论 -
apk程序的运行过程
apk程序的运行过程 首先,ActivityThread从main()函数开始执行,调用prepareMainLooper()为UI线程创建一个消息队列(MessageQueue)。 然后创建一个ActivityThread对象,在ActivityThread的初始化代码中会创建一个H(Handler)对象和一个ApplicationThread(Binder)对象。其中Bin原创 2012-06-06 10:12:40 · 687 阅读 · 0 评论 -
adb命令大全 android 操作系统
Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。可以通过下列几种方法加入adb:在设备上运行shell命令通过端口转发来管理模拟器或设备从模拟器或设备上拷贝来或拷贝走文件下面对adb进行了介绍并描述了常见的使用.Contents概要发出adb命令查询模拟器/设备实例给特定的模拟器/设备实例发送命令安装软件转发端口转载 2012-07-03 17:59:25 · 796 阅读 · 0 评论