- 博客(44)
- 收藏
- 关注
原创 Python 爬虫相关环境
一时兴起,想用 python 玩儿一下爬虫,顺便体验 python 这门语言。前言Python 学习,推荐使用 Anaconda ,不过我习惯的 JetBreain 公司的工具,所以还安装了 PyCharm ,在使用时因为依赖导入失败,搞了好半天,原因是下载的 Python 解释器太多,已经傻傻分不清了~首先,Mac 系统自带 Python 路径为/System/Li...
2018-07-29 22:21:04
2210
原创 Android Accessibility
公司启用钉钉打卡了,刚开始还挺不适应,总是忘记打卡。所以就想着,这打卡能不能实现自动化,每天都要记住打卡这个动作,一点儿也不猿。 首先,分析一下,钉钉打卡,必须要在公司附近的范围内,其次,只能是拥有 GPS 定位的钉钉 APP 才行,所以,公司 WiFi 的连接断开,刚好可以作为上下班打卡的时机。钉钉的打卡页面肯定不会允许第三方应用打开,因此要实现自动打卡功能,肯定需要模拟用户发...
2018-07-29 22:18:56
1962
原创 IDEA Plugin 开发探索
最近,在优化 APK 体积,压缩图片一般会使用 TinyPNG ,想着一张一张处理太麻烦,就搜索了一些批量处理的工具,有 gradle 脚本的,也有 IDEA 插件的,结果都不大理想,因此,想自己开发一个 TinyPNG 的插件。IDEA 全称IntelliJ IDEA,是用于 java 语言开发的集成环境(也可用于其他语言),IntelliJ 在业界被公认为最好的java开发工具。...
2018-07-29 22:17:21
1833
原创 Android Studio 常见问题
最近,Android Studio 更新到后,遇到了一些问题,记录一下。Android Studio 配置Help -> Edit Custom VM Option -> studio.vmoptions文件# custom Android Studio VM options, see https://developer.android.com/studio...
2018-06-16 15:56:30
1290
原创 Android 串口通信
前段时间,接触了一个智能硬件的项目,在定制化的平板上运行 Android 系统,并通过串口和蓝牙与其他设备进行通讯。 担心时间长了,就容易忘记,因此,整理了关于 Android 串口通信的知识。 什么是串口通信先来一段 百度百科的解释 串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的...
2018-06-02 15:08:41
3289
3
原创 Android 签名那点事儿
针对 Android 中签名的相关问题,做一些记录整理。 以前,遇到许多关于签名的问题APK 安装时的校验成为 Android 系统级应用查看应用的MD5或者是SHA1信息v2签名….这些问题都将在后面得到答案。 什么是签名首先,什么是签名?为什么需要签名?在生活中,一般我们对某个文件进行签名,代表签名者对此文件的认可,防止签名者抵赖,同时防止文件被...
2018-05-19 20:09:51
1054
原创 Android 多语言
前段时间,刚换工作,因公司业务的关系,接触了 Android 多语言。以前,从没考虑过国际化,所以对这块也是一知半解,借此机会就做一下整理。多语言Android 的多语言实现,大部分工作都交给了 framwork 层的资源进程调度框架,对于应用层的开发来说非常简单,得益于 Android 独特的资源文件管理方式,代码可以不和资源关联,通过 R 文件提供的索引来间接引用某一资...
2018-05-19 20:05:29
1854
原创 Android 内存优化(一)
内存(RAM)对于任何一个软件开发环境都是种非常珍贵的资源,而对于移动操作系统来讲的话,则会显得更加珍贵,因为手机的硬件条件相对于 PC 毕竟是比较落后的。在说 Android APP 的内存优化之前,必须先了解 Java 的内存管理机制,以及在此基础上 Android 是如何对内存进行管理的。Java 内存管理在内存管理方面,与 C、C++ 手动管理内存相比,Java 拥...
2018-05-19 20:03:20
891
原创 UI 绘制优化
Google 在15年初发布了 Android性能优化典范,里面详细谈及了Android 渲染机制。 渲染机制大多数用户感知到的卡顿等性能问题的最主要根源都是因为渲染性能。Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染,那么整个过程如果保证在16ms以内就能达到一个流畅的画面。 如果你的某个操作花费时间超时,系统在得到VSYNC信号的时候就无...
2018-05-19 19:59:31
1243
原创 预测未来
推荐一本书,书名叫《未来简史》,可能很多人都听过这本书,它是国际畅销书籍。推荐理由作者《未来简史》的作者,尤瓦尔•赫拉利,1976年出生,是一位的以色列历史学家,牛津大学历史学博士,他的上一本书《人类简史》被三十多个国际争相购买版权,还得到了比尔盖茨、扎克伯格的书单推荐,风靡全球。如果说《人类简史》是告诉我们人类从哪里来,《未来简史》就是预测人类将往哪里去。「超...
2018-05-19 19:58:35
1248
原创 App 启动优化
许多应用都出现启动速度缓慢,出现黑屏,白屏问题,这是因为 APP 没有进行启动优化。 Google文档先看看 Google 官方文档 Launch-Time Performance 对应用启动优化的概述:应用的启动分为冷启动、热启动、温启动,而启动最慢的就是冷启动。应用在冷启动之时,要执行三个任务:加载启动 App;App 启动时立即展示出一个 Previ...
2018-05-19 19:57:14
916
原创 Android 性能优化概述
在 APP 功能完成之后,不可避免的需要做一些 APP 的性能优化。所以,在此做一些 APP 优化知识的整理,也相当于一份优化清单,方便以后对照查阅。在 Android 中,性能优化一般围绕以下 6 个方面展开:App 启动优化UI 绘制优化内存优化apk 瘦身电量优化其实,说到 Android 性能优化,就想到此前 Google 出的一系列关于性能优化典范视频...
2018-05-19 19:55:00
1802
原创 手机的发展
公司组织主题分享,实在是想不出好的主题,就只有讲一讲手机的发展历程了。 Create1902年,一个叫做“内森·斯塔布菲尔德”的美国人在肯塔基州默里的乡下住宅内制成了第一个无线电话装置,这部可无线移动通讯的电话就是人类对“手机”技术最早的探索研究。1940年,美国贝尔实验室制造出战地移动电话机。但是由于体积太大,只能放在架子上或者背着才能使用,最后也就逐渐被人淡忘了。...
2018-05-19 19:52:46
2225
原创 BigDecimal
在商业计算中,一般都会用到 Java 中的 BigDecimal 或者 BigInteger。这篇文章就来记录 BigDecimal 的一些用法知识。
2017-11-14 23:05:40
2794
原创 发布 Library 到 JitPack
最近,使用 JCenter 发布总是丢包,然后就想到了 JitPack 。以前不用它是因为在使用开源库时,总是要多添加一步 maven { url "https://jitpack.io" },感觉麻烦,现在发现它的发布过程相较而言真是简单。JitPackJitPack 是一个类似于 JCenter 和 MavenCentral 的自定义 Maven 仓库,与 JCenter 相较而言,它的流程极度
2017-11-07 23:40:22
1108
原创 Android 中使用Javassist
JavassistJavassist 是一个执行字节码操作的库。它可以在一个已经编译好的类中添加新的方法,或者是修改已有的方法,并且不需要对字节码方面有深入的了解。Javassist 可以绕过编译,直接操作字节码,从而实现代码注入,所以使用 Javassist 的时机就是在构建工具 Gradle 将源文件编译成 .class 文件之后,在将 .class 打包成 dex 文件之前。
2017-11-07 23:30:38
6497
原创 自定义 Gradle 插件
Android 中许多优秀的开源框架都会自定义 Gradle 插件,比如,热修复的 Tinker 。所以,这篇文章记录 Android Studio 中如何自定义 Gradle 插件。GradleGradle 是个的构建工具,也是Android Studio 默认的构建工具,与传统的 Ant 、maven 相比,Gradle 更加强大。利用 Gradle 这个工具,我们能做很多事情,例如热修复、插件
2017-11-07 23:28:38
2112
原创 AspectJ
面向切面编程(AOP,Aspect-oriented programming) 在 Android 中最流行的实践工具就是 AspectJ。这篇文章就是来介绍 AspectJ 以及在 Android 中使用的。
2017-10-10 22:43:09
1371
原创 OOP 与 AOP
这篇文章是为了弄清楚 面向对象(OOP)、面向过程(OPP)、面向切面(AOP) 这三者的概念 , 以及在 Android中 AOP 的应用
2017-10-10 00:08:48
1323
原创 Java 注解处理器
前面,介绍了 Java5.0 引入的注解,现在来介绍注解处理机制。注解处理机制 = 注解 + 注解处理器注解处理器和注解一般共同组成 Java Library ,它对外提供了特定的功能。
2017-10-09 23:36:44
1121
原创 Retrofit2 的简单使用
Retrofit 是 Square 公司开源的一个高质量高效率的http库,开发者是被称为 Android 之神 的 Jake Wharton。Retrofit 以其解耦彻底、扩展灵活、使用简单等特性,在 Android 领域声名远播。Retrofit 已经出来很久了,现在最新版本是 2.3.0 ,如果还没使用过它,就真的是 low 爆了。
2017-10-09 23:27:46
2858
原创 Mac 环境变量配置
mac os是 Unix 内核的桌面版操作系统,Linux 是类 Unix 操作系统。因为 Unix 与 Linux 的 Shell 一般都是 bash,所以,Mac 下的环境变量设置和 Linux 差不多。
2017-10-09 23:02:07
1389
原创 Git 简易指南
用了 Git , 就再也不想用svn 了。早就想花时间整理下 Git 的使用,到今天行动了。这里记录下 Git 的基本原理,以及常用的操作。
2017-10-09 22:58:40
1120
原创 正则表达式
正则表达式,在开发中经常用到。正则非常容易处理字符串,比如,校验 邮箱、手机号码、中文字符等。介绍正则表达式,又称规则表达式,是一种文本模式,
2017-09-02 13:25:34
982
原创 Java 反射
反射是 Java 的高级技能,在平时开发中很少接触到。反射Java 反射机制是在运行状态中,对于任意一个类(class文件),都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象方法的功能称为java语言的反射机制。 简单来说,反射就是通过class文件的对象Class,去使用该文件中的成员变量,构造方法,
2017-09-02 13:22:58
921
原创 Java IO
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。IO流用来处理设备之间的数据传输。Java对数据的操作是通过流的方式。
2017-09-02 13:11:35
1292
原创 博客绑定域名
之前利用 hexo 在 Github 上搭建了个人博客后,感觉还是不错的。但博客的域名是二级域名,每次访问都是 用户名.github.io 这样,感觉很 low ,所以想着去买个域名,然后绑定到自己的博客上。这里记录下绑定域名的过程。
2017-08-27 13:41:18
4041
1
原创 Hexo Github 搭建博客
在 搬砖 的过程中,浏览了许多 别人写的博客后,自己也萌生了写博客的念头。其一是为了系统的整理知识,方便日后回顾,其二是记录踩过的坑,防止再次 被坑…..这样即充实了自己,也方便了别人,何乐不为。虽然 简书 很好用,但看到别人自己搭的博客后瞬间就心动了。Hexo 是一个快速、简洁且高效的博客框架,这里就记录下利用 Github 和 Hexo 搭建博客的过程。
2017-08-27 13:33:55
1321
原创 Android Library的依赖方式及发布
最近发布一个项目,发现以前发布到 JCenter 的步骤都忘光了,又得到处翻资料,真是尴尬…..还是那句老话,好记性不然烂笔头,在此整理 Android Studio 依赖相关 以及 如何发布项目到 JCenter
2017-08-26 00:07:57
6621
原创 Android 抓包工具 Fiddler
在 Android 开发中,一般情况下不用去抓包,因为网络请求都会设置 Log 输出进行查看。以下情况你可能需要抓包:需要了解自己应用的整体网络请求状况。第三方 SDK 会发起网络请求,在使用这些 SDK 时如果出现问题时,而恰好没有日志输出。想要了解某个 APP 使用的接口。
2017-08-26 00:03:02
2539
原创 Hello Kotlin
前言今年 Google I/O 大会上,Google 宣布,将 Kotlin 语言作为安卓开发的一级编程语言,这消息火遍整个 Android 开发圈。不过,有些开发者似乎过度解读 Google 的意图,认为 Kotlin 要取代 Java 成为 Android 开发的标配?
2017-08-26 00:00:06
1159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人