Membuat halaman crash custom di Android [Android Developer]

Dony “A” Nuransyah
2 min readJul 14, 2017

--

“Aplikasi crash” akan berdampak negatif pada user experience tapi kali ini kita akan membuat sebuah handling error pada activity yang mana jika activity tersebut crash atau terjadi error seperti null pointer,resource error dan sebagainya maka akan langsung di tangkap oleh error handling yang telah kita buat karena konsep dasarnya sama dengan try catch bedanya kita melempar ke sebuah activity saat terjadi error, jadi aplikasi tidak langsung menutup melainkan ada pemberitahuan error terkait sehingga sekalipun app crash terlihat lebih elegan hahaha.

buat layout crashreportactivity terlebih dahulu.

Sedangkan pada java crashreportactivity kita hanya menampilkan informasi error dari trace yang di lempar dari errorhandling dan 1 button close untuk mengakhiri aplikasi.

public class CrashReportActivity extends AppCompatActivity {private TextView _report;
private Button _btnclose;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_crash_report);
ActionBar ab = getSupportActionBar();
ab.hide();
Intent intent = getIntent();
_report = (TextView) findViewById(R.id.report);
_report.setText(intent.getStringExtra("stackTrace"));
_btnclose = (Button) findViewById(R.id.btnclose);
_btnclose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}});
}
}

lalu class HandleAppCrash dengan mengimplementasikan interface Thread -> UncaughtExceptionHandler.

Untuk menggunakan handlingnya kita cukup memanggil method static deploy dari HandleAppCrash.java pada saat onCreate MainActivity atau activity yang kemungkinan terjadi error, dengan mengirimkan currentactivity dan erroractivity pada parameter atau bisa juga di tambahkan di baseactivity.

HandleAppCrash.deploy(MainActivity.this,CrashReportActivity.class);

Tetapi jika kalian malas bisa juga untuk menggunakan library yang suda ada : https://github.com/Ereza/CustomActivityOnCrash

--

--