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);
} ...
建立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/
$. ...
建立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.位置
公共控件的代码在源码目录 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程序中使用定时器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、系统控件的实现:了解有什么控件,控件的功能,功能如何实现
frameworks/base/core/java/android/*
2、应用程序的实现:Android
系统中所有的应用程序都在这里实现,了解它们如何实现
package/apps/*
3、系统提供的例程:各种类型程序的实现范例
development/samples/*