跳到主要內容

發表文章

目前顯示的是 2012的文章

the device never sleeps

給沒有辦法編譯 Android 或者是懶得一直重新編譯的開發人員,進入 adb shell 裡面,cd 到 /data/data/ com.android.providers.settings/ databases/ ,輸入 sqlite3 settings.db SQLite version 3.7.11 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> update system SET value='-1' where name='screen_off_timeout'; ⋯⋯ sqlite> select * from system where name='screen_off_timeout'; 55|screen_off_timeout|-1 如果結果像最後一行這樣顯示 -1 表示成功了,接著輸入 .exit 離開,然後輸入 reboot 重新開機,好!開機完成後應該就可以"不眠不休"的測試了... 。 更多

Android基礎轉貼,JAVA side

Source:  http://milochen.wordpress.com/2011/03/25/understanding-android-os-src-looperhandler-message-messagequeue/ (如有任何不清楚或不懂之處,歡迎到我的居家(G+) 討論 http://gplus.to/gplus2 討論喔) Hi All: Handler, Message, Looper, MessageQueue 是 android.os 中的class 也是深度開發 Application 時,必須具備的基本觀念,若清楚了解, 便可運用的當。 因為網路有太多模糊不清的文章,大家說法看起來也都不太一樣, 很容易讓人猜東猜西,想東想西的。至於,不想瞎猜的話,就不如直接把source code都讀懂吧。 因此本篇文章,目地在於,快速引導大家快速「正確」的了解,重點在於「正確性」 並且透過靜態 trace code  的方式,跟大家解釋它 source code 的運作原理。 因此,對於四個 class沒信心的時候, 就直接將文章看下去,文章會完整交代 trace source code的部份。 關於這四個 class 的結論: ======================================================== 整個Handler, Message, MessageQueue, Looper 它們四個 class 只有一個共同的目標 就是讓程式碼,可以丟到其它 thread 去執行。這麼作有什麼好處呢 ?? 例如 android 的 GUI 元件是 thread safe的 (意思是,元件的使用,無法multi-thread執行) Activity 的畫面顯示是由 UI Thread所負責的,若是你寫了 mutlti-thread 程式時 又想更新畫面,就必須要將 Thread 內部的一段程式碼,交由 UI Thread 來執行才行。 OK, 上面四個 class 的共同目地已經說明完畢了,那麼這四個 class有其分工方式。 因此每個 class 的設計又有不同目地。說明如下 … Handler 的目地 ,在於提供 callback function,預其給其它 Thread 作執