首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

android.os包中一些种的使用

2012-08-08 
android.os包中一些类的使用android.os.BuildBuild.BOARD // 主板Build.BRAND // android系统定制商Build.

android.os包中一些类的使用
android.os.Build

Build.BOARD // 主板Build.BRAND // android系统定制商Build.CPU_ABI // cpu指令集Build.DEVICE // 设备参数Build.DISPLAY // 显示屏参数Build.FINGERPRINT // 硬件名称Build.HOSTBuild.ID // 修订版本列表Build.MANUFACTURER // 硬件制造商Build.MODEL // 版本Build.PRODUCT // 手机制造商Build.TAGS // 描述build的标签Build.TIMEBuild.TYPE // builder类型Build.USER// 运行结果/*board: unknownbrand: genericcpu abi: armeabidevice: genericdisplay: google_sdk-eng 2.1 ERD79 22607 test-keysfinger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keyshost: genki.mtv.corp.google.comid: ERD79manufacturer: unknownmodel: google_sdkproduct: google_sdktags: test-keystime: 1261185425000type: enguser: android-build*/



Build.VERSION
// 当前开发代号Build.VERSION.CODENAME// 源码控制版本号Build.VERSION.INCREMENTAL// 版本字符串Build.VERSION.RELEASE// 版本号Build.VERSION.SDK// 版本号Build.VERSION.SDK_INT// 结果/*REL226072.177*/// Build.VERSION.SDK_INT可与switch搭配用switch (Build.VERSION.SDK_INT) {case Build.VERSION_CODES.BASE: // 1.0break;case Build.VERSION_CODES.BASE_1_1: // 1.1break;case Build.VERSION_CODES.CUPCAKE: // 1.5break;case Build.VERSION_CODES.CUR_DEVELOPMENT: // current dev versionbreak;case Build.VERSION_CODES.DONUT: // 1.6break;case Build.VERSION_CODES.ECLAIR: // 2.0break;case Build.VERSION_CODES.ECLAIR_0_1: // 2.0.1break;case Build.VERSION_CODES.ECLAIR_MR1: // 2.1break;}



android.os.SystemClock
文档中对System.currentTimeMillis()进行了相应的描述,就是说它不适合用在需要时间间隔的地方,如Thread.sleep, Object.wait等,因为可以通过System.setCurrentTimeMillis来改变它的值。

要用时间间隔,推荐使用SystemClock中的相关方法。
SystemClock.currentThreadTimeMillis(); // 在当前线程中已运行的时间SystemClock.elapsedRealtime(); // 从开机到现在的毫秒书(手机睡眠(sleep)的时间也包括在内)SystemClock.uptimeMillis(); // 从开机到现在的毫秒书(手机睡眠的时间不包括在内)SystemClock.sleep(100); // 类似Thread.sleep(100);但是该方法会忽略InterruptedExceptionSystemClock.setCurrentTimeMillis(1000); // 设置时钟的时间,和System.setCurrentTimeMillis类似// 时间间隔long timeInterval = SystemClock.uptimeMillis() - lastTime;// do something with timeInterval



android.os.PowerManager
PowerManager的flag的意思:

// PowerManager的一般用法,请求和释放唤醒锁PowerManager powerMgr = (PowerManager)getSystemService(Context.POWER_SERVICE);int flags = PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP;WakeLock wakeLock = powerMgr.newWakeLock(flags, "for debug purpose tag");wakeLock.acquire(); // 获取唤醒锁wakeLock.release(); // 释放唤醒锁// 在游戏中,会将acquire放在onResume中;将release放在onPause,这样在程序运行时就可以保持屏幕常量;在程序处在后台时,就恢复原来的设置。// PowerManager的其它api的使用powerMgr.goToSleep(SystemClock.uptimeMillis() + 100); // 100ms后进入睡眠powerMgr.isScreenOn(); // 屏幕是否亮着powerMgr.userActivity(SystemClock.uptimeMillis()+100, true); // 相当于按home键,会引起从睡眠激活// WakeLock的其它apiwakeLock.acquire(1000); // 获取唤醒锁,并在1000ms后释放wakeLock.isHeld(); // 当前是否持有唤醒锁// 是否使用引用计数,默认是启用的。引用计数应该就是第一次请求为1,第二次加1,再一次再加1。// 在释放时,只有引用计数为0时才被视为完全释放(所以要多次调用release)wakeLock.setReferenceCounted(true); 


热点排行