自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 如何实现一个 System Services?

《Android 系统开发做什么?》写到 Android System Services 是专注于特定功能的模块化组件,应用框架 API 所提供的功能可与系统服务通信,以访问底层硬件。Android System Services 是如何写的?来以 DisplayManagerService 为例,具体来看看。System Service 是如何写的?应用调用 DisplayManager dm = getSystemService(DisplayManager.class); dm.setTem.

2021-05-13 21:23:23 470 3

原创 Android 系统开发做什么?

题外话18 年我从 Android 应用开发转 Framework 层开发了,从此开启了 996 幸福生活,博客技术文更新基本停滞了,被工作占据了过多的精力,实在没时间像以前一样拟稿、写作,实践、反复修改去精心准备文章,另外也不知道该写什么了,很多经验心得都会涉及到项目本身,公司内部倒是写了不少总结文档,然而工作的事不便公开分享出来。我是一个在乎别人的看法,之前被很多人骂“江郎才尽”,其实我是很难受的。在转 Framework 其实一开始我是很不适应,适应新环境也并没有想象当中那么容易,因此变得更不自.

2021-03-30 22:36:31 1344 1

原创 Flutter 开发从 0 到 1(五)源码

Flutter 开发从 0 到 1明天开始又要上班了,你的假期任务完成如何啊?由于平时加班太多了,实在挤不出更多时间,从开始想用 Flutter 《Flutter 开发从 0 到 1(一)需求与准备》写一个完整的 APP 已经过去三个月了,但是我没有忘记,这个国庆时间我终于完成了。Flutter 确实强大,不止跨平台,还支持桌面应用,包括 Window、macOS、Linux,以及 Web 应用,真正一套代码,全平台支持,野心可见一斑。以上我尝试过了,打包成了 APK、macOS 桌面应用、Web 应.

2020-11-16 08:00:52 252 1

原创 Flutter 开发从 0 到 1(四)ListView 下拉加载和加载更多

在《APP 开发从 0 到 1(三)布局与 ListView》我们完成了 ListView,这篇文章将做 ListView 下拉加载和加载更多。ListView 下拉加载Flutter 提供了 RefreshIndicator 下拉刷新组件,可以轻松让我们实现 Material Design 风格的下拉刷新效果。参数详解 //下拉刷新组件 const RefreshIndicator ({ Key key, @required this.child, this.d.

2020-10-11 20:24:47 308

原创 Flutter 开发从 0 到 1(三)布局与 ListView

上周日出去玩了,因此没时间写文章。我司加班到 11 点,第二天可以晚上班一个小时,加班到 12 点,可以晚上班两个小时,以此类推,为什么说这个,对的,加班第二天我没有多睡觉,而是起来抓紧时间写文章,好了,废话不多说,进入今天的主题。布局说到 Android 布局,不是很难,会在对应的 xml 里布局,Flutter 里没有 xml,都在代码里写,给人感觉就很难,看下我们要实现的布局:打开 PhotoShop,看下背景色 #ededed,日期字体颜色 #a6a6a6,标题字体颜色 #1b1b1b,摘.

2020-10-08 20:02:35 341

原创 Flutter 开发从 0 到 1(二)框架与网络

框架之前做 APP 开发的时候,我都是担任 Android 组 leader,新项目起来,我会做技术预研,如《一套完整的 Android 通用框架》,一般会使用 MVP 模式(现在应该是 MVVM 模式),网络请求框架使用 Retrofit,图片加载使用 Glide,图片缩放和裁剪分别使用 PhotoView 和 uCrop 等,必要时,我会写个 sample 放项目里,让同事可以参考。这个也是个新项目,我也需要做下技术预研,Flutter 网络请求框架需要使用什么?图片加载又使用什么?文章详情,我.

2020-10-08 20:01:13 157

原创 Flutter 开发从 0 到 1(一)需求与准备

背景在《手把手教你做个人 app》我有说过,开发一个 APP 很大程度依赖服务端:服务端提供接口数据,然后 APP 展示;开发一个 APP,还需要美工协助切图。对于以前的我,没接口,没美工,照样可以开发 APP ,可谓 So easy 来形容。现在的我,依旧一线做着 Android 开发,不过是做着 Android Framework 开发,开始了 996,最近半年更是疯狂,晚上十一二点下班也是常态……我已经两年时间没有写 APP 开发了,然而我还是对 APP 开发保持了极大的关注,想着万一以后还会回.

2020-10-05 20:02:18 177

原创 Google Flutter Clock 大赛优秀项目推荐

