开源项目(妹纸&gank.io)学习
  mrMLeSzj1mp0 2023年11月02日 32 0


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

项目结构

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

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


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
mrMLeSzj1mp0