摘要: 一、Handler的定义:主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。 如果此时需要一个耗时的操作,例如: 联网读取数据, 或者读取本地较大的一个文件的时候,你不能把这些操作放在主线程中,,如果你放在主线程中的话,界面会出现假死现象, 如果5秒钟还没有完成的话,,会收到Android系统的一个错误提示 "强制关闭". 这个时候我们 阅读全文
posted @ 2012-07-25 16:27 罗小姿 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 在Android平台,一个进程通常不能访问另一个进程的内存空间。但是android提供了AIDL可以用来进程间数据传递。 AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)的代码。如果在一个进程中(例如Activity)要调用另一个进程中(例如Service)对象的操作,就可以使用AIDL生成可序列化的参数。 AIDL IPC机制是面向接口的,像COM或Corba一样,但是更加轻量级。它是使用代理类在客户端和. 阅读全文
posted @ 2012-07-11 16:43 罗小姿 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 1、输入法Enter键图标的设置:软键盘的Enter键默认显示的是“完成”文本,通过设置android:imeOptions来改变默认的“完成”文本。这里举几个常用的常量值:actionUnspecified 未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.效果:actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE 效果:actionGo 去往,对应常量EditorInfo.IME_ACTION_GO 效果:actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH 效果:acti 阅读全文
posted @ 2012-07-04 11:21 罗小姿 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 一、结构public classViewSwitcher extendsViewAnimatorjava.lang.Objectandroid.view.View android.view.ViewGroup android.widget.FrameLayout android.widget.ViewAnimator android.widget.ViewSwitcher已知直接子类ImageSwitcher,TextSwitcher二、概述 在两个视图间转换时显示动画,有一个可以创建这些视图的工厂类。你可以用工厂来创建这些视图,也可以自己创建。一个ViewSwitcher只允许包含两个... 阅读全文
posted @ 2012-07-04 11:20 罗小姿 阅读(512) 评论(0) 推荐(0) 编辑
摘要: tabActivity继承自Activity,其内部定义好了TabHost,可以通过getTabHost()获取。TabHost 包含了两种子元素:一些可以自由选择的Tab 和tab对应的内容tabContentto,在Layout的<TabHost>下它们分别对应 TabWidget和FrameLayout。<TabWidger>对应Tab。<FrameLayout>则用于包含Tab需要展示的内容。需要注意的是<TabWidger> 和<FrameLayout>的Id 必须使用系统id,分别为android:id/tabs 和 an 阅读全文
posted @ 2012-06-30 15:45 罗小姿 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误。因此android提供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI界面,呈现给用户。这样就解决了子线程更新UI的问题。但是费时的任务操作总会启动一些匿名的子线程,太多的子线程给系统带来巨大的负担,随之带来一些性能问题。因此android提供了一个工具类AsyncTask,顾名思义异步执行任务。这个AsyncTask生来就是处理一些后台的比较 阅读全文
posted @ 2012-06-15 16:16 罗小姿 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 本文摘自http://www.cppcode.com/archives/2012/03/13/181.htmlAndroid 广播大全Intent.ACTION_AIRPLANE_MODE_CHANGED;——关闭或打开飞行模式时的广播Intent.ACTION_BATTERY_CHANGED;——充电状态,或者电池的电量发生变化——电池的充电状态、电荷级别改变,不能通过组建声明接收这个广播,只有通过Context.registerReceiver()注册Intent.ACTION_BATTERY_LOW;——表示电池电量低Intent.ACTION_BATTERY_OKAY;——表示电池电量 阅读全文
posted @ 2012-06-12 16:31 罗小姿 阅读(256) 评论(0) 推荐(0) 编辑
摘要: AlarmManager 主要管理硬件时钟。一些与时间相关的应用,如日历,闹钟等需要使用Alarm Manager的服务。Alarm manager功能相对比较简单,相关代码位于frameworks/base/core/jni/server/com_android_server_AlarmManagerService.cppframeworks/base/services/java/com/android/server/AlarmManagerService.java一. frameworks/base/core/jni/server/com_android_server_AlarmManag 阅读全文
posted @ 2012-06-11 15:39 罗小姿 阅读(602) 评论(1) 推荐(1) 编辑
摘要: 复制文件和目录树。 XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/EXCLUDE:file1[+file2][+file3]...] source 指定要复制的文件。 destination 指定新文件的位置和/或名称。 /A 只复制有存档属性集的文件, 但不改变属性。 /M 只复制有存档属性集的文件, 并关闭存档属性。 /D:m 阅读全文
posted @ 2012-06-11 14:53 罗小姿 阅读(900) 评论(0) 推荐(0) 编辑
摘要: 一、一个RSS文件就是一段规范的XML数据,该文件一般以RSS、XML或者RDF作为后缀。二、SAX(Simple API for XML) 优点:不用事先调入整个文档,占用资源少 缺点:不像DOM一样将文档树长期驻留在内存,数据是不持久的 使用场合:机器有性能限制,尤其是在嵌入式环境如Android,极力推荐采用SAX进行解析。三、具体实现的步骤如下: 1、新建一个工厂类: SAXParserFactory=SAXParserFactory.newInstane(); 2、让工厂类产出一个SAX的解析类 SAXParser parser=factory.newSAXPa... 阅读全文
posted @ 2012-06-08 16:06 罗小姿 阅读(496) 评论(0) 推荐(0) 编辑