Flutter 在 Google 加持下,如今可以作为跨平台首选了。早在 Flutter 刚刚出现强势苗头,我作为第一批体验了一把,《Flutter 初尝:从 Java 无缝过渡》,不过也仅停留在体验,没再深入。去年年底 Google 举办了 Flutter Clock 竞赛,邀请全球开发者使用 Flutter 开发漂亮的时钟 UI,看完比赛结果,感慨 Flutter 现在已经可以做出这么的漂...

2020-03-17 23:38:58 255

原创 神奇的 new Exception()

先看下一段代码:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVi...

2020-01-01 23:24:51 1517

原创 Android 挖孔屏适配

1时间过去了一年多了,左小白已经上班了,尤记得去年面试的窘迫样,《漫画:面向 API 开发》、《漫画:越挫越勇》,在面试中各种被刷,各种被怼,还好最后找到了一家还不错的公司,先安心老实上班。这天眼看还有 5 分钟就要迟到了,急忙往公司赶,准备上楼时看到一位高挑妹纸疾风而过,好漂亮啊,小白愣住了,这不就是小白心中的女神啊,这是哪个公司啊,小白心想。妈妈呀,要迟到了,电梯怎么还不来,爬楼吧,最后...

2019-08-20 19:09:45 4029

原创 Android 装逼技术之暗码启动应用

什么是暗码?在拨号盘中输入*#*#<code>#*#*后,APP 可以监控到这些输入,然后做相应的动作,比如启动应用,是不是有点骚。下面看下这个骚操作是如何实现的。效果预览源码DialtactsActivity#showDialpadFragmentDialtactsActivity 中有个 showDialpadFragment 方法,用来加载显示拨号盘,因此入口就从 ...

2019-07-15 10:36:24 318 1

原创 Android Studio 导入 AOSP 源码

有了 AOSP 源码,接下来就是如何看了,可以直接文本看,可以用 Source Insight,我当然选择 Android Studio,Android Studio 是我熟悉且十分强大的工具。问题来了,如何将 AOSP 源码导入 Android Studio?安装 Java虚拟机新装的 Ubutun 一开始是没有 Java 的,需要先安装,输入命令java,报以下错误:Command '...

2019-02-26 22:39:11 531

原创 AOSP 源码整编单编

《AOSP 源码下载》完成后,就可以开编了。整编整编,顾名思义就是编译整个 Android 源码,最终 out 目录会生成几个重要的镜像文件,其中有 system.img、userdata.img、ramdisk.img 等,这些是可以刷机的。初始化编译环境项目目录,打开终端,输入命令:source build/envsetup.sh选择编译目标命令:lunch输出:You...

2019-01-02 19:12:36 3758

原创 AOSP 源码下载

网上关于这块大部分教程都是无效的,因为墙的缘故,无法使用官方提供的下载链接,我这里使用了清华大学的镜像,是能够顺利将 AOSP 下载下来。如果你还没有安装 Ubuntu,请看《VirtualBox 安装 Ubuntu》。下载 repoRepo 是一款工具,可让您在 Android 环境中更轻松地使用 Git,首先需要安装 Git:sudo apt-get install git创建 bi...

2018-12-26 21:36:30 1799 1

原创 Android 从 Web 唤起 APP

前言 知乎在手机浏览器打开,会有个 App 内打开的按钮,点击直接打开且跳转到该详情页,是不是有点神奇,是如何做到的呢?效果预览Uri Scheme配置 intent-filterAndroidManifest.xml&lt;activity android:name=".MainActivity"&gt; &lt;!-- 需要添加下面的int...

2018-04-07 22:17:46 677

原创 Python 爬虫实战(二):使用 requests-html

Python 爬虫实战(一):使用 requests 和 BeautifulSoup,我们使用了 requests 做网络请求,拿到网页数据再用 BeautifulSoup 解析,就在前不久,requests 作者 kennethreitz 出了一个新库 requests-html,Pythonic HTML Parsing for Humans™,它可以用于解析 HTML 文档的。request...

2018-03-14 20:56:48 3741

原创 Flutter 初尝:从 Java 无缝过渡

准备阶段下载 Flutter SDK新建 Flutter 文件夹,克隆 Flutter SDK:git clone -b beta https://github.com/flutter/flutter.git配置 Flutter 环境我是 Mac 系统,Flutter SDK 下载完后的路径:Users/wuxiaolong/Flutter/flutter/ 。...

2018-03-09 11:50:17 2082

原创 Android Studio Git 分支实践

新公司有些项目是用的 Git,以前公司都是 svn,为了练手 Git,我个人 APP 用到了,但是仅简单的 git pull/push 的使用,并未用到 Git 精髓,只有当项目中用到,才会紧迫去全面学习,所以说,在项目中进步是最快的。开发场景:远程有主分支 master,提供用户使用的正式的稳定的版本;开发分支 dev,用于日常开发。dev 们可以在本地任意创建自己的 Local ...

