Android
枫★曦
Stay simple,stay positive...
展开
-
Camera driver&V4L2驱动架构介绍
大约一年前写的东西,介绍性部分是当时在网络上找的内容,后面的分析部分是基于当时的项目,基于Mavell Pxa920,希望对初学者有点点的帮助吧。转载请注明出。 1. Camera相关介绍1.1. 手机Camera介绍手机的数码相机功能指的是手机通过内置数码相机进行拍摄静态图片或短片拍摄,作为手机的一项新的附加功能,手机的数码相机功能得到了迅速的发展。手机转载 2014-09-19 14:33:41 · 1304 阅读 · 0 评论 -
Android核心分析(28)-----Android GDI之Surface&Canvas
Surface&Canvas Canvas为在画布的意思。Android上层的作图几乎都通过Canvas实例来完成,其实Canvas更多是一种接口的包装。drawPaints ,drawPoints,drawRect,drawBitmap ... 1 Canv转载 2011-07-21 13:29:29 · 541 阅读 · 0 评论 -
Android核心分析(26)-----Android GDI之SurfaceFlinger
Android GDI之SurfaceFlinger SurfaceFinger按英文翻译过来就是Surface投递者。SufaceFlinger的构成并不是太复杂,复杂的是他的客户端建构。SufaceFlinger主要功能是: 1) 将Layers (Surfaces) 内转载 2011-07-21 13:27:46 · 591 阅读 · 0 评论 -
Android核心分析(24)-----Android GDI之显示缓冲管理
Android GDI之屏幕设备管理-动态链接库 万丈高楼从地起,从最根源的硬件帧缓冲区开始。我们知道显示FrameBuffer在系统中就是一段内存,GDI的工作就是把需要输出的内容放入到该段内存的某个位置。我们从基本的点(像素点)和基本的缓冲区操作开始。1 基本知识转载 2011-07-21 13:25:13 · 388 阅读 · 0 评论 -
Android核心分析(23)-----Andoird GDI之基本原理及其总体框架
Android GDI基本框架 在Android中所涉及的概念和代码最多,最繁杂的就是GDI相关的代码了。但是本质从抽象上来讲,这么多的代码和框架就干了一件事情:对显示缓冲区的操作和管理。 GDI主要管理图形图像的输出,从整体方向上来看,GDI可以被认为是一个转载 2011-07-21 13:24:04 · 425 阅读 · 0 评论 -
Android核心分析(19)----电话系统之GSMCallTacker
Android电话系统之GSMCallTracker通话连接管理GSMCallTracker在本质上是一个Handler。GSMCallTracker是Android的通话管理层。GSMCallTracker建立了ConnectionList来管理现行的通话连接,并向上层提供电话调用接口。在GSMCallTracker中维护着通话列表转载 2011-06-24 13:28:00 · 581 阅读 · 0 评论 -
Android核心分析(18)-----Android电话系统之RIL-Java
Android RIL-Java RIL-Java在本质上就是一个RIL代理,起到一个转发的作用,是Android Java概念空间中的电话系统的起点。在RIL-D的分析中,我们知道RILD建立了一个侦听套接口,等待RIL-Java的连接。一旦连接成功,RIL-JAVA就可发起一个请求,并等待应答,并将结构发送到目标处理对象。在RIL-Java中,这个请求称为转载 2011-06-24 13:27:00 · 674 阅读 · 0 评论 -
Android核心分析(14)------ Android GWES之输入系统
Android输入系统 依照惯例,在研究Android输入系统之前给出输入系统的本质描述:从哲学的观点来看,输入系统就是解决从哪里来又将到哪里去问题。输入的本质上的工作就是收集用户输入信息并放置到目标位置。 Android在源代码分类上,并没有输入系统分类。本章的输入系统研究是一个综合的分析,前面的GWES的分析,特别是View的Focus Path以及Win转载 2011-06-24 13:22:00 · 508 阅读 · 0 评论 -
Android 核心分析(13) -----Android GWES之Android窗口管理
Android GWES之Android窗口管理1基本构架原理 Android的窗口管理是C/S模式的。Android中的Window是表示Top Level等顶级窗口的概念。DecorView是Window的Top-Level View,这个View我称之为主View,DecorView会缺省的attach到Activity的主窗口中。主View被加入到Wind转载 2011-06-24 13:21:00 · 433 阅读 · 0 评论 -
Android核心分析(20)----Android应用程序框架之无边界设计意图
Android应用程序框架1 无边界设计理念 Android的应用框架的外特性空间的描述在SDK文档(http://androidappdocs.appspot.com/guide/topics/fundamentals.html#acttask)有十分清楚的描述,Android应用的基本概念,组件生命周期等等有详细的描述。在外特性空间中,Android转载 2011-06-24 19:10:00 · 518 阅读 · 0 评论 -
Android核心分析(17) ------电话系统之rilD
Android电话系统之-rildRild是Init进程启动的一个本地服务,这个本地服务并没有使用Binder之类的通讯手段,而是采用了socket通讯这种方式。RIL(Radio Interface Layer)Android给出了一个ril实现框架。由于Android开发者使用的Modem是不一样的,各种指令格式,初始化序列都可能不一样,GSM和CDMA就差别更大了,所转载 2011-06-24 13:24:00 · 603 阅读 · 0 评论 -
Android核心分析(16)-----Android电话系统-概述篇
Android电话系统之概述篇 首先抛开Android的一切概念来研究一下电话系统的最基本的描述。我们的手机首先用来打电话的,随后是需要一个电话本,随后是PIM,随后是网络应用,随后是云计算,随后是想我们的手机无所不能,替代PC。但是作为一个电话的基本功能如下:0)拨叫电话,接听电话,挂断电话,发送短信,网络连接,PIM管理1)由于电话运营商为我们提供了呼转载 2011-06-24 13:23:00 · 497 阅读 · 0 评论 -
Android核心分析(15)--------Android输入系统之输入路径详解
Android用户事件输入路径 1 输入路径的一般原理 按键,鼠标消息从收集到最终将发送到焦点窗口,要经历怎样的路径,是Android GWES设计方案中需要详细考虑的问题。按键,鼠标等用户消息消息的处理可分为不同的情况进行判定:(1)用户输入根据系统状况是否应该派送。如在ScreenOff的情况下,在按键属于特殊按键的情况下等(2)是否有拦截List转载 2011-06-24 13:22:00 · 554 阅读 · 0 评论 -
Android核心分析(21)----Android应用框架之AndroidApplication
Android Application Android提供给开发程序员的概念空间中Application只是一个松散的表征概念,没有多少实质上的表征。在Android实际空间中看不到实际意义上的应用程序的概念,即使有一个叫Application的类,这个也就是个应用程序上下文状态,是一个极度弱化的概念。Application只是一个空间范畴的概念,Applicatio转载 2011-06-24 19:11:00 · 456 阅读 · 0 评论 -
Android的多媒体框架OpenCore(PacketVideo)介绍
<br /> 本文为个人总结,不代表官方观点。<br /> 分为几个阶段:<br /> 1、整个Android的多媒体框架OpenCore<br /> 2、Player和Author的详细介绍<br /> 2、OpenCore和Android其他部分的集成<br /><br />第一部分 OpenCore概述<br />(hanchao3c Android开发者论坛原创,转载请注明)<br /> OpenCore的另外一个常用的称呼是PacketVideo,它是A转载 2011-04-25 23:31:00 · 575 阅读 · 0 评论 -
Android 核心分析 之六 -----IPC框架分析 Binder,Service,Service manager
<br />我首先从宏观的角度观察Binder,Service,Service Manager,并阐述各自的概念。从Linux的概念空间中,Android的设计Activity托管在不同的的进程,Service也都是托管在不同的进程,不同进程间的Activity,Service之间要交换数据属于IPC。Binder就是为了Activity通讯而设计的一个轻量级的IPC框架。<br /> <br /> 在代码分析中,我发现Android中只是把Binder理解成进程间通讯的实现,有点狭隘,而是应该转载 2011-04-05 00:12:00 · 621 阅读 · 0 评论 -
Android 核心分析 之五 -----基本空间划分
<br />Google给了我们一张系统架构图,在这张图上我们可以看到Android的大体框架组成。<br /> <br /> <br /><br />从上图可以看到:Android Applications,Application Framework,Dalvik Virtual Machine,Linux。如果将Android泛化,我们可以将系统划分成两部分:<br /> <br /> <br /> <br /><br /> 但是为了研究的方便我们先看最为本质的三层,上面是Android,中间叫Dalv转载 2011-04-05 00:02:00 · 491 阅读 · 0 评论 -
Android核心分析之四 ---手机的软件形态
<br />上节我给出了手机的硬件树,本节将给出手机软件形态树。主要突出手机软件涵盖的内容。通过该思维导图,我们可以看到手机软件所涉及到的方方面面,Android所涉及到的内容也不会超过下面所示太多,这个也是Andoid系统外特性空间所要展示的,这个也是Android设计者需要考虑管理的大部分内容,通过下面的整理,我们可以让我们的思维更加贴近Android设计意图,从而更深入的了解Android中各种组成的由来,这个就是前面讲到的分析思想之一从退到源头出发,从思考最终极的问题开始。<br />转载 2011-04-04 23:57:00 · 411 阅读 · 0 评论 -
Android核心分析(25)------Android GDI之共享缓冲区机制
Androird GDI之共享缓冲区机制 1 native_handle_t对private_handle_t 的包裹 private_handle_t是gralloc.so使用的本地缓冲区私有的数据结构,而Native_handle_t是上层抽象的可以在进程转载 2011-07-21 13:26:35 · 535 阅读 · 0 评论 -
Android核心分析(27)-----Android GDI 之SurfaceFlinger之动态结构示意图
SurfaceFlinger对象建立过程示意 1 SurfaceSession的建立 客户端请求建立Surface时,首先在要与SurfaceFlinger建立一个Session,然后再Session上建立一个Connection通过概念返回Bclient对象。转载 2011-07-21 13:28:48 · 601 阅读 · 0 评论 -
Android核心分析(22)-----Android应用框架之Activity
3 Activity设计框架 3.1 外特性空间的Activity 我们先来看看,Android应用开发人员接触的外特性空间中的Activity,对于AMS来讲,这个Activity就是客服端的Activity。应用程序员在建立Android应用时,构建Act转载 2011-07-21 13:22:38 · 522 阅读 · 0 评论 -
Android的fastboot协议
fastboot协议是PC通过USB与手机上的bootloader通信的协议。适用于Linux,Windows,OSX等平台。 基本配置要求:1、USB连接PC与手机。2、对于high-speec USB,包的最大尺寸必须是512byte.对于full-speed USB,包的最大尺寸必须是64byte。3、协议由PC端驱动。 协议传输过程如转载 2012-02-15 11:24:07 · 919 阅读 · 0 评论 -
详解 Android 的 Activity 组件
Activity 的生命周期和 J2ME 的 MIDlet 一样,在 android 中,Activity 的生命周期交给系统统一管理。与 MIDlet 不同的是安装在 android 中的所有的 Activity 都是平等的。Activity 的状态及状态间的转换在 android 中,Activity 拥有四种基本状态:Active/Runing一个新 Ac转载 2012-02-08 10:59:32 · 437 阅读 · 0 评论 -
android 广播机制
一、注册BroadcastReciver的方法: BroadcastReceiver用于监听被广播的事件(Intent),为了达到这个目的,BroadcastReceiver必须进行注册,有以下两种注册方式: 1、在应用程序的代码当中进行注册 注册:registerRecevier(receiver,filter)转载 2011-11-10 14:55:10 · 508 阅读 · 0 评论 -
Android 4.0 SDK的离线方式安装
之前曾经在网上找过离线安装SDK的方式,也成功下载过,都是在网址:http://dl-ssl.google.com/android/repository/后面跟上 类似于“android-1.6_r03-windows.zip“这样的文件名来下载的。这个文件名的得来完全是依靠SDK描述文件http://dl-ssl.google.com/android/repository转载 2011-11-10 14:53:28 · 621 阅读 · 0 评论 -
Android中的横竖屏、资源、国际化的使用
Android中的资源与国际化的问题,通常我们新建一个Android工程,目录结构如下图所示: 我们主要看一下layout与values目录,layout里的xml文件的我们应用使用布局的文件,values里的sring.xml是用来存放文字资源,一个key对应一个value值。但是在实际应用开发中,通常横屏(land)与竖屏(port)可能布局文件有所不同,这时候转载 2011-11-10 15:00:12 · 525 阅读 · 0 评论 -
Android歌词秀设计思路(4)通用的音乐播放服务(下)
这篇文章中我们将要说明在MediaPlayerService中用到的几个辅助功能。1.AudioFocus相关处理2.监视来电状态3.监视耳机插头拔出4.监视线控器按钮5.Notification表示AudioFocus相关处理转载 2011-10-10 12:52:03 · 1127 阅读 · 0 评论 -
Android歌词秀设计思路(1)SafetyTimer
Android中使用Timer时需要同时访问TimerTask,Handle等类,手续繁杂而且是真正想做的事淹没在手续化的代码中。本文介绍了的SafetyTimer类隐藏了TimerTask,Handle等类,并通过Observer设计模式为用户提供简单,低耦合的实现方式。转载 2011-10-10 12:48:28 · 761 阅读 · 0 评论 -
Android歌词秀设计思路(6)运用Proxy设计模式简化歌词播放服务的使用
开始开发歌词秀的时候还是夏天,没有想到写这篇文章的时候大连已经迎来的今年的第一次大规模降温。多少有点冬天的感觉了。上一篇文章我们已经介绍了,带有歌词播放功能的服务,按说接下来就该是利用歌词播放服务的应用程序了。不过我们在这里要先介绍另外一个类:LyricPlayerServi转载 2011-10-10 12:53:20 · 575 阅读 · 0 评论 -
Android歌词秀设计思路(3)通用的音乐播放服务(上)
MediaPlayerService作为通用的音乐播放Service类,它的功能有:控制音乐播放,停止,暂停,前/后歌曲切换。Audio Focus相关处理(对应应用程序切换)。Intent处理(对应多媒体键,耳机线拔出,打入电话)Notification转载 2011-10-10 12:51:12 · 661 阅读 · 0 评论 -
Android歌词秀设计思路(7)水到渠成
我们用了6篇文章的篇幅做了铺垫,终于到了真正的应用程序了。这部分还是一如既往的简单。有关应用的类有两个,一个是LiryicMain,一个是SelectFileActivity。都是差不多最低限度的内容,没有任何华丽的内容。先看看这两个类在整个软件中的位置。从图中可转载 2011-10-10 12:54:06 · 793 阅读 · 0 评论 -
Android歌词秀设计思路(5)歌词播放服务
接下来说明一下,提供歌词播放器服务的LyricPlayerService。这个类在整个播放过程中的作用是1.负责管理LyricAdapter的生命周期。2.控制音乐播放,歌词解析,并且协调音乐与歌词同步。3.收集超类,LyricAdapter发来的通知并传转载 2011-10-10 12:52:44 · 729 阅读 · 0 评论 -
Android歌词秀设计思路(2)歌词处理
这次的内容是歌词处理模块LyricAdapter类。这个类的主要功能有1.歌词文件的解析2.对外提供歌词访问服务(歌词数取得,歌词内容,时间的取得等)3.根据播放位置检索对应的歌词。4.在歌词文件取得后和当前歌词变化以后通过登录的LyricList转载 2011-10-10 12:50:14 · 721 阅读 · 0 评论 -
Android开发之初探视频的播放
/* * Android开发之初探视频的播放 * 北京Android俱乐部群:167839253 * Created on: 2011-8-24 * Author: blueeagle * Email: liujiaxiang@g转载 2011-08-30 09:39:14 · 499 阅读 · 0 评论 -
Android APK反编译详解(附图)
这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。转载 2011-08-30 09:40:33 · 423 阅读 · 0 评论 -
Android LCD效果(一)
我们大家都知道androidLCD背景颜色和边框颜色的是可控制,实现在mountionEvent中对onClick和onLongClick的区分,利用线程返回不同的值;实现边框颜色和背景颜色的改变,那么我们来看看下面的代码,是怎么实现LCD的背景颜色和边框颜色。java代转载 2011-08-30 09:25:55 · 783 阅读 · 0 评论 -
Android如何防止apk程序被反编译
作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹转载 2011-08-30 09:42:06 · 868 阅读 · 0 评论 -
Android LCD效果(二)
java代码:}switch(backcolor){case 1:c.drawColor(Color.GREEN);break;case 2:c.drawColor(Color.DKGRAY);break转载 2011-08-30 09:26:54 · 787 阅读 · 0 评论 -
Android是什么 之三-------手机之硬件形态
<br />本节可能与Android无关,但是Android系统现在这个阶段更多的是移动终端形态的开发平台,本节给出了Android背后的工作-Android管理的硬件是什么,Android的本质就是要管理好这些硬件部分,为用户提供一个体验更好,速度更快的智能移动终端。对手机硬件形态的认识是要让我们对手机硬件组成有个感性的认识,让程序员知道系统中的代码是管理那一部分的,即我们堆砖头的目的是什么,让思维有一个伸展。<br /> 为了对手机这类嵌入式系统有一个较为深入的了解,我制作了如下的手机硬件结构思维导图,转载 2011-04-04 23:56:00 · 529 阅读 · 0 评论 -
Android核心分析 之一--------分析方法论探讨之设计意图
<br />为什么要研究Android,是因为它够庞大,它够复杂,他激起了我作为一个程序员的内心的渴望,渴望理解这种复杂性。我研究的对象是作为手机开发平台的Android软件系统部分,而不是Dalvik虚拟机本身。<br />作为一个从其他平台装接过来的程序员,要从事Andoid平台系统开发,我的关于手机平台上积累的知识已经不能满足需要了,Android为我们带来了大量的新名词,Activity,Manifest,INTENT,Service,Binder,Dalvik虚拟机,Framework,Linux转载 2011-04-04 23:52:00 · 471 阅读 · 0 评论