編輯:關於Android編程
在某些意外的情況下,程序崩潰是我們不想看到的,這時我們可以使用未捕獲異常,將日志寫在文件裡,記錄錯誤信息,防止影響用戶體驗。
package com.home.testuncatch;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import com.home.testuncaughtexception.R;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyUncaughtExceptionHandler.getInstance().init();
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.main_btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String a = null;
a.length();
}
});
}
}
MyUncaughtExceptionHandler:
package com.home.testuncatch;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.lang.Thread.UncaughtExceptionHandler;
public class MyUncaughtExceptionHandler implements UncaughtExceptionHandler {
private static MyUncaughtExceptionHandler instance;
public synchronized static MyUncaughtExceptionHandler getInstance() {
if (instance == null) {
instance = new MyUncaughtExceptionHandler();
}
return instance;
}
public void init() {
// 設置當前對象為默認的未捕獲異常處理器
Thread.setDefaultUncaughtExceptionHandler(this);
}
@Override
public void uncaughtException(Thread t, Throwable e) {
StringWriter stackTrace = new StringWriter();
e.printStackTrace(new PrintWriter(stackTrace));
System.out.println(stackTrace);// 可將錯誤日志寫在文件裡
System.exit(10);
}
}
Android官方下拉刷新控件SwipeRefreshLayout使用詳解
可能開發安卓的人大多數都用過很多下拉刷新的開源組件,但是今天用了官方v4支持包的SwipeRefreshLayout覺得效果也蠻不錯的,特拿出來分享。簡介:SwipeRe
ImageView的屬性android:scaleType的作用分析
在網上查了好多資料,大致都雷同,大家都是互相抄襲的,看著很費勁,不好理解,自己總結一下,留著需要看的話來查找。代碼中的例子如下:復制代碼 代碼如下:<ImageVi
Android編程實現ActionBar的home圖標動畫切換效果
本文實例講述了Android編程實現ActionBar的home圖標動畫切換效果。分享給大家供大家參考,具體如下:Material Design中一個重要特性是側滑菜單
Android之利用EventBus發送消息傳遞示例
一、概述EventBus是一款針對Android優化的發布/訂閱事件總線。主要功能是替代Intent,Handler,BroadCast在Fragment,Activit