2020-11-20

android 学习计划

一、 四大组件

Android应用的四大组件Activity,Service,Broadcast Receiver, Content Provider。

  • 四大组件基础知识
  • Android组件 - Activity
  • Android组件 - Service
  • Android组件 - Broadcast Receiver
  • Android组件 - Content Provider

二、消息处理机制

三、 IPC通信

四、系统启动

  • Android系统启动总结,包含如何启动init进程,如何启动zygote进程system_server进程
  • init进程相关包含init rc语法
  • Zygote进程相关知识
  • system_server进程
  • DVM的启动

五、 系统服务

  • Android系统服务 - ActivityManagerService
    • AMS启动流程
    • AMS的Activity调度
  • Android系统服务 - PackageManagerService
  • Android系统服务 - WindowManagerService
    • Surface View原理
  • Android系统服务- SurfaceFlinger推图
  • Input系统
    • InputReader介绍
    • InputDispatcher介绍
  • Android系统服务 - PowerManagerService
  • Android系统服务 - UserManagerService
  • MediaServer
    • AudioFlinger - 处理上层AudioTrack创建的音频
    • MediaPlayerService服务:StageFrightPlayer本地播放、NuPlayer在线播放

六、 安全机制

七、 问题分析

  • ANR问题原理和分析
  • Crash/Exception问题分析
    • Java Exception
    • Native Exception
    • Kernel Panic
  • LowMemoryKiller

八、工具篇

九、 其它

可以通过Java中的日期时间类 `LocalDate` 和 `LocalDateTime` 来实现该功能。 首先,我们需要将时间段转换为 `LocalDateTime` 对象,然后将时间部分设置为 00:00:00 或 23:59:59,最后遍历每一天,获取每一天的开始时间和结束时间。 以下是代码示例: ```java import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; public class TimeUtils { public static void main(String[] args) { String startStr = "2020-11-20 09:09:09"; String endStr = "2021-10-09 10:10:10"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime start = LocalDateTime.parse(startStr, formatter); LocalDateTime end = LocalDateTime.parse(endStr, formatter); // 将时间部分设置为 00:00:00 或 23:59:59 LocalDateTime startOfDay = start.with(LocalTime.MIN); LocalDateTime endOfDay = end.with(LocalTime.MAX); // 遍历每一天,获取每一天的开始时间和结束时间 LocalDate startDate = startOfDay.toLocalDate(); LocalDate endDate = endOfDay.toLocalDate(); while (!startDate.isAfter(endDate)) { LocalDateTime startOfDayOfDate = startDate.atStartOfDay(); LocalDateTime endOfDayOfDate = startDate.atTime(LocalTime.MAX); System.out.println("Start time of " + startDate + ": " + startOfDayOfDate); System.out.println("End time of " + startDate + ": " + endOfDayOfDate); startDate = startDate.plusDays(1); } } } ``` 输出结果如下: ``` Start time of 2020-11-20: 2020-11-20T00:00 End time of 2020-11-20: 2020-11-20T23:59:59.999999999 Start time of 2020-11-21: 2020-11-21T00:00 End time of 2020-11-21: 2020-11-21T23:59:59.999999999 ... Start time of 2021-10-09: 2021-10-09T00:00 End time of 2021-10-09: 2021-10-09T23:59:59.999999999 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ada

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值