編輯:關於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);
}
}
}
Android仿斗魚直播的彈幕效果
記得之前有位朋友在我的公眾號裡問過我,像直播的那種彈幕功能該如何實現?如今直播行業確實是非常火爆啊,大大小小的公司都要涉足一下直播的領域,用斗魚的話來講,現在就是千播之戰
android跳動的小球動畫
平時對牛逼動畫,高級UI,都深入的不多!近日,某頭條,推了一個android技術類視頻(平時在頭條關注技術比較多),講的是加載動畫效果,是動腦學院講的公開課,160分鐘,
安卓Andriod使用入門(九)【懸浮窗菜單】
MainActivity.java代碼:package siso.multilistview;import android.os.Build;import android
Android App中使用LinearLayout進行居中布局的實例講解
要想讓您的控件水平居中或垂直居中其實很簡單,只要在控件的上一級中設置【android:gravity=center】屬性即可如:<LinearLayout xmln