Android电源管理
Android 电源管理
Android 电源管理
一、相关概念
1.
出于节电的需要,一般应用在用户一段时间无操作的情况下屏幕变暗,然后进后休眠状态
2. 用户只能在” 设置 -> 声音和显示”
中设置所有应用默认的屏幕亮度和进行待机的时间
3.
电源管理的实现分内核应用两部分,通过下面介绍的接口,我们可以设置应用程序的电源管理,以控制与其休眠相关的状态(是否需要进入休眠,调整
cpu
频率,键盘灯的开关,屏幕的亮暗等)
二、设置电源管理常用的几种状态
PARTIAL_WAKE_LOCK 屏幕关,键盘灯关,不休眠
SCREEN_MID_WAKE_LOCK 屏幕灰,键盘灯关,不休眠
SCREEN_BRIGHT_WEEK_LOCK 屏幕亮,键盘灯关,不休眠
FULL_WAKE_LOCK 屏幕亮,键盘灯亮,不休眠
三、使用电源管理注意事项
1. 可在 onCreate 时设置该界面的电源管理,在 onDestroy 时取消设置
2. 可在 onResume 时设置该界面的电源管理,在 onPause 时取消设置
3. 注意设置是以 Activity 为单位,不是以应用为单位
4. 注 ...
Android缩放drawable
Android 缩放 drawable
#移动开发 #Android
一、相关概念
1. Drawable
就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable
),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象
2. Canvas 画布,绘制的目的区域,用于绘图
3. Bitmap 位图,用于图的处理
4. Matrix 矩阵,此例中用于操作图片
二、步骤
1. 把 drawable 画到位图对象上
2. 对位图对象做缩放(或旋转等)操作
3. 把位图再转换成 drawable
** 三、** 示例
** static Bitmap drawableToBitmap(Drawable drawable) ** // drawable
转换成
bitmap **
{
int width = drawable.getIntrinsicWidth(); ** // 取 drawable 的长宽
**
int height = drawable.getIntrinsicHeight();
...
Android改变窗口标题栏的布局
Android 改变窗口标题栏的布局
一、重点
一般应用的 Title 都是建立应用时在 AndroidManifest.xml 中配置的,或是用
setTitle
设置的简单字符串,要是想加入按钮,图片等多个复杂的布局,使用以下方法:
在窗口建立时,可以把一个 xml 布局设置成该应用的 Title
二、实例
功能:把 title 设置成为一个字串和一个按钮的组合
修改 xxActivity.java 代码
** public ** ** void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); ** // 注意顺序
**
setContentView(R.layout.main); ** // 注意顺序 **
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, ** // 注意顺序
**
R.layout.title);
} ...
建立AndroidSDK开发环境
建立 Android SDK 开发环境
建立 SDK 开发环境
一、系统平台
Linux 系统:ubuntu 8.04,最好用 ubuntu
系统,否则可能遇到缺少库,编译器版本不对等一系列问题,安装和使用详见文档《
ubuntu 系统的使用》
二、安装 JDK
1. 为什么使用 JDK
用以支持 Android 和 Eclipse:Android 中的应用都是 java 程序,所以想在
Linux 上建立开发
Android 环境,就需要安装 java 虚拟机
2. 安装方法
使用 ubuntu 安装包
$ sudo apt-get install sun-java6-bin
4. 测试是否安装成功
$ java -version
三、安装 Android SDK
1. 为什么使用 Android SDK
Android SDK 包含 创建和运行 Android
应用程序所需的一切,包括设备仿真器和高级调试工具,如果你只想看看
Android
运行起来什么样,那只安装它就可以
2. 安装
注意选择你所使用平台和硬件对应的版本
平台 windows, linux, mac
版本 1. ...
建立Android源码开发环境
建立 Android 源码开发环境
Android 源码的编译
一、配置环境
1. 磁盘
需要 6G 以上剩余空间
2. Linux 系统
Ubuntu 6.06 以上版本,我用的是 buntu 8.04,具体请见下篇文档《ubuntu
系统的使用》
3. Git 工具 (Git 1.5.4 以上版本)
它是类似 CVS
的版本管理工具,如果你的代码不用从网上下载,而是从别人处复制,则无需此工具
$ sudo apt-get install git-core gnupg
4. Java 环境 (JDK 5.0 update12 以上版本)
$ sudo apt-get install sun-java6-jdk
具体安装请见上篇文档《Android 环境的搭建》
5. Python (Python 2.4 以上版本)
从 [http://www.python.org/download/ 下载 2.4
](http://www.python.org/download/下载2.4) 以上版本
$ tar xvzf python-2.4.5.tgz
$ cd python-2.4.5/
$. ...
Android程序中使用定时器Timer
Android 程序中使用定时器
Timer
#移动开发 #Android
一、重点
1. 如何使用 handler 和 message
2. 如何延时调用
使用延迟发消息的方式
也可以使用 android.util.Timer 与 handler 相结合的方式
见
[http://hi.baidu.com/iammuyue/blog/item/20ef6b10bbc92377cb80c467.html
](http://hi.baidu.com/iammuyue/blog/item/20ef6b10bbc92377cb80c467.html)
二、举例
1. 功能:实现一个应用界面,在用户长按触模屏两秒后,打出 Log 信息
2. 步骤:
建立 project
在 eclipse 中点击菜单 File->New->Project ……
选择 Android Project 按 Next
填写 project 的各项内容如下
Project name: test_xy // 目录名, 它位于你设定的 workspace 之下
Package name: com.a ...
如何新建和使用Android控件
如何新建和使用 Android 控件
#移动开发 #Android
一、重点
如何在 layout(xml)中使用自定义的控件
二、举例
1. 功能:实现一个新的浏览器控件,使点击浏览器中任何位置都能打印 Log
信息
2. 步骤:
建立 project
在 eclipse 中点击菜单 File->New->Project ……
选择 Android Project 按 Next
填写 project 的各项内容如下
Project name: test_xy // 目录名, 它位于你设定的 workspace 之下
Package name: com.android.test // 打包名称
Activity name:.TestXy // 类名 (生成文件 TestXy.java)
Application name: test_xy // 可执行程序名
然后点 Finish 按钮
继承一个已有控件,加入新的属性和方法
eclipse 左侧:test_xy->src->com.android.test 点右键
New->class
建立新控 ...
修改android公共控件和后台服务
修改 android
公共控件和后台服务
#移动开发 #Android
1.位置
公共控件的代码在源码目录 android/frameworks/base/core/java/android/
中
后台服务的代码在源码目录
android/frameworks/base/services/java/android/server 中
2.修改
修改其中代码并执行 mm 编译
形如:
** $ cd frameworks/base/services/java/com/android/server/
$ vi IntentResolver.java
$ mm **
3.替换
编译后用生成的包替换手机上 /system/framework/ 中相应的包
编译后生成的文件见提示
形如:
** $ cd out/target/product/general/system/framework/
$ adb push services.jar /system/framework/ **
4.使新的包生效
方法 1:
重启手机后生效
方法 2:
杀死 system_server 进程,使系统重新启动, ...
动态改变Android控件大小
动态改变 Android 控件大小
一、方法
使用 getLayoutParams() 和 setLayoutParams() 方法
二、示例代码
** LinearLayout.LayoutParams linearParams =
(LinearLayout.LayoutParams)
aaa.getLayoutParams(); ** // 取控件 aaa 当前的布局参数 **
linearParams.height = 365; ** // 当控件的高强制设成 365 象素 **
aaa.setLayoutParams(linearParams); ** // 使设置好的布局参数应用到控件
aaa
三、原理
getLayoutParams() 和 setLayoutParams() 都是控件基类 view 的
public
方法,在外部也可以直接调用
由于 LayoutParams
一般是在加入容器中设置的,所以容易混淆我们所指定的布局属性究竟是保存在容器中,还是控件本身的属性,答案是控件本身。但是在设置时还是要注意布局属性与容器种类密切相关
android源码中常用于参考的代码
android
源码中常用于参考的代码
#移动开发 #Android
在应用开发时,常遇到有些功能不知是否能实现,不知如何实现的问题,在网上资料又不多的情况下,可以用参考已有源码的方式来解决这些问题,经常参考的目录如下
1、系统控件的实现:了解有什么控件,控件的功能,功能如何实现
frameworks/base/core/java/android/*
2、应用程序的实现:Android
系统中所有的应用程序都在这里实现,了解它们如何实现
package/apps/*
3、系统提供的例程:各种类型程序的实现范例
development/samples/*