先說一下主要的實現思路:
1.剛開始我想到的是在 不同的activity進行資料交換,並且由乙個頁面去重新整理另外乙個頁面,我可以用broadcast,就是現在獲取資料的主頁面新開啟乙個執行緒,獲取到服務端的資料後,通過傳送廣播,把訊息傳出去,而另外乙個頁面也新建乙個broadcastreceiver來接收來自於主頁面的訊息,進而更新自己的頁面。
主要**如下:
private void checknewdata()
broadcastreceiver receiver = new broadcastreceiver()
} };
後來發現這種不行,因為onreceive執行的時間很短,而thread裡面的操作又是耗時的操作,所以很多時候是onreceive方法執行完了,thread裡面的操作都還沒返回值,所以,這個方法不可取。
2.第二種方法,通過service
通過service是可以實現的,由於本人對service不太熟悉,所以沒有採用這種方法,還有就是本人覺得沒必要啟動乙個service,至於具體怎麼做,同學們還是自己去學習service的使用吧。
3.現在主要講解我使用實現的方法,共享handle
紅點的顯示,我是在乙個頁面裡實現的,就是通過thread-handle機制實現的,這裡就不多說了,主要說怎麼在乙個activity裡重新整理另乙個activity
首先在你要顯示紅點,就是你要重新整理ui的介面的activity建立乙個handle
private myhandler myhandler;
myhandler = new myhandler();
mycontext.setmyhandler(myhandler);
class myhandler extends handler
}
}
private myhandler myhandler;
public myhandler getmyhandler()
public void setmyhandler(myhandler myhandler) {
this.myhandler = myhandler;
mainactivity
// 獲得該共享變數例項
mhandler = mycontext.gethandler();
mhandler.sendemptymessage(1);
至此,完成ui的重新整理
Android程式開發基礎之 頁面傳值
activity跳轉與傳值,主要是通過intent類來連線多個activity,通過bundle類來傳遞資料。示例 如下 1.1 使用intent.putextra 方法賦值 1 public class menu extends activity 23 2425 26 2728 1.2 在另乙個頁...
Android開發 頁面間的跳轉
如果不同的頁面間只有背景,顏色,文字不同,則可以直接使用切換layout的方式切換頁面,舉個例子 上面的例子是通過子函式的使用,實現了layout的切換,以實現頁面切換的效果,但是上述方法有很大的侷限性,如需要交付activity的主動權,這個方法就不能實現。介紹另外乙個方法,即使用intent實現...
U盤開發之SCSI命令
借助硬體usb協議分析儀,可以清楚的看到u盤啟動時和上位機之間互動的usb協議流程,從get desciptor get congfiguration set configuration到scsi命令。現在手邊沒有現成的包,改天截圖看看。在不同的linux上,為什麼有的,u盤被設別為了 dev sd...