开源项目(妹纸&gank.io)学习

最近接触到了一个开源项目
开源项目妹纸

项目结构

开源项目(妹纸&gank.io)学习_第1张图片

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之前执行。

你可能感兴趣的:(开源项目(妹纸&gank.io)学习)