Android Note

Android 四大组件

  • Activity
    • 生命周期
    • 启动模式(standard,singleTop,singleTask,singleInstance)
    • 任务栈
    • 启动方式:显式 Intent,隐式 Intent(Intent Filter,URL Scheme,跨应用场景用隐式),ARouter
    • PendingIntent
    • 数据传递
    • startActivityForResult 启动一个 Activity 并等待结果。注意:startActivityForResult() 在 Android 11 及以上版本已被弃用,推荐使用 ActivityResultContracts 替代
    • Fragment
      • 生命周期(onAttach,onCreate,onCreateView,onActivityCreated,onStart,onResume,onPause,onStop,onDestroyView,onDestroy,onDetach)
      • 通信
      • DialogFragment()
    • onConfigurationChanged
    • onSaveInstanceState

Android Localization

切换语言

获取 string.xml 里的字段时,可以用下面的 getAttachBaseContext 获取对应语言的 context
集成 tinker 热更适配要拿到对的上下文

Android 原生分享

核心代码

1
2
3
4
5
6
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
// "text/plain" 和 "text/html" 区别:html 类型 可以识别加粗等标签
// 当需要分享图文时可以使用 "image/*"
sharingIntent.setType("text/html");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml("<b>This is the text shared.</b>"));
startActivity(Intent.createChooser(sharingIntent, "Share using"));