編輯:關於Android編程
1. Message
消息,理解為線程間通訊的數據單元。例如後台線程在處理數據完畢後需要更新UI,則可發送一條包含更新信息的Message給UI線程。
2. Handler
Handler是Message的主要處理者,負責將Message添加到消息隊列以及對消息隊列中的Message進行處理。
3. Looper
循環器,扮演Message Queue和Handler之間橋梁的角色,循環取出Message Queue裡面的Message,並交付給相應的Handler進行處理。
.xml代碼如下:
package org.lxh.demo; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnFocusChangeListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class Hello extends Activity { public static int count = 1; public static final int SET = 1; private TextView msg = null; private Handler myHandle = new Handler() { @Override public void handleMessage(Message msg) {//覆寫此方法 switch (msg.what) {//判斷操作類型 case SET: Hello.this.msg.setText("MLDN-" + count++); } } }; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 生命周期方法 super.setContentView(R.layout.main); // 設置要使用的布局管理器 this.msg = (TextView) super.findViewById(R.id.info); Timer timer = new Timer();//定義調度器 timer.schedule(new MyTask(), 0, 1000);//0表示立即開始,1000表示間隔為一秒 } private class MyTask extends TimerTask { @Override public void run() {//啟動線程 Message msg = new Message(); msg.what = SET; Hello.this.myHandle.sendMessage(msg); } } }
記得之前有位朋友在我的公眾號裡問過我,像直播的那種彈幕功能該如何實現?如今直播行業確實是非常火爆啊,大大小小的公司都要涉足一下直播的領域,用斗魚的話來講,現在就是千播之戰
平時對牛逼動畫,高級UI,都深入的不多!近日,某頭條,推了一個android技術類視頻(平時在頭條關注技術比較多),講的是加載動畫效果,是動腦學院講的公開課,160分鐘,
MainActivity.java代碼:package siso.multilistview;import android.os.Build;import android
要想讓您的控件水平居中或垂直居中其實很簡單,只要在控件的上一級中設置【android:gravity=center】屬性即可如:<LinearLayout xmln