編輯:關於Android編程
Toast.makeText(getApplicationContext(),"www.lovemu.com.cn",Toast.LENGTH_SHORT);
但是這樣會出錯,程序會崩潰,
尋找了很多資料,總是不盡如人意。
綜合了許多方法,最終得以實現。
新建一個自定義Handler類,【以避免出現This Handler class should be static or leaks might occur 警告】
public class MsgHandler extends Handler {
private Activity activity;
public MsgHandler(Activity activity){
this.activity=new WeakReferenc(activity).get();//使用弱引用WeakReferenc,以避免Handler內存洩露
}
@Override
public void handleMessage(Message msg) {
switch (msg.arg1) {
case 1:
showInfo("登錄成功!");
break;
case 2:
showInfo("用戶名稱或者密碼錯誤,請重新輸入!");
break;
case 3:
showInfo("如果登錄成功,以後賬號和密碼會自動輸入!");
break;
case 4:
showInfo("網絡未連接!");
break;
case 5:
showInfo("用戶賬戶是必填項!");
break;
case 6:
showInfo("用戶口令是必填項!");
break;
default:
break;
}
super.handleMessage(msg);
}
/**
* 顯示提示信息
* @param info
*/
public void showInfo(String info)
{
Toast.makeText(activity.getApplicationContext(),info, Toast.LENGTH_SHORT).show();
}
}// 實現Handler private Handler handler; // 消息 private Message msg; ... handler = new MsgHandler(Login.this);
msg = handler.obtainMessage();//其中這句與msg.arg1一起使用,以避免再次運行程序時提示msg.arg1定義的值已使用,如This message is already in use. msg.arg1 = 1; handler.sendMessage(msg);
Thread loginThread = new Thread(new Runnable() {
@Override
public void run() {
// 執行輸入校驗
if (validate()) {
// 如果登錄成功
if (loginPro()) {
msg = handler.obtainMessage();
msg.arg1 = 1;
handler.sendMessage(msg);
// 啟動Main Activity
Intent intent = new Intent(Login.this, Main.class);
startActivity(intent);
Bundle bundle = new Bundle();
bundle.putString("MAP_USERNAME", userName);
intent.putExtras(bundle);
// 轉向登陸後的頁面
startActivity(intent);
} else {
proDialog.dismiss();
msg = handler.obtainMessage();
msg.arg1 = 2;
handler.sendMessage(msg);
}
}
});
loginThread.start();
Android4.4 訪問外部存儲詳解及實例
Android4.4 訪問外部存儲在Android 4.4系統中,外置存儲卡(SD卡)被稱為二級外部存儲設備(secondary storage),應用程序已
如何簡單實現安卓app自動更新功能
一般的安卓app都有自動更新功能,實現app的更新,以讓用戶體驗新版本的功能,這裡也是項目中用到的,今天就來總結一下,代碼應該有點多,還請耐心點哈。安卓應用實現自動更新比
Android布局的優化
在Android開發中,我們常用的布局方式主要有LinearLayout、RelativeLayout、FrameLayout等,通過這些布局我們可以實現各種各樣的界面。
Android Material Design 5.0 PickerDialog
5.0系統下的時間選擇器效果圖: 該項目兼容到3.0以下所以用第三方開源項目:actionbarsherlock,動畫效果兼容:nineoldandroids-