編輯:關於android開發
privateProgressBar mProgressBar;privateint i =0;privateHandler mHandler =newHandler(){ // 創建Handle@Overridepublicvoid handleMessage(Message msg){super.handleMessage(msg);Log.i("-mHandler->",i+""); mProgressBar.setProgress(i);}};privateRunnable runnable =newRunnable(){@Overridepublicvoid run(){Log.i("-Runnable->",i+""); i +=10;// 要做的事情,這裡再次調用此Runnable對象,以實現每兩秒實現一次的定時器操作 mHandler.postDelayed(runnable,2000); // 定時器 mHandler.sendMessageDelayed(Message.obtain(),0);// 發送消息才會觸發重寫的handleMessage方法}};@Overrideprotectedvoid onCreate(@NullableBundle savedInstanceState){super.onCreate(savedInstanceState); setContentView(R.layout.activity_handler); mProgressBar =(ProgressBar) findViewById(R.id.pb_handler); mHandler.post(runnable);// 開始執行線程// runnable.run(); // 也可以用這個來開始線程}/** * 刪除的時候停止線程操作 */@Overrideprotectedvoid onDestroy(){super.onDestroy(); mHandler.removeCallbacks(runnable);}}// 兩種獲取Message的方法 // Returns a new Message from the global message pool. mHandler.obtainMessage()和Message.obtain()// 兩種方法其實是一樣的,只不過一個是通過Handler獲取,一個是通過Message的靜態方法獲得,查詢Handler的源碼會發現,obtainMessage的方法構成:publicfinalMessage obtainMessage(){returnMessage.obtain(this);}Message的recycleUnchecked()方法void recycleUnchecked(){// Mark the message as in use while it remains in the recycled object pool.// Clear out all other details. flags = FLAG_IN_USE; //int what =0; // int arg1 =0; // int arg2 =0; // int obj =null; // Object replyTo =null; // Messenger 信使,信差 sendingUid =-1; when =0; // long target =null; // Handler callback =null; // Runable data =null; // Bundlesynchronized(sPoolSync){if(sPoolSize < MAX_POOL_SIZE){ next = sPool; sPool =this; sPoolSize++;}}}mProgressBar.setProgress(msg.arg1);privateRunnable runnable =newRunnable(){@Overridepublicvoid run(){Log.i("-Runnable->", i +""); i +=3;// 要做的事情,這裡再次調用此Runnable對象,以實現每兩秒實現一次的定時器操作 mHandler.postDelayed(runnable,300);Message msg = mHandler.obtainMessage(); msg.arg1 +=i; mHandler.sendMessage(msg);// 發送消息才會觸發重寫的handleMessage方法// mHandler.sendMessageDelayed(Message.obtain(),0); // 發送消息才會觸發重寫的handleMessage方法}};privateHandler mHandler =newHandler(){@Overridepublicvoid handleMessage(Message msg){super.handleMessage(msg);//Log.i("-mHandler->", i + "");if(msg.arg1 >100){ mHandler.removeCallbacks(runnable);}else{ mProgressBar.setProgress(msg.arg1);}}};
水面波浪形View--第三方開源--WaveView(電量、能量、容量指示),view----waveview
水面波浪形View--第三方開源--WaveView(電量、能量、容量指示),view----waveview 這種WaveView在一些常見的APP開發中,以水面波浪波
高靈活低耦合Adapter快速開發攻略,耦合adapter攻略
高靈活低耦合Adapter快速開發攻略,耦合adapter攻略Android開發中經常需要使用Adapter。 傳統方法是自定義一個Adapter並繼承AndroidSD
主流MySQL集群實現架構優劣勢與適用場景分析
主流MySQL集群實現架構優劣勢與適用場景分析本文主要分析總結了目前主流的幾種MySQL集群架構實現方法及優缺點,現發出來以供大家參考學習、共同進步,如有不妥之處,請不吝
使用Vitamio打造自己的Android萬能播放器—— 手勢控制亮度、音量、縮放
使用Vitamio打造自己的Android萬能播放器—— 手勢控制亮度、音量、縮放 使用Vitamio打造自己的Android萬能播放器(1)——