亚洲激情欧美,国产免费丝袜调教视频,日本高清免费一本视频网站,毛片在线看免费版,在线看久,亚洲精品美女网站在线观看,大陆一级黄色a乱人国产片

Android開發(fā)經(jīng)驗匯總

文章分類:公司動態(tài) 發(fā)布時間:2013-08-09 原文作者:tbkj 閱讀( )

1. 默認情況用戶按下Back鍵是不會銷毀當前Activity的,Activity依舊存在于內(nèi)存中,如果想要徹底kill掉這個程序可以在代碼中做如下處理:
1
@Override<br>   public boolean onKeyDown(int keyCode, KeyEvent event) {<br><br>     if (keyCode == KeyEvent.KEYCODE_BACK) {<br>         /* <br>          * If you want to kill the process.<br>          * Or maybe you can alert a dialog to make user choose. <br>             */<br>         finish();<br>       }<br><br>       return super.onKeyDown(keyCode, event);<br><br> }<br><br>   @Override<br>   protected void onDestroy() {<br><br>        System.exit(0);<br>     //Or.<br>       //android.os.Process.killProcess(android.os.Process.myPid());<br><br>   }<br>
?
2. 在Manifest.xml里可以給Activity指定一個模板,從而讓Activity更加靈活的滿足我們的需求.比如android:theme="@android:style/Theme.Dialog"可以讓窗口變成像Dialog那樣的懸浮的彈出窗體. 如果在代碼中, 可以使用Activity類的setTheme(int resid)函數(shù).
 
3. 你能想象我之前一直在用Windows開發(fā)Android程序嗎?(我是一個MS fans =。=)但是最近涉及到Launcher開發(fā),編譯的時候還是在Linux下進行方便。今早像往常一樣打開Eclipse,只不過是在Linux下,習(xí)慣性的啟動模擬器,打開adb工具。。。wait!"adb shell"命令不起作用!?。?google了一下發(fā)現(xiàn)在Linux下和在windows下啟動adb的方式不一樣。。好吧我承認我小白了。。。記錄以下:
 Windows : adb shell
 Linux : ./adb shell
注意 ./和adb之間沒有空格哦 >o<
 
4. 編譯Launcher2時候經(jīng)常遇到的一個問題,編譯時報錯:
?
1
2
3
4
5
6
7
<div class="cnblogs_Highlighter"><pre class="brush:csharp">packages/apps/Browser/src/com/android/browser/R.java:10: duplicate class: <br>com.android.browser.R <br>public final class R { <br>^ <br>Note: Some input files use or override a deprecated API. <br>Note: Recompile with -Xlint:deprecation for details. <br>Note: Some input files use unchecked or unsafe operations. <br>Note: Recompile with -Xlint:unchecked for details. <br>2 errors <br>make: *** [out/target/common/obj/APPS/Browser_intermediates/classes.jar] <br>Error 41<br></pre>
</div>
<div>duplicate class。。。
</div>
<div>后來發(fā)現(xiàn)是因為我用eclipse打開了Launcher的源碼,eclipse自動生成了R文件,然后在編譯的時候又會生成一次R文件,所以產(chǎn)生了沖突,在編譯之前把gen文件夾里的東西刪掉就好了。</div>
<div>再跑一遍,it works!</div>
<div> </div>
5. 有時候我們會需要對模擬器設(shè)備進行截圖,截圖方法給大家分享一下:
下載Android SDK以后有一個tools工具包,這個包里包含如一個工具ddms.bat。如下圖:
 
啟動這個工具以后看到如下界面:
點擊菜單欄里的Device,選擇Screen Capture?;蛘哂每旖萱ICtrl+S,就可以彈出截圖窗口,可以copy也可以save,還提供了一個簡單的旋轉(zhuǎn)角度功能。
大家看到這個ddms工具還有一些功能,但是如果你用eclipse開發(fā)的話可能用不到他們了。。。
 
6. Android獲得和設(shè)置桌面圖片的方法:
在Activity中,WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);可以拿到桌面管理器,然后:
wallpaperManager.getDrawable(); //獲得桌面圖片
wallpaperManager.setBitmap(bitmap); //設(shè)置桌面圖片。
 
7. Android判斷系統(tǒng)語言:
Locale l = Locale.getDefault();  可以拿到一個Locale對象,通過這個locale對象我們可以拿到很多信息,比如l.getLanguage(), l.getCountry(); enjoy it...
 
8. 判斷系統(tǒng)是12小時制還是24小時制:
ContentResolver cv = this.getContentResolver();           
String strTimeFormat = android.provider.Settings.System.getString(cv,android.provider.Settings.System.TIME_12_24);  
拿到的這個str可能是Null,12,24.
 
9. 在跟sdcard交互的時候不要手寫絕對路徑,因為不同版本的Android系統(tǒng)sdcard路徑可能不一樣。
通過android.os.Environment.getExternalStorageDirectory()可以拿到當前系統(tǒng)的sdcard路徑。
判斷sdcard是否存在的方法是:if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
 
原文來自:tbkj
?