格式化
廣告
文章分類
廣告2
2018年9月17日 星期一
2016年11月16日 星期三
Android中Context的詳細說明與應用技巧
Activity mActivity =new Activity()
作為Android開發者,不知道你有沒有思考過這個問題,Activity可以new嗎?Android的應用程序開發採用JAVA語言,Activity本質上也是一個對象,那上面的寫法有什麼問題呢?估計很多人說不清道不明。Android程序不像Java程序一樣,隨便創建一個類,寫個main()方法就能運行,Android應用模型是基於組件的應用設計模式,組件的運行要有一個完整的Android工程環境,在這個環境下,Activity、Service等系統組件才能夠正常工作,而這些組件並不能採用普通的Java對象創建方式,new一下就能創建實例了,而是要有它們各自的上下文環境,也就是我們這裡討論的Context。可以這樣講,Context是維持Android程序中各組件能夠正常工作的一個核心功能類。
Context到底是什麼
2015年9月1日 星期二
2015年8月31日 星期一
android新打開acitivyt時EditText取消預設焦點自動帶出軟鍵盤
案例分析:
Android新啟動Activity,dialog或者其他窗體中中包含EditText, 新啟動的activity的焦點預設在EditText上,這時候android系統會自動彈出螢幕鍵盤。這會導致擠壓activity本來的界面,影響美觀。
解決方案:
2015年8月30日 星期日
abdroid 4.4 KitKat以上版本中使用Translucent將status bar透明化
Android 從 4.4(KitKat) 開始提供了一個視覺上的提升,讓最上方的狀態欄 (Status Bar) 以及最下方的導航欄 (Navigation Bar) 可以被透明化,並讓 APP 的內容可以往上下延伸,使整個畫面的可被利用度大幅提升。
2015年8月28日 星期五
2015年8月18日 星期二
2015年8月16日 星期日
[Android SDK特色教學] canvas.drawBitmap() 畫布繪製Bitmap填滿螢幕
Bitmap background = Bitmap.createScaledBitmap(YourBitmap, ScreenWidth, ScreenHeight, false);
2015年6月28日 星期日
2015年5月12日 星期二
2015年5月10日 星期日
[Android程式範例] Android程式中使用Ping指令測試網路主機狀態
Ping命令代碼:
Process p = Runtime.getRuntime().exec("ping -c 1 -w 5 " + ip);
不過以下範例是沒有加上逾時時間,開發者可以隨意修改PING命令參數。
2015年4月3日 星期五
2014年11月15日 星期六
[Android SDK特色教學] 計時器要用Timer和ScheduledExecutorService間抉擇
轉載至:http://sunnylocus.iteye.com/blog/530969java.util.Timer計時器有管理任務延遲執行("如 1000ms後執行任務")以及週期性執行("如每500ms執行一次該任務")。但是,Timer存在一些缺陷,因此你應該考慮使用 ScheduledThreadPoolExecutor作為代替品,Timer對調度的支持是基於絕對時間,而不是相對時間的,由此任務對系統時鐘的改 變是敏感的;ScheduledThreadExecutor只支持相對時間。
Timer的另一個問題在於,如果TimerTask拋出未檢查的異常,Timer將會產生無法預料的行為。Timer線程並不捕獲異常,所以 TimerTask拋出的未檢查的異常會終止timer線程。這種情況下,Timer也不會再重新恢複線程的執行了;它錯誤的認為整個Timer都被取消 了。此時,已經被安排但尚未執行的TimerTask永遠不會再執行了,新的任務也不能被調度了。
所以timer的timetask只要不小心有例外,就會導致整個工作停止,永遠無法執行下個任務。反之,用ScheduledExecutorService就沒這種困擾,而且占用資源更少。
以下是範例程式碼:
2014年11月11日 星期二
2014年8月13日 星期三
2014年8月5日 星期二
2014年6月11日 星期三
訂閱:
文章
(
Atom
)





![[Android SDK特色教學] 藍牙4.0 BLE通訊實現 [Android SDK特色教學] 藍牙4.0 BLE通訊實現](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6zmWKzigYGRqhQL5or5Tr94JFmqGRCiRE1-30CDh0avEuMcsioA_oGbNwu0ZLBjmCfUPRx3_OXyFpSYCk0dU5-mz5ponb4qFGxN-bPCTG8oDGqEIGEVbTvSvAZU2zpSVSWEGBNh2zbnM/s640/bluetooth-low-energy-android.jpg)

![[Android SDK特色教學] 使用FragmentPagerAdapter完成TAB導航與手勢滑動換頁 [Android SDK特色教學] 使用FragmentPagerAdapter完成TAB導航與手勢滑動換頁](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtd7BmNI8I5Ytww4OAZ4zYEDSNH7q_0t3zoahN9krhSpFENZXGXtXpUCoC1H3gdDzMRk93MsmQ6JDE-7WmkDX_FIzsmgw1loFbzh3SEQ1LasnZEDjLQY0VrBH1yZ2RVsjGjskGja0l3I0/s1600/2014080522244922.png)
![[Android SDK特色教學] EditText強制關閉螢幕鍵盤方法 [Android SDK特色教學] EditText強制關閉螢幕鍵盤方法](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBVAGWIZAW3uXEmBE5rNULUpeHYX08-c6XOEhodVYkjbA8052oce2upuKsP8M0NYsD0tnoDI_tJle1PKtQEmrnT3nleLVyO-23FyQekyi2A6u5oveyDhrfekOqiIo2rNDuBM0kBirKE-I/s1600/P20121002104247.png)