開源專案(妹紙&gank.io)學習
阿新 • • 發佈:2019-02-13
最近接觸到了一個開源專案
開源專案妹紙
專案結構
1.關於Gson
final static Gson gson = new GsonBuilder()
//為了避免使用Gson時遇到locale影響Date格式的問題,使用GsonBuilder來建立Gson物件,
// 在建立過程中呼叫GsonBuilder.setDateFormat(String)指定一個固定的格式
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
.serializeNulls()
.create();
Gson預設處理Date物件的序列化/反序列化是通過一個SimpleDateFormat物件來實現的,通過下面的程式碼去獲取例項
DateFormat.getDateTimeInstance()
為了避免因環境不同而導致序列化結果不同,我們要手動設定格式。
serializeNulls的作用
在json資料的值為null時,可以保證輸出鍵值對形式,比如{a,null},如果不設定,則輸出{}.
2.複製連結到剪下板
public class AndroidUtils {
//text為內容,success為複製成功的提示文字
public static void copyToClipBoard(Context context, String text, String success) {
ClipData clipData = ClipData.newPlainText("meizhi_copy", text);
ClipboardManager manager = (ClipboardManager) context.getSystemService(
Context.CLIPBOARD_SERVICE);
manager.setPrimaryClip(clipData);
Toast.makeText(context, success, Toast.LENGTH_SHORT).show();
}
}
當Activity完全執行起來,回回調onPostCreate生命週期方法
@Override protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
new Handler().postDelayed(() -> setRequestDataRefresh(true), 358);
loadData(true);
}
此方法在onWindowFocusChanged之前執行。