- 浏览: 239080 次
- 性别:
- 来自: 湖南
最新评论
-
yuxuejun1123:
为什么没有powerPC,个人觉得这篇文章把mips和powe ...
ARM MIPS PowerPC比较 -
yy232:
我刚学这个,有点疑问,希望你能为我解答 你说 “任何人只 ...
centos的用户、组权限、添加删除用户等操作的详细操作命令 -
wstxdz1023:
就那么几句代码,全是问题
socket 心跳
文章列表
Android IPC 通讯机制源码分析----Albertchen
Binder通信简介: Linux系统中进程间通信的方式有:socket, named pipe,message queque, signal,share memory。Java系统中的进程间通信方式有socket, named pipe等,android应用程序理所当然可以应用JAVA的IPC机制实现进程间的通信,但我查看android的源码,在同一终端上的应用软件的通信几乎看不到这些IPC通信方式,取而代之的是Binder通信。Google为什么要采用这种方式呢,这取决于Binder通信方式的高效率。 ...
我将用API IAudioFlinger:::setMode的调用过程来演示Android IPC的运作,AudioFinger 是程序media_server的一个Service.
(1)Service Manager 的启动(service_manager.c)
service_manager 为其它进程提供service管理,它必须在其他服务运行之前启动。int main(int argc, char **argv){struct binder_state *bs;void *svcmgr = BINDER_SERVICE_MANAGER;bs = binder_open(128* ...
美的程序:简明:代码少,逻辑质朴,算法精炼,一个程序只做一件事情,只有必要功能——好像是 impossible mission。一致:提示信息的一致,UI 的一致。容错:程序很稳健,适应各种恶劣情况,以 C 这种语言只有靠长时间补丁才能达到虚假的稳健。高效:尽可能高效。 简评一下几种版本管理工具:CVS, VSS:没有变更集概念,仅此一点就可以安息了。GIT: 复杂的 UI,超前的理念SVN: 慢,代码库膨胀剧快,客户端常有小问题,错误信息稀里糊涂Mercurial: 也趋向于复杂了Bazaar:UI 古怪Darcs: 慢
android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)
android:autoText 如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。
android:bufferType 指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符, 也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式,参见这里1、这里2。 ...
SharedPreferences是Android中存储简单数据的一个工具类。可以想象它是一个小小的Cookie,它通过用键值对的方式把简单数据类型(boolean、int、float、long和String)存储在应用程序的私有目录下(data/data/包名/shared_prefs/)自己定义的xml文件中。一、简介 它提供一种轻量级的数据存储方式,通过eidt()方法来修改里面的内容,通过Commit()方法来提交修改后的内容。二、重要方法public abstract boolean contains (String key) :检查是否已存在该文件,其中key是xml的文件名。ed ...
有了framework后,我们不用面对赤裸裸的OS API,做一些重复而繁杂的事情。但天下没有免费的午餐,我们还是需要学会高效正确的使用不同的framework,很多处理某一特定问题的手法在不同的framework中,用起来都会有所不同的。
...
在开发中我们经常需要把我们的应用设置为全屏,这里我所知道的有俩中方法,一中是在代码中设置,另一种方法是在配置文件里改!
一、在代码中设置:
view plaincopy to clipboardprint?
package com.android.tutor;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class OpenGl ...
如果想在自定义的View上面显示Button 等View组件需要完成如下任务
1.在自定义View的类中覆盖父类的构造(注意是2个参数的)
public class MyView2 extends View{
public MyView2(Context context,AttributeSet att)
{super(context,att);
} public void onDraw(Canvas c)
{ // 这里绘制你要的内容
}
}
2.定义布局文件
<?xml version="1.0" encodin ...
在前面的2篇文章Android读写XML(上)——package说明
、Android读写XML(中)——SAX
中想必大家对XML文件读取的方法已经比较熟悉了,在这里我们就不多说了,直接说明如何将信息写成XML文件,首先介绍Andoid SDK中的相关类。
类
说明
XmlSerializer
Define an interface to serialziation of XML Infoset.定义一个接口来实现XML信息的串行化。
什么是串行化?
对象的串型化,也有叫做对象的序列话,并不只是简单的把对象保存在存储器上,它可以使我们在流中传输对象,使对 ...
在Android读写XML(上)——package说明
中,
详细介绍了使用
DOM方法读取XML文档,由于使用DOM方法需要将整个XML文档加载内存中,对系统资源占用比较多,这对内存比较紧张的Android系统来说,使用
DOM方法读取XML文档会有很大的限制。
使用SAX方法读取XML,对内存资源的占用的比较少,因此在嵌入式设备中极力推荐使用,Android也不例外,本篇幅详细说明Android中如何使
用SAX读取XML文档。
SAX采用基于事件驱动的处理方式,它将XML文档转换成一系列的事件,由单独的事件处理器来决定如何处理。为了了解如何使用SAX API处理XML文档 ...
XML 经常用作 Internet 上的一种数据格式,其文件格式想必大家都比较清楚,在这里我结合Android平台,来说明Android SDK提供的读写XML的package。
首先介绍下Android SDK与Java SDK在读写XML文件方面,数据包之间的关系。Android 平台最大的一个优势在于它利用了
Java 编程语言。Android SDK 并未向标准 Java Runtime Environment (JRE)
提供一切可用功能,但它支持其中很大一部分功能。Java 平台支持通过许多不同的方式来使用 XML,并且大多数与 XML 相关的 Java API
在 A ...
使用<include /> 标签来重用layout代码
如果在一个项目中需要用到相同的布局设计,可以通过<include /> 标签来重用layout代码,该标签在android开发文档中没有相关的介绍。在android主屏程序中
用到了这个标签:
<com.android.launcher.Workspace
android:id="@+id/workspace"
android:layout_width="fill_parent"
android:layout_height="fil ...
Android
系统
中具备6个模式
,分别为一般启动模式(normal mode)、安全模式(safe mode)、恢复模式(recovery
mode)、引导模式(bootloader mode)、fastboot模式和诊断模式(diagnostic mode)。
一般启动模式(normal mode)的功能
是正常启动手机
,方法为关机状态下按电源键启动。
安全模式(safe mode)。此模式和正常启动一样,但没有登记Google
,所以不能访问Market或使用你的Google账号。操作方法为按住“menu”键,按电源键启动手机,直至手机启动完成松开“menu”键。 ...
一个有用的命令。有老兄们发的帖子里没有找到。所以就发过来了。希望有用。
希望大家能把一些有用而难找的命令发出来让大家共享。
cpio命令详细用法
cpio - 存取归档包中的文件 语法 Syntax
cpio
-o [ -aBLuvV ] [ -C bufsize ] [ -c | -H format ][ -K volumesize ] [ [
-O file [, file ... ] ] [ -M message ] ] [ -Pifd,ofd ]
cpio -i [ -6AbBcdfkmnqrsStTuvV ] [-C bufsize ] [ [ -I file [ ...
ramdisk.img 是根文件系统.android是把root目录打包弄成这个东西的.所以可以把它解包,修改配置信息等.然后再重新打包好.
思路有了,开始干活.解包过程:
1 创建tmp 目录.
2 用mv命令改ramdisk.img 为ramdisk.cpio.gz
3 gzip -d ramdisk.cpio.gz 此时你会在当前目录看见ramdisk.cpio
4 把ramdisk.cpio 放到tmp目录下.
5 cpio -i -F ramdisk.cpio
如果幸运.你会看到一些文件和目录.
打包过程:
1 进入tmp目录
2 cpio -i ...