android.os包中一些类的使用

转载自:http://yuanzhifei89.iteye.com/blog/1168544

 

android.os.Build 

Java代码   收藏代码
  1. Build.BOARD // 主板  
  2. Build.BRAND // android系统定制商  
  3. Build.CPU_ABI // cpu指令集  
  4. Build.DEVICE // 设备参数  
  5. Build.DISPLAY // 显示屏参数  
  6. Build.FINGERPRINT // 硬件名称  
  7. Build.HOST  
  8. Build.ID // 修订版本列表  
  9. Build.MANUFACTURER // 硬件制造商  
  10. Build.MODEL // 版本  
  11. Build.PRODUCT // 手机制造商  
  12. Build.TAGS // 描述build的标签  
  13. Build.TIME  
  14. Build.TYPE // builder类型  
  15. Build.USER  
  16.   
  17. // 运行结果  
  18. /* 
  19. board: unknown 
  20. brand: generic 
  21. cpu abi: armeabi 
  22. device: generic 
  23. display: google_sdk-eng 2.1 ERD79 22607 test-keys 
  24. finger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keys 
  25. host: genki.mtv.corp.google.com 
  26. id: ERD79 
  27. manufacturer: unknown 
  28. model: google_sdk 
  29. product: google_sdk 
  30. tags: test-keys 
  31. time: 1261185425000 
  32. type: eng 
  33. user: android-build 
  34. */  




Build.VERSION 

Java代码   收藏代码
  1. // 当前开发代号  
  2. Build.VERSION.CODENAME  
  3. // 源码控制版本号  
  4. Build.VERSION.INCREMENTAL  
  5. // 版本字符串  
  6. Build.VERSION.RELEASE  
  7. // 版本号  
  8. Build.VERSION.SDK  
  9. // 版本号  
  10. Build.VERSION.SDK_INT  
  11.   
  12. // 结果  
  13. /* 
  14. REL 
  15. 22607 
  16. 2.1 
  17. 7 
  18. 7 
  19. */  
  20.   
  21. // Build.VERSION.SDK_INT可与switch搭配用  
  22. switch (Build.VERSION.SDK_INT) {  
  23. case Build.VERSION_CODES.BASE: // 1.0  
  24.     break;  
  25.       
  26. case Build.VERSION_CODES.BASE_1_1: // 1.1  
  27.     break;  
  28.       
  29. case Build.VERSION_CODES.CUPCAKE: // 1.5  
  30.     break;  
  31.       
  32. case Build.VERSION_CODES.CUR_DEVELOPMENT: // current dev version  
  33.     break;  
  34.       
  35. case Build.VERSION_CODES.DONUT: // 1.6  
  36.     break;  
  37.       
  38. case Build.VERSION_CODES.ECLAIR: // 2.0  
  39.     break;  
  40.       
  41. case Build.VERSION_CODES.ECLAIR_0_1: // 2.0.1  
  42.     break;  
  43.       
  44. case Build.VERSION_CODES.ECLAIR_MR1: // 2.1  
  45.     break;  
  46. }  




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

要用时间间隔,推荐使用SystemClock中的相关方法。 

Java代码   收藏代码
  1. SystemClock.currentThreadTimeMillis(); // 在当前线程中已运行的时间  
  2. SystemClock.elapsedRealtime(); // 从开机到现在的毫秒书(手机睡眠(sleep)的时间也包括在内)  
  3. SystemClock.uptimeMillis(); // 从开机到现在的毫秒书(手机睡眠的时间不包括在内)  
  4. SystemClock.sleep(100); // 类似Thread.sleep(100);但是该方法会忽略InterruptedException  
  5. SystemClock.setCurrentTimeMillis(1000); // 设置时钟的时间,和System.setCurrentTimeMillis类似  
  6.   
  7. // 时间间隔  
  8. long timeInterval = SystemClock.uptimeMillis() - lastTime;  
  9. // do something with timeInterval  




android.os.PowerManager 
PowerManager的flag的意思: 
android.os包中一些类的使用_第1张图片

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

你可能感兴趣的:(android)