个人开源项目 微阅

0 条评论

微阅是一款使用 MVP + Retrofit2 + RxJava + Dagger2 等框架开发的阅读软件。包括新闻、视频、煎蛋三个模块,项目的大部分功能已经完成。

阅读全文

Android View 的工作流程和原理

0 条评论

参考资料 << Android 开发艺术探索 >>

前言

在日常开发中,我们每天都在和各种 View 打交道,比如TextView,Button等,我们直接拿过来就可以使用,那么 Android 是怎么把 View 绘制到屏幕上呢,接下来我们结合源码来具体分析。

阅读全文

Android Handler 消息机制原理解析

0 条评论

前言

做过 Android 开发的同学都知道,不能在非主线程修改 UI 控件,因为 Android 规定只能在主线程中访问 UI ,如果在子线程中访问 UI ,那么程序就会抛出异常

1
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy .

并且,Android 也不建议在 UI 线程既主线程中做一些耗时操作,否则会导致程序 ANR 。如果我们需要做一些耗时的操作并且操作结束后要修改 UI ,那么就需要用到 Android 提供的 Handler 切换到主线程来访问 UI 。因此,系统之所以提供 Handler,主要原因就是为了解决在子线程中无法访问 UI 的问题。

阅读全文

手机拨号界面设置来电转移

0 条评论

分享个比较实用的东西,使用拨号界面设置来电转移,起因是我的 6s 是美版的,手机设置里面没有设置的选项,真心坑。

可以在拨号界面输入代码再拨号(输入代码再像打电话那样打出去)

【无条件转移】

设置代码:

**21*电话号码#

取消代码:

##21#

查看代码:

*#21#

阅读全文

Android 启动模式和 taskAffinity 属性详解

0 条评论

任务和返回栈

应用通常包含多个 Activity ,每个 Activity 均应围绕用户可以执行的特定操作设计,并且能够启动其他 Activity,一个 Activity 可以启动设备上其他应用中的 Activity,即使两个 Activity 可能来自不同的应用,但是 Android 仍会将 Activity 保留在相同的任务中,以维护这种无缝的用户体验。这里所说的任务就是指在执行特定作业时与用户交互的一系列 Activity,这些 Activity 按照各自的打开顺序排列在堆栈(即返回栈)中。返回栈以“后进先出”对象结构运行,如下图

阅读全文

Android 运行时权限管理最佳实践

0 条评论

从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。此方法可以简化应用安装过程,因为用户在安装或更新应用时不需要授予权限。它还让用户可以对应用的功能进行更多控制;例如,用户可以选择为相机应用提供相机访问权限,而不提供设备位置的访问权限。用户可以随时进入应用的“Settings”屏幕调用权限。

正常权限和危险权限

系统权限分为几个保护级别。需要了解的两个最重要保护级别是正常权限和危险权限,如果应用声明其需要正常权限,系统会自动向应用授予该权限,如:访问网络。如果应用声明其需要危险权限,则用户必须明确向应用授予该权限,如:访问联系人、读写权限。

阅读全文

Android 生命周期全面分析

0 条评论

最近在阅读 Android 开发艺术探索,提出重点做个笔记

生命周期大致有两部分,一部分是典型情况下的生命周期,另一部分是异常情况下的生命周期。所谓典型情况下的生命周期,是指在有用户参与的情况下,Activity 所经过的生命周期的改变;而异常情况下的生命周期是指 Activity 被系统回收或者由于当前设备的Configuration 发生改变从而导致被销毁重建,异常情况下的生命周期的关注点和典型情况下略有不同。

阅读全文

Android Studio 常用插件收集

0 条评论

工欲善其事,必先利其器,本文收集一些实用的studio插件,持续更新

GsonFormat

GsonFormat是一个快速格式化json数据,自动生成实体类参数的插件。
地址:https://github.com/zzz40500/GsonFormat

阅读全文

Mac 使用技巧

0 条评论

收集一些常用的设置

调整launchpad图标排列

调整每一列显示图标数量(#代表你要显示的列数)

1
defaults write com.apple.dock springboard-rows -int #

调整每一行显示图标数量(#代表你要显示的行数)

1
defaults write com.apple.dock springboard-columns -int #

阅读全文

给老妈的iPhone使用指南

0 条评论

虽然不能在您身边教您,但是有个教程还是可以的

阅读全文