Android应用层
文章平均质量分 87
深秋风瘦
Easy is beautiful,is not easy!
展开
-
自定义View之炫丽的进度条
Android自定义View之炫丽的进度条好久没有写Blog了,昨天意外看到自己无意中写的一篇文章,访问量都有1k+,突然之间觉得写博客,分享知识是一件多么幸福的事情!今天我给大家分享一个自定义view来绘制一个项目中经常用的炫丽立体效果的进度条.虽然不怎么有难度,但是项目中经常用到,希望能帮助大家项目中的一些问题,帮到大家。 代码下载地址:http://download.csdn.net/det原创 2017-02-23 23:29:47 · 1128 阅读 · 1 评论 -
AndFix源码分析
基本使用//创建一个PatchManager实例patchManager = new PatchManager(context);//初始化patchManager.init(appversion);//current version//加载补丁patchManager.loadPatch();// 手动加载补丁//patchManager.addPatch(path);//pat...原创 2018-11-25 17:51:41 · 475 阅读 · 0 评论 -
Volley源码分析
基本的使用步骤 // 1, 获取到请求队列 RequestQueue requestQueue = Volley.newRequestQueue(this); // 2, 创建一个Request StringRequest stringRequest = new StringRequest("", new com.android.vo...原创 2018-11-25 17:52:40 · 321 阅读 · 2 评论 -
EventBus 源码分析
基本使用//注册EventBusEventBus.getDefault().register(this);//发送事件EventBus.getDefault().post(new FirstEvent("nihao-->"));//接受事件回调方法@Subscribepublic void onMainEvent(FirstEvent eventBean){ Toast.m...原创 2018-11-27 23:52:27 · 104 阅读 · 0 评论 -
OkHttp 源码分析
基本使用 //1. 创建OkHttpClient实例 OkHttpClient client = new OkHttpClient .Builder() .cache(new Cache(new File("cache"), 24 * 1024 * 1024)) ...原创 2018-12-01 11:28:00 · 130 阅读 · 0 评论 -
AsyncTask源码分析
前言AsyncTask在Android编程中是一种常用的异步编程方式,那么AsyncTask到底是什么呢?下面我们从基本使用到源码分析对AsyncTask作一个全面的了解。一般使用通常我们对AsyncTask的使用是//1.实现抽象类AsyncTaskClass MyAsyncTask extends AsyncTask{ @Override protected Obje...原创 2019-03-03 18:37:04 · 121 阅读 · 0 评论 -
SparseArray 源码分析
主要方法分析put方法/***放一个元素到集合*/public void put(int key, E value) { int i = binarySearch(mKeys, 0, mSize, key); // 返回的大于0 那么找到有效的值 将原有的值替换掉 // 否则, 如果i < size 那么 赋值 ...原创 2019-04-14 19:37:23 · 205 阅读 · 0 评论 -
EventBus 的源码解析分析的四个要点
关于EventBus 的源码解析网上有很多优秀的文章https://www.jianshu.com/p/83e44261e095我们这里只需要总结归纳出,可以串联起整个EventBus的设计原理 4个表 和 4种处理方式 4个表 keyvalue用途Event事件类型classEvent class继承类集合事件继承发送使用Event事件类型Subsc...原创 2019-05-19 10:37:59 · 135 阅读 · 0 评论 -
IntentService 源码分析
一般使用1.自定义一个耗时的IntentServicepublic class MyIntentService extends IntentService { /** * Creates an IntentService. Invoked by your subclass's constructor. * @param name Used to name...原创 2019-05-12 19:26:20 · 245 阅读 · 0 评论 -
SharedPreferences 源码分析
使用用例 //获得SharedPreferences的实例 sp_name是文件名 SharedPreferences sp = getSharedPreferences("sp_name", Context.MODE_PRIVATE); //获得Editor 实例 SharedPreferences.Editor editor = sp.edit(); /...原创 2018-11-19 10:12:10 · 154 阅读 · 0 评论 -
Android RIL 移植 SIM900
移植步骤1.RIL串口接口fd = open (s_device_path, O_RDWR); /*if ( fd &gt;= 0 &amp;&amp; !memcmp( s_device_path, "/dev/ttyS", 9 ) ) { //* disable echo on serial ports ...原创 2018-11-11 23:04:27 · 1320 阅读 · 0 评论 -
Android代码规范文档
命名规范1. 包命名规则:包名全部小写,才用反域名命名规则,一级包名是顶级域名,通常为com, edu, gov, net, org等,二级包名,通过为公司名或部门名或者个人名,三级包名通常为项目名,四级包名为模块名或者层级名。以下是从层级包名来划分android项目中采用的包划分结构com.zgkxzx.xxx.view //V层com.zgkxzx.xxx.presenter//P层原创 2017-05-10 17:08:50 · 558 阅读 · 0 评论 -
定时任务 Handler vs Timer
前言Android开发过程中,经常需要执行一些短周期的定时任务,这时候有两个选择Timer或者Handler。很多朋友都会为选择哪种方案最优而犹豫为难,今天我们做一下比较,希望对各位以后开发都有一定的参考价值。(也是自己在网上优秀资料学习的一些整理吧)一.易用性1. 可重复执行Handler可以重复执行某个任务。 Timer若在某个任务执行/取消之后,再次执行则会抛出一个IllegalStateE转载 2017-05-15 14:23:58 · 613 阅读 · 0 评论 -
Android 异步消息机制 Handler Message Looper机制详解
1.前言Handler Message是android中比较常用的异步消息机制,通常我们对UI更新,对异步操作运算,很多时候都采用Handler来实现,现在我们探讨一下Handler,Message以及Looper的消息机制。2.一般使用方法通常我们使用Handler的一般流程是: 创建Handler对象,并在handleMessage实现消息接受的具体实现;private final stati原创 2017-10-12 11:32:05 · 716 阅读 · 0 评论 -
Android Modbus的实现--Modbus4Android
前言ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。由于android系统的开源性,可定制性,很多工业设备开始逐渐使用android设备来定制工业设备系统,那么modbus在android系统上面的应用应运而生。这是Android版的Modbus TCP 例子,例子里面只写原创 2017-05-11 15:05:31 · 22063 阅读 · 23 评论 -
Modbus 史上最全实例资料汇总
1.前言 Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一种通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一个控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错原创 2017-10-14 10:28:03 · 30767 阅读 · 12 评论 -
SharePref 一种自动生成SharePreference方法工具
SharePref 一种自动生成SharePreference方法工具Github 地址:Github 地址前言在Android编程中,轻量级的存储一般用SharePreference 来实现简单数据的存储,比如第一次启动App标记,上次广告的显示时间戳,本地用户名记录等等,一般通过SharePreference来存储,一般通过key-value形式来标记存储每个字段,但是有个问题,随...原创 2018-06-04 14:20:07 · 328 阅读 · 0 评论 -
FragmentPagerAdapter与FragmentStatePagerAdapter区别
FragmentPagerAdapter与FragmentStatePagerAdapter区别前言在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Frag...转载 2018-10-21 22:24:17 · 1706 阅读 · 0 评论 -
设计模式与架构之美--Retrofit的那点事
前言Retrofit 是一个 RESTful风格的 HTTP 网络请求封装框架,通过Retrofit使用,复杂的网络请求可以通过几行代码就实现,大大提高了开发人员的开发调试效率。除了使用方便外,Retrofit最值得称道的地方是集设计模式于一身的特点以及高可扩展性的设计架构思想,更值得我们去探究和学习。在看过很多Android源码库,Okhttp,EventBus,ButterKnift,Lit...原创 2019-07-21 14:16:48 · 536 阅读 · 0 评论