12 回答

TA貢獻1條經驗 獲得超7個贊
Android
前幾天面試遇到的問題:更新UI在哪個線程,為什么?
還有面試遇到這個問題嗎?由于回答的不完整,沒通過。。
一般是在主線程,因為在子線程直接更新UI,通常會拋出如下異常:Only the original thread that crated a view hierarchy can touch its views。?一般我們都是利用子線程中發出Message,然后在主線程中通過Handler通知主線程的UI Thread來更新界面。 ??
不過也有其它的方法:
<1>.最簡單的onRunUIThread(); ? ? ? ? ?
<2>.可以把更新UI的操作放在一個點擊事件里 ? ? ? ? ?
<3>.還有的是AsyncTask可以為我們提供一個線程的管理服務,里面的回調方法onPreExecute(),onPostExecute()和 ? ? ? ? ? onProgressUpdate()都是在UI線程調用,這樣可以把子線程的更改數據傳給它們。
(有去面試android開發的親們可以參考下哦)
上個月寫的一個理財通的項目:
遇到的問題:從文本框里面輸入的數據無法導入到數據庫中當中;
自己的理解:最后找到是viewpage在設置adapter的時候find了一次之后又find了一次,導致從文本框里面獲得的內容????????都是空,對于數據庫語言錯誤,我把他放在命令行里面操作,仔細查改
學了幾個月,正在找工作,喜歡的幫忙點個贊,謝謝;

TA貢獻81條經驗 獲得超57個贊
恩,前幾天在寫一個項目遇到一個小障礙,需求是要在自定義View的子類中想要拿到本地數據跟一個Activity做數據交互切且動態更新 ?然后我自己羅列了幾種方式,通過Intent+Bundle進行數據捆綁傳遞、Handler異步消息處理、BroacastReceiver發送廣播接收廣播、SharePreference寫入本地數據接著讀取本地數據。因為代碼有點冗雜且可維護性差,最后選擇用在OOP思維世界中的一句話“世間萬事萬物皆為對象”。通過在子view自己定義接口類(如果你自己寫過類似onClickListener這種自定義接口的話你就知道了)然后在Acitivty去實現這個接口類做具體操作,功能實現了代碼也清爽多了~
- 12 回答
- 38 關注
- 8625 瀏覽
添加回答
舉報