當我調用onFailure
方法時,需要使用Retrofit處理不同的異常,並依賴異常顯示某些錯誤消息。改進異常處理
現在,我只顯示麪包的信息Error
。我認爲這還不夠。
通知用戶有關REST調用中的問題的適當方式是什麼?
當我調用onFailure
方法時,需要使用Retrofit處理不同的異常,並依賴異常顯示某些錯誤消息。改進異常處理
現在,我只顯示麪包的信息Error
。我認爲這還不夠。
通知用戶有關REST調用中的問題的適當方式是什麼?
有很多選項可以通知用戶有關應用程序功能中發生的錯誤。當談到網絡通話時,一個明智的方法是根據響應的HTTP代碼(400,404,403或200)提示用戶輸入適當的消息,並使其能夠重試。
的小吃吧是材料設計器件是Android中可用的一個,使得開發者能夠顯示在屏幕的任何部分的消息(頂部,底部,...)和部分功能集成到它,以便用戶可以「重試」或「撤消」她所做的事情。
這是非常簡單和容易實現:
Snackbar snackbar = Snackbar
.make(coordinatorLayout, "No internet connection!", Snackbar.LENGTH_LONG)
.setAction("RETRY", new View.OnClickListener() {
@Override
public void onClick(View view)
{
//your retry functionality
}
});
我建議你使用小吃吧用於顯示信息與自定義功能用戶。
爲了根據您使用的api的http響應顯示正確的消息,您應該知道meaning of each Http status code。
有關實施和定製小吃店一個很好的教程,你可以研究在Android SnackBar Example by AndroidHive.
在我看來這個教程,你不應該告知用戶什麼技術,他們可能會不理解(例如,「ERROR 5653」 )。所以你處理失敗的方式取決於請求的上下文。如果請求殺死了應用程序的整個流程,則可能需要做的更多,然後只顯示一個敬酒,但如果不是,我通常會顯示一個Toast
/Snackbar
,並顯示一般性錯誤消息,如:「出錯了」。
您是否想根據失敗的原因給用戶不同的信息? –
@NielsMasdorp,是的。但我不知道應該處理哪些異常:( – Near1999