
Android
文章平均质量分 86
catRuan
一个奋斗在Android线上的妹子,努力的收集着自己每一点心血,期待早日成为参天大树!
展开
-
微信硬件平台设备直连全讲解(1)开发前的准备
大家好,最近研究微信硬件平台有了一定收获,过程中亦遇到许多难题,固发表系列文章讲解微信硬件平台的开发。 微信硬件平台有什么作用呢? 我自己最大的感受就是,微信硬件平台使我们可以通过微信客户端控制智能设备,如智能电视、智能空调和家用机器人等等。 而我的系列文章就以通过微信客户端控制智能机器人为线索进行讲解。 在开发之前,我们必须拥有自己的一个微信原创 2016-06-08 09:20:50 · 5963 阅读 · 0 评论 -
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 阅读 · 1 评论 -
自定义View(三)的常用方法(测量、绘制、位置)
更多内容可参考 (一)自定义View的分类点击打开链接 (二)自定义View的构造方法及自定义属性点击打开链接 (三)自定义View的常用方法(测量、绘制、位置)参见本文 (四)自定义View的具体实现 (五)事件分发机制 自定义view中可以重载的方法很多,最常用的有如下几个:原创 2016-12-26 15:31:16 · 1826 阅读 · 0 评论 -
Android如何获取手机各项信息
本文为转载 原文地址:点击打开链接1、使用Build获取架构属性 下面我们来根据源码看看通过Build这个类可以得到哪些配置信息,具体就不解释了,从命名基本可以理解其代表的属性。public class Build { //当一个版本属性不知道时所设定的值。 public static final String UNKNOWN = "unknown"; //转载 2017-05-04 09:55:53 · 5780 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Android studio一分钟集成极光推送以及集成时遇到的混淆神坑
妹子我写代码很辛苦/(ㄒoㄒ)/~~ ,转载请标明出处哦~原创 2017-06-19 11:05:46 · 1612 阅读 · 0 评论 -
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 · 1830 阅读 · 0 评论 -
使用retrofit2和rxjava封装网络框架RNet:(一)RNet的使用
妹子我写代码很辛苦/(ㄒoㄒ)/~~ ,转载请标明出处哦~原创 2017-06-16 09:39:15 · 1056 阅读 · 0 评论 -
使用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 · 1698 阅读 · 2 评论 -
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 阅读 · 0 评论 -
Android开源项目及资源查速表
本文为转载,原作者:Loading大写加粗的指出原文地址:http://www.androidchina.net/7034.html我只是小小的搬运工哦 CatRuan(阮妹子) 联系方式:QQ:940472401 邮箱:940472401@qq.comUI相关Awesome-MaterialDesign – Material转载 2017-06-28 13:30:11 · 3682 阅读 · 0 评论 -
2017 Android GitHub 常用开源框架汇总
本文为转载,原作者:Loading大写加粗的指出原文地址:点击打开链接我只是小小的搬运工哦 CatRuan(阮妹子) 联系方式:QQ:940472401 邮箱:940472401@qq.com现在 GitHub 上流行的开源库极大地节省了开发者从 0 开发的时间,很多公司和个人都在 GitHub 上开源自己的项目,今天我们就来整理一下 Android 开发中转载 2017-08-04 08:56:49 · 7070 阅读 · 3 评论 -
Arouter源码解读
作者catRuan ,转载请注明出处 由于作者公司在做组件化开发,有幸使用到大名鼎鼎的Arouter来进行module之间的通讯和跳转解耦,阅读源码之后感觉受益良多,因此写下此文,本文属于作者的个人理解,若有不当之处欢迎指出。 另外,基于Arouter,作者改造了一个更加适用于组件化开发的路由框架: https://blog.csdn.ne...原创 2018-09-26 10:03:26 · 1167 阅读 · 0 评论 -
改造Arouter的模块调用,创建更适用于组件化开发的路由框架
作者catRuan ,转载请注明出处 Arouter是阿里开发的一款用于模块间跳转、通讯的路由工具 Arouter源码 关于Arouter的实现原理,请参照作者另外一篇博客 Arouter源码解读 公司在进行组件化开发时有幸选用了Arouter作为模块管理工具,在使用过程中发现其并非能够彻底解决跨模块调用时的耦合的问题 例如,当我想在当前...原创 2018-10-10 15:18:37 · 1728 阅读 · 1 评论 -
自定义View(四)View的生命周期
更多内容可参考 (一)自定义View的分类点击打开链接 (二)自定义View的构造方法及自定义属性点击打开链接点击打开链接 (三)自定义View的常用方法(测量、绘制、位置)参见本文 (四)自定义View之View的生命周期 (五)自定义View的具体实现 (六)事件分发机制原创 2016-12-29 17:51:11 · 2613 阅读 · 0 评论 -
如何把Activity的布局文件添加至窗口
安卓系统视图结构 如何把Activity的布局文件添加至窗口里,上面的过程可以概括为: 1、创建一个DecorView对象,该对象将作为整个应用窗口的根视图 2、创建不同的窗口修饰布局文件,并且获取Activity的布局文件该存放的地方,由该窗口修饰布局文件内id为content的原创 2016-12-28 17:24:46 · 1448 阅读 · 1 评论 -
自定义View(二)自定义View的构造方法及自定义属性
更多自定义控件的知识,请参考 (一)自定义View的分类点击打开链接 (二)自定义View的构造方法及自定义属性 (三)自定义View常用的方法(测量、绘制、位置) (四)自定义View的具体实现 (五)事件分发机制 上一篇文章里我们讨论了自定义控件的分类,接下来想要聊一聊自定义控原创 2016-12-22 12:50:47 · 1130 阅读 · 0 评论 -
微信硬件平台设备直连全讲解(2)框架讲解
开始编码前,我们必须要梳理一下设备直连微信硬件云(微信硬件服务器)的构架,这是非常有必要的工作,它让我们清晰的明白自己在直连构架中处于什么位置,需要编写那些代码,我在这里饶了很多弯路。需要了解完整信息请查看微信硬件平台http://iot.weixin.qq.com/wiki/new/index.html? ,个人感觉有些地方写的太过含糊。 这是微信硬件平台提供的构架图,有很多细节没有原创 2016-06-13 14:09:07 · 7271 阅读 · 4 评论 -
微信硬件平台设备直连全讲解(3)公众号的开发
从本章开始,我们正式讲解代码的开发,先从公众号的开发入手,公众号的开发具体要做的就是编写一个自己的服务器和微信客户端进行交互。当然,对于不懂编码的用户来说,也是可以使用微信公众号的,这是因为微信为我们的公众号开发提供了两种模式,一是编辑模式,二是开发者模式。原创 2016-06-13 16:02:52 · 7212 阅读 · 0 评论 -
微信硬件平台设备直连全讲解(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 阅读 · 10 评论 -
微信硬件平台设备直连全讲解(5)服务器和设备的交互之设备授权
各位好,真抱歉呐,前段时间公司事情比较忙一直没时间更新文章,博客都快长草了呢,这两天会尽快写完。之前讲到微信端和我们服务器的交互http://blog.youkuaiyun.com/u011791526/article/details/51683625 从这一篇文章开始讲解我们服务器和设备的交互,但是本文主要讲的不是交互而是交互前的准备工作——设备的授权和登录。 先不着急敲代码,微信还不原创 2016-07-04 13:40:56 · 15591 阅读 · 42 评论 -
微信硬件平台设备直连全讲解(6)设备端SDK导入和设备登陆
按照上一篇文章本章讲微信sdk的导入。为什么要导入SDK呢,这是因为微信已经为我们编写好一套直接可以和硬件云交互的代码,它已经原创 2016-07-04 15:59:37 · 6769 阅读 · 23 评论 -
总结一下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 · 21576 阅读 · 1 评论 -
修改Android系统字体大小
这两天做项目需要在代码里修改android系统的字体大小,本来以为和修改系统音量亮度一样,是挺简单的一件事情,没想到其中大有文章。这是因为android没有提供我们一个方法在应用层直接修改系统字体大小。那么我是怎么完成的?简单的说就是调用framework层的函数,下面给出具体步骤: 一、使用反射机制调用framework层的方法原创 2016-08-08 13:42:04 · 3366 阅读 · 0 评论 -
重新认识Activity(一)生命周期方法(系统垃圾回收机制和onSaveInstanceState)
说来惭愧,从工作到现在,学习Android已有一年,但面对activity这个最常用的组件仍然许多疑问,遂决定好好看一遍关于activity的官方api,把遗落的知识再次整理一遍。 首先当然是贴出最经典的活动状态图,直接从API上截的 其中每个状态的改变引发的生命周期方法调用就不提了。其实,这篇文章主要想要讨论一下图片左边这一条path 。原创 2016-09-14 18:00:29 · 2558 阅读 · 0 评论 -
Android 基于Messager的进程间通信Demo
messenger是Android帮我们封装好的一个类,主要用于进程间的通信。它的工作原理类似CS模式(也不知道这样说专业不专业),也就是说两个进程,其中一个作为服务端等待客户端的请求,另外一个作为客户端主动访问服务端,这样就完成了通讯。其中客户端可以有很多个,服务端只有一个,服务端使用service实现,为了时刻等待着客户端的访问,需要在清单文件注册。废话不多说,直接贴出我自己写的一个小Demo原创 2016-09-22 10:03:05 · 972 阅读 · 0 评论 -
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 阅读 · 0 评论 -
socket心跳检测和重连小demo
有时候我们的程序要求socket一直保持连接,并且希望在socket断开以后能够重新连接,这个时候就需要用到心跳机制,所谓心跳机制,最简单的做法就是客户端每隔一段时间向服务端发送数据包,为了节约资源我们很多时候发送空数据就好,如果数据不能发送成功说明socket已经断开,这个时候就需要根据具体需求释放资源和重新连接了。 下面给出一个简单的小demo /*原创 2016-12-09 11:57:12 · 19653 阅读 · 4 评论 -
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 · 6957 阅读 · 1 评论 -
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 · 15562 阅读 · 7 评论