- 博客(43)
- 资源 (1)
- 收藏
- 关注
原创 改造Arouter的模块调用,创建更适用于组件化开发的路由框架
作者catRuan ,转载请注明出处 Arouter是阿里开发的一款用于模块间跳转、通讯的路由工具 Arouter源码 关于Arouter的实现原理,请参照作者另外一篇博客 Arouter源码解读 公司在进行组件化开发时有幸选用了Arouter作为模块管理工具,在使用过程中发现其并非能够彻底解决跨模块调用时的耦合的问题 例如,当我想在当前...
2018-10-10 15:18:37
1726
1
原创 Arouter源码解读
作者catRuan ,转载请注明出处 由于作者公司在做组件化开发,有幸使用到大名鼎鼎的Arouter来进行module之间的通讯和跳转解耦,阅读源码之后感觉受益良多,因此写下此文,本文属于作者的个人理解,若有不当之处欢迎指出。 另外,基于Arouter,作者改造了一个更加适用于组件化开发的路由框架: https://blog.csdn.ne...
2018-09-26 10:03:26
1166
转载 2017 Android GitHub 常用开源框架汇总
本文为转载,原作者:Loading大写加粗的指出原文地址:点击打开链接我只是小小的搬运工哦 CatRuan(阮妹子) 联系方式:QQ:940472401 邮箱:940472401@qq.com现在 GitHub 上流行的开源库极大地节省了开发者从 0 开发的时间,很多公司和个人都在 GitHub 上开源自己的项目,今天我们就来整理一下 Android 开发中
2017-08-04 08:56:49
7070
1
原创 Activity系列:(一)烦人的Activity跳转
妹子我写代码很辛苦/(ㄒoㄒ)/~~ ,转载请注明出处哦~http://blog.youkuaiyun.com/u011791526/article/details/73650360作者catRuan(阮妹子)联系方式:QQ:940472401 邮箱:940472401@qq.com 写项目的时候,往往很容易忽略activity的跳转关系,导致一些应该结束的act
2017-06-29 15:11:33
1829
转载 Android开源项目及资源查速表
本文为转载,原作者:Loading大写加粗的指出原文地址:http://www.androidchina.net/7034.html我只是小小的搬运工哦 CatRuan(阮妹子) 联系方式:QQ:940472401 邮箱:940472401@qq.comUI相关Awesome-MaterialDesign – Material
2017-06-28 13:30:11
3680
原创 使用retrofit2和rxjava封装的网络框架RNet:(二)RNet的源码解析
妹子我写代码很辛苦/(ㄒoㄒ)/~~ ,转载请注明出处哦~http://blog.youkuaiyun.com/u011791526/article/details/73321495作者:catRuan(阮妹子)联系方式:QQ:940472401 邮箱:940472401@qq.com一、什么是RNet?RNet是基于retrofit2和rxjava封装的一个网络请求框架。二、RNet
2017-06-26 10:32:52
1697
原创 Android studio将library module上传至jcenter
妹子我写代码很辛苦/(ㄒoㄒ)/~~ ,转载请注明出处哦~http://blog.youkuaiyun.com/u011791526/article/details/73457943 作者catRuan(阮妹子)联系方式:QQ:940472401 邮箱:940472401@qq.com作为一个有(ai)逼(zhuang)格(bi)的Android程序员如果不能把自己封装满意的库上传到jce
2017-06-23 17:40:48
1925
转载 MockNet -- Android网络接口开发与测试神器
本文为转载,原作者:ZY5A59 大写加粗的指出原文地址:http://www.jianshu.com/p/3b04d5198fcb我只是小小的搬运工哦 CatRuan(阮妹子) 联系方式:QQ:940472401 邮箱:940472401@qq.com最近写了一个轻量级的服务器框架 MockNet,可以在 Android 上或者 Java 平台
2017-06-21 09:34:07
1922
转载 Java堆栈全解
本文为转载,原出处:Android开发中文站 ,大写加粗的指出原文地址:https://mp.weixin.qq.com/s/FvFetbY11FVbYu9j8ZIApw我只是小小的搬运工哦 CatRuan(阮妹子) 联系方式:QQ:940472401 邮箱:940472401@qq.comJava把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本
2017-06-21 09:25:02
472
原创 使用POI将office(doc/docx/ppt/pptx/xls/xlsx)文件转html格式(附带源码)
妹子我写代码很辛苦/(ㄒoㄒ)/~~ ,转载请标明出处哦~ 本项目使用poi将office文档转为html文件,使用java代码实现,移植到android处理速度很慢,请慎用 android端打开office文档可参考我上一篇文章:Android打开doc、xlsx、ppt等office文档解决方案 支持文件类型 .doc
2017-06-14 18:00:29
20651
41
原创 Android打开doc、xlsx、ppt等office文档解决方案
1、Android端有什么控件可以直接显示office软件吗?很抱歉没有,对于IOS而言想要显示office软件,直接调用控件webview即可。遗憾的是,Android虽然也有webview控件,但是该控件没有提供此类功能。 2、那么想要在Android端显示office软件有什么解决方案①、调用第三方软件显示,这需要安卓机上安装了第三方的office软件,而且对于特别敏感的of
2017-06-12 10:58:59
34118
10
原创 Android适配(语言、屏幕、sdk版本和机型)的解决方案
本篇文章不具体描述每一种适配的细节,而是提供各种适配的原则和该原则下已经实现的比较优质的适配方案 转载标明出处哦n(*≧▽≦*)n 1、语言适配适配原则:点击打开链接全世界各种语言代码:点击打开链接 2、屏幕适配适配原则:点击打开链接 Layout的适配大神提供的库完全自动适配:点击打开链接谷歌开发的自动适配库:点击打开链接
2017-05-27 10:41:19
2090
转载 Android如何获取手机各项信息
本文为转载 原文地址:点击打开链接1、使用Build获取架构属性 下面我们来根据源码看看通过Build这个类可以得到哪些配置信息,具体就不解释了,从命名基本可以理解其代表的属性。public class Build { //当一个版本属性不知道时所设定的值。 public static final String UNKNOWN = "unknown"; //
2017-05-04 09:55:53
5780
原创 ubuntu16.04安装virtualbox
最近研究Ubuntu系统,安装的是Ubuntu16.04,打算装一个virtualbox,浪费了我一天的时间。不知道出于什么原因Ubuntu16.04安装virtualbox-4.3装不上一直在报内核出错的问题,我尝试了各种方法还是无果,猜测是版本的问题,这里推荐各位安装virtualbox-5.0以上的版本比较好1.到oracle的https://www.virtualbox.org
2017-03-28 14:54:33
32780
1
原创 Ubuntu16.04配置JDK1.7
最近在搞Ubuntu系统,遇到一堆奇奇怪怪的问题。在配置JDK1.7的时候,真是花了我一番功夫按照比较常规的方式安装jdk1.7:sudo apt-get install openjdk-7-jdk如果报错:Unable to locate package mingw32执行如下命令,下载mingW32相关包wget http://archive.ubuntu.com/ub
2017-03-28 14:38:47
1217
原创 Ubuntu16.04配置Android N编译环境
1.安装JDK1.1安装open jdk$ sudo apt-get update$ sudo apt-get install openjdk-8-jdk1.2配置默认jdk分别执行下面四个命令,选择openjdk那一项为默认项$ sudo update-alternatives --config java$ sudo update-alternatives
2017-03-23 17:10:14
5041
原创 使用Ubuntu编译Android4.0源码
一、配置编译环境1.1Ubuntu系统的配置安装好Ubuntu系统以后,需要配置一下相应的环境才能进行源码的编译1.1.1更新源(非必要步骤,可不做)Ubuntu所有版本的源列表可以从以下网页上找到:源列表http://wiki.ubuntu.org.cn/Qref/Source①选择Ubuntu版本对应的源,我的系统是16.04的,所以选择xenail
2017-03-17 15:49:43
733
原创 和过去说一声再见。
本来不应该在博客里谈论和技术无关的话题。但这几天心情有些浮躁,很怕把下了决心的一些事情忘记,也算是给自己的警醒。 不管怎么样,怀着遗憾和无奈的心情离开了上一家公司,算是我职业生涯里的一个挫折,因为发生了某些与技术或者说工作本身无关的事情而不得不离开,当真是有些委屈的。 记得刚到深圳的时候,有位朋友和我说,做一件事就全身心投入里面,尽可能的把它做好,然后其他的一切比
2017-02-18 13:12:30
782
1
原创 自定义View(四)View的生命周期
更多内容可参考 (一)自定义View的分类点击打开链接 (二)自定义View的构造方法及自定义属性点击打开链接点击打开链接 (三)自定义View的常用方法(测量、绘制、位置)参见本文 (四)自定义View之View的生命周期 (五)自定义View的具体实现 (六)事件分发机制
2016-12-29 17:51:11
2610
原创 如何把Activity的布局文件添加至窗口
安卓系统视图结构 如何把Activity的布局文件添加至窗口里,上面的过程可以概括为: 1、创建一个DecorView对象,该对象将作为整个应用窗口的根视图 2、创建不同的窗口修饰布局文件,并且获取Activity的布局文件该存放的地方,由该窗口修饰布局文件内id为content的
2016-12-28 17:24:46
1447
1
原创 自定义View(三)的常用方法(测量、绘制、位置)
更多内容可参考 (一)自定义View的分类点击打开链接 (二)自定义View的构造方法及自定义属性点击打开链接 (三)自定义View的常用方法(测量、绘制、位置)参见本文 (四)自定义View的具体实现 (五)事件分发机制 自定义view中可以重载的方法很多,最常用的有如下几个:
2016-12-26 15:31:16
1826
原创 自定义View(二)自定义View的构造方法及自定义属性
更多自定义控件的知识,请参考 (一)自定义View的分类点击打开链接 (二)自定义View的构造方法及自定义属性 (三)自定义View常用的方法(测量、绘制、位置) (四)自定义View的具体实现 (五)事件分发机制 上一篇文章里我们讨论了自定义控件的分类,接下来想要聊一聊自定义控
2016-12-22 12:50:47
1130
原创 自定义View(一)自定义View的分类
算起来,接触自定义View大半年了,可惜一直没能系统的总结一遍,好记性不如烂笔头,趁最近闲暇,我也得空坐下来好好归纳一下相关知识。 还是那句话,小女不才,入行时间短,火候尚浅,有说的不准确的地方,还请各位侠士不吝赐教,在此谢过。n(*≧▽≦*)n 开篇我想先谈论一下自定义View的分类以及相关的一些基础知识,接下来将就着每一种自定义控件类型编写一些小demo。
2016-12-21 16:27:42
1559
原创 Handler基本使用(三) Handler机制的原理和源码讲解
官方文档这样介绍Handler Each Handler instance is associated with a single thread and that thread's message queue. When you create a new Handler, it is bound to the thread / message queue of the th
2016-12-20 11:58:54
1577
原创 Handler基本使用(一) new Handler
通常我们使用如下方式获取一个Handler对象 private Handler mHandler1 = new Handler(){ public void handleMessage(Message msg) { }; }; private Handler mHandler2 = new Handler(new Handler.Callbac
2016-12-13 14:48:08
15561
5
原创 Handler基本使用(二)new Message 、 Handler.obtainMessage和Message.obtain
通常使用handler发送信息时,会使用下面两种方式 //方法1 Message msg = new Message(); msg.what = 1; msg.arg1 = 2; msg.arg2 = 3; msg.obj = "demo"; mHandler.sendMessage(msg);
2016-12-09 16:05:07
6955
1
原创 socket心跳检测和重连小demo
有时候我们的程序要求socket一直保持连接,并且希望在socket断开以后能够重新连接,这个时候就需要用到心跳机制,所谓心跳机制,最简单的做法就是客户端每隔一段时间向服务端发送数据包,为了节约资源我们很多时候发送空数据就好,如果数据不能发送成功说明socket已经断开,这个时候就需要根据具体需求释放资源和重新连接了。 下面给出一个简单的小demo /*
2016-12-09 11:57:12
19652
3
转载 android 蓝牙源码分析
原文地址:http://www.cnblogs.com/chenbin7/archive/2012/07/26/2608135.htmlBluetoothService类中定义的Native方法都在android_server_BluetoothServer.cpp里建立jni调用一、开启(BT Turn on Turn off) (蓝牙的打开关闭由类BluetoothEnabler控
2016-12-06 10:12:33
747
原创 Android 基于Messager的进程间通信Demo
messenger是Android帮我们封装好的一个类,主要用于进程间的通信。它的工作原理类似CS模式(也不知道这样说专业不专业),也就是说两个进程,其中一个作为服务端等待客户端的请求,另外一个作为客户端主动访问服务端,这样就完成了通讯。其中客户端可以有很多个,服务端只有一个,服务端使用service实现,为了时刻等待着客户端的访问,需要在清单文件注册。废话不多说,直接贴出我自己写的一个小Demo
2016-09-22 10:03:05
971
原创 重新认识Activity(一)生命周期方法(系统垃圾回收机制和onSaveInstanceState)
说来惭愧,从工作到现在,学习Android已有一年,但面对activity这个最常用的组件仍然许多疑问,遂决定好好看一遍关于activity的官方api,把遗落的知识再次整理一遍。 首先当然是贴出最经典的活动状态图,直接从API上截的 其中每个状态的改变引发的生命周期方法调用就不提了。其实,这篇文章主要想要讨论一下图片左边这一条path 。
2016-09-14 18:00:29
2558
原创 将java项目导出为jar包+导出第三方jar包+使用命令行调用+传参
在上一篇文章里http://blog.youkuaiyun.com/u011791526/article/details/52523112,博主介绍了生成文件MD5值的方式,其实是一段非常简单的java代码,但如果每次都通过运行代码来实现这个功能未免显得太麻烦,所以博主花了半天时间研究了如何将代码打包成jar包,并使用批处理文件调用,这样就不必每次很麻烦的去运行代码了。 话不多说,教程奉上:
2016-09-13 10:33:34
5221
原创 修改Android系统字体大小
这两天做项目需要在代码里修改android系统的字体大小,本来以为和修改系统音量亮度一样,是挺简单的一件事情,没想到其中大有文章。这是因为android没有提供我们一个方法在应用层直接修改系统字体大小。那么我是怎么完成的?简单的说就是调用framework层的函数,下面给出具体步骤: 一、使用反射机制调用framework层的方法
2016-08-08 13:42:04
3362
原创 一些很好的文章链接
Java内存分配全面浅析:http://blog.youkuaiyun.com/yangyuankp/article/details/7651251自定义控件进阶篇1:http://mp.weixin.qq.com/s?__biz=MzA3MDMyMjkzNg==&mid=2652261756&idx=1&sn=218b5eae4320f84d9c36ea778b04c3bc&scene=
2016-08-04 17:34:33
842
转载 总结一下Android中主题(Theme)的正确玩法
本文为转载,原文出处:http://www.cnblogs.com/zhouyou96/p/5323138.html总结一下Android中主题(Theme)的正确玩法在AndroidManifest.xml文件中有,其中的@style/AppTheme是引用的res/values/styles.xml 中的主题样式,也有可能是引用的 res/values-v11/
2016-07-29 16:11:07
21575
原创 微信硬件平台设备直连全讲解(6)设备端SDK导入和设备登陆
按照上一篇文章本章讲微信sdk的导入。为什么要导入SDK呢,这是因为微信已经为我们编写好一套直接可以和硬件云交互的代码,它已经
2016-07-04 15:59:37
6768
7
原创 微信硬件平台设备直连全讲解(5)服务器和设备的交互之设备授权
各位好,真抱歉呐,前段时间公司事情比较忙一直没时间更新文章,博客都快长草了呢,这两天会尽快写完。之前讲到微信端和我们服务器的交互http://blog.youkuaiyun.com/u011791526/article/details/51683625 从这一篇文章开始讲解我们服务器和设备的交互,但是本文主要讲的不是交互而是交互前的准备工作——设备的授权和登录。 先不着急敲代码,微信还不
2016-07-04 13:40:56
15590
13
原创 微信硬件平台设备直连全讲解(4)接收和回复微信客户端的文字、图片等信息
按照上一篇文章讲述的方式配置好我们服务器的URL,一旦普通微信用户向公众账号发消息时,微信服务器就会将POST消息的XML数据包到开发者填写的URL上。 各消息类型的推送XML数据包结构见微信的官方文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140453&token=&lang=zh_CN
2016-06-15 16:56:13
6244
原创 微信硬件平台设备直连全讲解(3)公众号的开发
从本章开始,我们正式讲解代码的开发,先从公众号的开发入手,公众号的开发具体要做的就是编写一个自己的服务器和微信客户端进行交互。当然,对于不懂编码的用户来说,也是可以使用微信公众号的,这是因为微信为我们的公众号开发提供了两种模式,一是编辑模式,二是开发者模式。
2016-06-13 16:02:52
7211
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人