2018-02-27 22:17:26 641 1

原创 Android NDK 入门与实践

NDK 是什么NDK 全称 Native Development Kit,可以让您在 Android 应用中调用 C 或 C++ 代码的工具。NDK 好处1、NDK 可以生成 .so 文件, 方便代码共享;2、增加反编译的难度;3、提高性能。NDK 构建版本说明Android Studio:3.0.1Android Plugin for Gradle...

2017-12-29 14:33:59 427

原创 Python 爬虫实战(一):使用 requests 和 BeautifulSoup

Python 基础我之前写的《Python 3 极简教程.pdf》,适合有点编程基础的快速入门,通过该系列文章学习,能够独立完成接口的编写,写写小东西没问题。requestsrequests,Python HTTP 请求库,相当于 Android 的 Retrofit,它的功能包括 Keep-Alive 和连接池、Cookie 持久化、内容自动解压、HTTP 代理、SSL 认证、连接超时、Sessi

2017-12-11 14:29:05 1471

原创 GitBook 使用

我想把我的博客总结归纳下,于是找到了 GitBook,多了一个写博客地方,我把它做为博客的备份。花了两三天学习了 GitBook,这里记录下。此教程基于 Mac,Windows 也差不多适用。安装 Node.jsGitBook 是基于 Node.js 的命令行工具,下载安装 Node.js。 检测安装是否成功:$ node -vv6.11.0Gitbook 安

2017-09-06 22:40:02 763

原创 Android 组件化探索与思考

前言开发中,我习惯性会把一个模块的功能放在一个包下,便于查找,但烦于耦合性太高,后期维护太费劲,因此对项目进行组件化拆分势在必行。组件化好处:便于开发,团队成员只关注自己的开发的小模块,降低耦合性,后期维护方便等。相当于先有很多小组件,各自开发,最后组装,成一个 app。

2017-08-02 09:21:54 583

原创 手把手教你做个人 app

我们都知道,开发一个app很大程度依赖服务端:服务端提供接口数据,然后我们展示;另外,开发一个app,还需要美工协助切图。没了接口,没了美工,app似乎只能做成单机版或工具类app,真的是这样的吗?先来展示下我的个人app,没有服务端,没有美工完成的,换言之,我干了所有人的活: 这个app叫“微言”,他对于我意义很重大,最初微言只是我一个练手的项目,刚刚工作,技术有限,微言只是sqlite

2016-11-13 19:29:08 19401

原创 一套完整的Android通用框架

现在做Android开发,已经是大好时机,网上有很多成熟的框架,我们应充分利用好这些,所谓前人种树后人好乘凉,很多时候压根不需要了解太多原理,只需站在巨人的丁丁上即可。

2016-09-08 20:50:18 781

原创 Android之属性动画Animator

Android 3.0之前已有动画框架Animation,但存在一些局限性,当某个元素发生视图动画后,其响应事件位置还在动画前的地方。于是3.0之后,Google提出了属性动画。

2016-09-06 22:07:22 506

原创 手把手教你建github技术博客by hexo

适合人群喜欢写Blog的人有一定的编程基础爱折腾的人熟练使用版本控制Git了解使用Github熟悉基本的MarkDown语法环境准备安装Git下载 msysgit 并执行即可完成安装。安装Node.js在 Windows 环境下安装 Node.js 非常简单,仅须下载安装文件并执行即可完成安装。安装hexo利用 npm 命令即可安装。(在任意位置点击鼠标右键,选择Git bash)np

2016-08-29 17:06:55 2470

原创 Android Retrofit 2.0 使用-补充篇

推荐阅读,猛戳: 1、Android MVP 实例 2、Android Retrofit 2.0使用 3、RxJava 4、RxBus 5、Android MVP+Retrofit+RxJava实践小结 之前分享的Android Retrofit 2.0 使用,属于基本的使用,实际开发还远远不够,因此对其补充,主要在Retrofit配置和接口参数。Retrofit配置添加依赖app/

2016-08-19 16:01:02 492

原创 Android MVP+Retrofit+RxJava实践小结

关于MVP、Retrofit、RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛戳: 1、Android MVP 实例 2、Android Retrofit 2.0使用 3、RxJava 4、RxBus假设,您对MVP、Retrofit、RxJava已经有了一点了解,那么我们开始本文: Android MVP优化1、MVP绑定Activity(Fragment)生命周期 按照

2016-08-19 15:57:39 1154

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除