- 博客(179)
- 资源 (12)
- 收藏
- 关注
转载 Android驱动开发之earlysuspend睡眠模式编程总结
(1)添加头文件:#include (2)在特定驱动结构体中添加early_suspend结构:#ifdef CONFIG_HAS_EARLYSUSPENDstruct early_suspend early_suspend;#endif(3)在驱动probe函数中注册相关early_suspend结构体:#ifdef CONFIG_HAS_EARLYSUSPEND
2013-03-13 17:31:10
4080
转载 在Ubuntu上为Android系统内置C可执行程序测试Linux内核驱动程序 .
http://blog.csdn.net/luoshengyang/article/details/6571210在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序。在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello、proc系统文件/proc/hello和devfs系统
2013-03-06 15:42:51
1667
转载 Android开发片段–命令行安装,卸载,启动,程序(AM,PM)
http://zzh.iteye.com/Android AM命令行启动程序的方法usage: am [subcommand] [options] start an Activity: am start [-D] -D: enable debugging send a broadcast Intent: am broadcast
2012-11-13 09:46:51
5059
转载 Android init.rc解析
Android init.rc (Android init language)Android初始化语言由四大类声明组成:行为类(Actions),命令类(Commands),服务类(Services),选项类(Options). * 初始化语言以行为单位,由以空格间隔的语言符号组成。C风格的反斜杠转义符可以用来插入空白到语言符号。双引号也可以用来防止文本被空格分成多个语言符号。当反斜杠在
2012-10-30 11:48:43
1432
转载 如何在source insight中使用astyle的代码整理功能
很多时候,我们可能会在SI中直接编写代码,但是SI没有代码整理功能,比如整理符合c/c++规范 这时候,很是郁闷...但是可以将astyle.exe外挂到SI中,详细步骤如下: 1:从 http://astyle.sourceforge.net/ 上下载astyle.exe(开放源码,可以仔细阅读); 2:将astyle.exe保存到磁盘,这里我放到C:\Program F
2012-09-12 18:14:20
2363
1
转载 ARM汇编中的ldr和adr的区别及其在uboot中相关源码的分析
转自:http://blog.csdn.net/ce123/article/details/7277114ARM汇编中的ldr和adr的区别及其在uboot中相关源码的分析ARM汇编有ldr指令以及ldr、adr伪指令,它们都可以将标号表达式作为操作数,下面通过分析一段代码以及对应的反汇编结果来说明它们的区别。[plain] view plaincopyprint?
2012-08-15 16:11:07
1497
转载 U-Boot串口初始化详解
零、概述上面这张图是U-Boot中串口设备驱动的流程,从寄存器级别的设置到最后终端信息的输出。下面我们详细讲解每一个步骤。一、init_baudrate该函数设置了gd->bd->bi_baudrate。static int init_baudrate (void){ char tmp[64]; /* long enough for environment
2012-08-10 16:40:00
6417
转载 android自定义布局中的平滑移动
在android应用程序的开发过程中,相信我们很多人都想把应用的交互做的比较绚丽,比如让界面切换平滑的滚动,还有热度灰常高的伪3D等界面效果,通常情况下,系统提供的应用在特效这方面只能为我们提供简单的动画接口,所以要想实现比较酷炫的效果还是要自己去开发布局控件(即所谓的自定义View、ViewGroup)。小弟也经常做一些自定义的控件,最近工作比较清闲,所以便将自己对自定义布局控件的一些心得写出来
2012-06-14 18:15:43
2073
原创 再回忆onInterceptTouchEvent和onTouchEvent
原来转过一篇文章,是关于onInterceptTouchEvent和onTouchEvent的,时间久了都忘了差不多了,今天再重新回忆了一下,感觉理解又加深了一点。测试的布局还是原来的,如下图所示:LayoutView1和LayoutView2都是LinearLayout, MyTextView是TextView.情况一: LayoutView1和LayoutView2中的on
2012-06-13 12:08:55
2593
1
转载 Notification解读
综述 status bar notification添加一个图标(和一条可选的ticker-text消息)到系统的status bar(状态条),并且显示一个notification message(通知消息)在系统的notifications window(消息窗口)中。当用户选择了消息窗口中的一条消息,Android系统就发出一个通过Notification定义的Intent(通常是
2012-02-23 15:20:13
1430
1
转载 Android深入浅出之Binder机制
转自:http://www.cnblogs.com/innost/archive/2011/01/09/1931456.htmlAndroid深入浅出之Binder机制一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。
2012-01-03 10:52:40
1374
转载 Android HAL(硬件抽象层)介绍以及调用
Android 的 HAL(Hardware Abstract Layer硬件抽象层)是Google因应厂商「希望不公开源码」的要求下,所推出的新观念,其架构如下图。虽然 HAL 现在的「抽象程度」还不足,现阶段实作还不是全面符合 HAL的架构规划,不过也确实给了我们很好的思考空间。图1:Android HAL 架构规划这是 Patrick Brady (Google) 在20
2012-01-03 10:34:59
1987
转载 Android API学习 SoundPool 和 MediaPlayer
Android平台中关于音频播放有以下两种方式: 1. SoundPool —— 适合短促且对反应速度比较高的情况(游戏音效或按键声等) 2. MediaPlayer —— 适合比较长且对时间要求不高的情况 ---------------------------------------------------------------------------------------
2011-12-13 12:02:09
1477
转载 onInterceptTouchEvent和onTouchEvent调用时序(转)
原文地址:http://blog.csdn.net/ddna/article/details/5473293onInterceptTouchEvent和onTouchEvent调用时序onInterceptTouchEvent()是ViewGroup的一个方法,目的是在系
2011-09-30 10:42:50
1437
原创 Android JNI 使用的数据结构JNINativeMethod详解
Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是Andorid使用了一种Java 和 C 函数的映射表数组,并在其中描述了函数的参数和返回值。这个数组的类型是JNINativeMethod,定义如下:typedef
2011-09-07 11:37:43
45032
9
原创 关于韦东山书上的裸机程序在mini2440上的运行
近来又开始学习韦东山书上的裸机驱动,在运行SDRAM中的代码的时候发现不能正确运行,当初下载的方法是通过mini2440自带的supervivi的d命令烧写程序。现在想想真是犯了很多错误。在韦东山的书上不止一次强调这些裸机程序要下载到nandflash上运行,但我都是通过supe
2011-08-27 15:59:14
5388
1
转载 S3C2440 SDRAM内存驱动
转自http://blog.csdn.net/mr_raptor/article/details/6555786SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存。内存的工作原理、控制时序、及
2011-08-22 15:06:26
1874
转载 s3c2440的时钟详解
这几天一直忙着研究移植U-boot,移植U-boot的过程中有一步很重要,就是要设置s3c2440的时钟,什么 Fin,Fclk,Hclk,Pclk,Mpll,Upll等时钟信号,让初学者看得一头雾水,各种信号混淆不清,本人特意花了一点时间,把这些东东理了理,现整理如下:
2011-08-08 16:09:19
1680
转载 关于android的animation的xml定义中的android:interpolator属性的含义
下面是一个切换两个activity是过度动画效果实例:(注意里面的overridePendingTransition()方法)Java代码 1. @Override public void onCreate(Bundle savedInstanceSta
2011-07-25 14:58:37
2960
原创 AIDL和远程Service调用
在Android中, 每个应用程序都有自己的进程,当需要在不同的进程之间传递对象时,该如何实现呢? 显然, Java中是不支持跨进程内存共享的。因此要传递对象, 需要把对象解析成操作系统能够理解的数据格式, 以达到跨界对象访问的目的。在JavaEE中,采用RMI通过序列化传递对象
2011-07-12 16:34:13
3313
1
原创 android音乐播放器Service的生命周期分析
在android音乐播放器的源码中,启动播放Service的源码先使用了startService, 然后又使用了bindService, 代码如下:public static ServiceToken bindToService(Activity context, Service
2011-07-08 12:11:10
5064
2
转载 Android build system note
1. Android编译系统分析编译脚本及系统变量build/envsetup.sh脚本分析在编译源代码之前通常需要在android源代码顶层目录执行 . ./build/envsetup.sh 目的是为了使用脚本 envsetup.sh 里面定义了一些函数:function help()function get_abs_build_var()function get_build_var()fun
2011-07-01 17:33:00
885
转载 Android Binder Mechanism (4) -- 如何使用已注册的系统Service
上一篇文章中我们讨论了如何向系统注册Service。本篇文章我们将讨论如何使用这个已注册的系统Service。 在本系列文章的第一篇中,客户端应用程序使用如下两条语句取得了ExampleService代理对象的引用。 view plaincopy to clipboardprint?sp sm = defaultServiceManager();
2011-07-01 16:27:00
1490
转载 Android Binder Mechanism (3) -- 如何向系统注册Service
在这篇文章中,我们将深入剖析一下如何向系统注册Service。 在第一篇文章的例子中,ExampleService通过如下语句向系统注册服务。 view plaincopy to clipboardprint?// File: ExampleService.cpp int r = defaultServiceManager()->addServ
2011-07-01 16:23:00
2044
转载 Android Binder Mechanism (2) -- 如何获得ServiceManager的代理对象的引用
在这篇文章中,我们将深入剖析一下Android系统的服务管理员ServiceManager。 ServiceManager是Android系统服务的管理者。所有需要通过Binder机制进行进程间通信的进程都要首先获得Service Manager的代理对象才能进行Binder通讯。比如系统中有用于音频混音的AudioFlingerService,用于照相的CameraService,
2011-07-01 16:10:00
2630
转载 Android Binder Mechanism (1)
Binder是Android系统中实现进程间通信的核心机制,其本质是一种Proxy模式的具体实现,就像COM,CORBA一样。 Proxy模式的基本思想是客户端程序通过某种方式得到服务器端的代理对象,所有对服务器端的服务请求都发送给该代理对象,该代理对象负责同服务器端进行通信。从客户端的角度看,访问代理对象就如同访问其它本地对象一样;服务器代理对象则屏蔽了所有的进程间通信细节。
2011-07-01 16:06:00
1758
原创 在android中通过JNI调用本地方法
JNI的核心是JNINativeMethod结构体,在jni.h中定义:typedef struct { const char* name; //JNI函数的名称 const char* signature; //描述JNI函数的参数和返回值 void* fnPtr; //JNI函数对应的C语言的函数指针
2011-07-01 12:08:00
5533
原创 正则表达式学习笔记
public class Test { public static void main(String[] args) throws Exception { //p("abc".matches("...")); //p("a8729a".replaceAll("//d", "-")); /*Pattern p = Pattern.compile("[a-z]{3}");
2011-06-30 16:58:00
926
转载 百度MP3音乐API接口及应用
这个现在好像不好使了,百度对xml文件加密了。不过大家可以了解下。 当你在百度去搜索一首歌时,你会发现有种更简单的方法,嘿嘿,安宁ヤ太天真告诉你个秘密,百度有个不公开的APIhttp://box.zhangmen.baidu.com/x?op=12&count=1&title=大约在冬季$$齐秦$$$$用上面的地址,红色部分改成歌名与作者名,然后百度就会给你一个XML: result>
2011-06-28 15:45:00
2012
转载 Android 中文件类型与MIME的匹配表
背景介绍:MIME:全称Multipurpose Internet Mail Extensions,多功能Internet 邮件扩充服务。它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,
2011-06-20 11:30:00
2932
转载 Android常用mimetype类型
3gp video/3gpp aab application/x-authoware-bin aam application/x-authoware-map aas application/x-authoware-seg ai application/postscript aif audio/x-aiff aifc audio/x-aiff aiff audio/x-a
2011-06-20 11:23:00
1771
原创 drawable(hdpi,ldpi,mdpi) 的区别 (转载)
答:主要是为了支持多分辨率的.hdpi里面主要放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)mdpi里面主要放中等分辨率的图片,如HVGA (320x480)ldpi里面主要放低分辨率的图片,如QVGA (240x320)系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片所以在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不
2011-06-16 18:18:00
3662
转载 使用Android内部的DownloadProvider下载文件,并获取cache权限
<br />收藏 <br />Android内部提供了一个DownloadProvider,是一个非常完整的下载工具,提供了很好的外部接口可以被其他应用程序调用,来完成下载工作。同时也提供和很好的下载、通知、存储等机制。<br />在Android的Browser等工具里面都用到了这个DownloadProvider。<br />但是很遗憾的是,这个DownloadProvider不对app开发人员开放,只作为内部使用。<br />我们现在去探究如何将DownloadProvider拿来给自己用。<br /
2011-06-02 15:16:00
16021
转载 android线程 Handler Message Queue AsyncTask
<br />首先原谅我把文章的标题写的这么长。其实我还嫌弃它短了因为 写不下去了所以我就不写了。因为我实在不知道该怎么定义这篇文章的标题或许应该叫 “乱谈”比较合适。 这样可能还体现了 大道至简的 精髓 呵呵。 <br /> 希望和我一样正在学习android的新手可以通过这篇文章熟悉android线程的交互,以及使用方法。以便将来更好的在自己的程序中运用。也希望大家保持学习android的积极性,一起努力、交流、成长,因为文章比较长 大家可以分几次阅读。这篇文章包含了好几个例子,我之所把它们写在一起
2011-05-10 16:37:00
3378
2
转载 可拖拽的listView
<br /><br />在packages/apps/Music/src/touchIncepter.java中<br />该类提供了listview的拖动效果,并提供接口,在程序接口中实现数据的交换即可。<br /> view plaincopy to clipboardprint?package com.and.DragListview; import java.util.ArrayList; import java.util.List; import android.app.ListActivi
2011-04-18 16:23:00
2702
2
转载 AsyncQueryHandler研究
今天晚上研究了一下啊AsyncQueryHandler,收获挺大,记录下重要知识点,以后继续补充研究。研究AsyncQueryHandler这个类的时候遇到了几个重要的不清楚的知识点1. Handler与Thread,Looper的关系2. HandlerThread是干什么用的3. ThreadLocal类是干什么用的Handler主要是用来发送和处理消息,但是发送了消息后,消息是怎么传递的呢?这就是Looper的作用了,每个Handler中都会有一个Looper对象,如果在创建Handler的时候不指定
2011-04-18 14:17:00
1125
转载 AsyncQueryHandler -->同步更新
<br /><br /> view plaincopy to clipboardprint?class QueryHandler extends AsyncQueryHandler { QueryHandler(ContentResolver res) { super(res); } @Override protected void onQueryComp
2011-04-18 12:22:00
1119
原创 android service 学习(下)
<br />通常每个应用程序都在它自己的进程内运行,但有时需要在进程间传递对象,你可以通过应用程序UI的方式写个运行在一个不同的进程中的service。在android平台中,一个进程通常不能访问其他进程中的内存区域。所以,他们需要把对象拆分成操作系统能理解的简单形式,以便伪装成对象跨越边界访问。编写这种伪装代码相当的枯燥乏味,好在android为我们提供了AIDL工具可以来做这件事。<br /> <br />AIDL(android接口描述语言)是一个IDL语言,它可以生成一段代码,可以使在一个andro
2011-04-15 14:44:00
671
转载 android service 学习
Service是android 系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service的启动有两种方式:context.startService() 和 context.bindService()。使用context.startService() 启动Service是会会经历:context.startService() ->onCreate()- >onStart()->Service runningcontext.stopSer
2011-04-15 14:42:00
1054
转载 android编写Service入门用法与教程
<br />android SDK提供了Service,用于类似*nix守护进程或者windows的服务。<br />Service有两种类型:<br />1. 本地服务(Local Service):用于应用程序内部<br />2. 远程服务(Remote Sercie):用于android系统内部的应用程序之间<br />前者用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线程后台执行,这样用户体验比较好。<br />后者可被其他应用程序复用,
2011-04-15 14:38:00
1853
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人