android
yifei8
我是菜鸟,爱学习,爱劳动,有空就为农民立功劳。。。
展开
-
TCP、UDP、IP 协议分析
互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能。为了改善这种缺点,大牛弄出了TCP/IP协议。现在几乎所有的操作系统都实现了TCP/IP协议栈。TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图所谓的协议就是双方进行数据传输的一种格式。转载 2016-03-10 10:12:04 · 475 阅读 · 0 评论 -
如何检测AudioRecord是否被第三方管理应用给禁用了,附上demo
如何检测AudioRecord是否被第三方管理应用给禁用了,附上demo问题描述 我们在平时在开发中可能会遇到,申请的<uses-permission android:name=”android.permission.RECORD_AUDIO”/>被第三方给禁用了,如被小米的自带的“安全中心”给禁用了,这时该如何检测AudioRecord是否被第三方管理应用给禁用了呢?网上有很多方案,请参考如原创 2016-05-07 15:45:41 · 2031 阅读 · 2 评论 -
okhttp 源码学习(二)基本流程
本节将对okhttp中的关键的类和方法进行简单介绍,并梳理出执行的基本流程进行,让大家对源码有一个全局的认识。Class Call回顾我们上节中出现的Call对象,这个Call是什么呢?Call对象其实就是一个准备好执行网络请求的request,是对request进行了封装,支持取消。由于一个Call对象表示的是请求和响应流,因此同一个Call不能执行两次。Class Dispatcher在讲Di...原创 2018-04-10 22:19:59 · 207 阅读 · 0 评论 -
okhttp 源码学习(一)基本用法
本小节主要讲解okhttp基本用法第一步 创建client通常情况下,在我们的应用中OkHttpClient采用单例模式创建,这是因为每一个okhttp client都拥有自己的connection pool(连接池 )和thread pool(线程池),通过对他们的复用避免资源浪费从而减少内存开支。创建client有两种方式:方式一:使用其构造方法// The singleton HTTP cl...原创 2018-04-10 22:19:50 · 267 阅读 · 0 评论 -
okhttp 源码学习(三)Dispatcher 深入解析
在上一节中,我对Dispatcher进行了概述。本节主要内容就是带大家了解Dispatcher如何完成任务调度,并进行管理同步/异步的请求状态,如何维护一个线程池,来执行请求。成员变量为了下文描述更直观,这里我们先熟悉一下Dispathcer的几个重要的成员变量。我们还是结合源码来看:public final class Dispatcher { private int maxRequests...原创 2018-04-10 22:20:06 · 350 阅读 · 0 评论 -
okhttp 源码学习(四)RetryAndFollowUpInterceptor 深入解析
在okhttp 源码学习(二)基本流程这节中曾带大家认识了Interceptor拦截器的概念,不记得的同学可以回顾一下。从本节开始将从源码带角度逐个介绍其中的5个重要拦截器,首先来认识一下RetryAndFollowUpInterceptor什么是RetryAndFollowUpInterceptor?用一句话来说,它是okhttp核心拦截器之一,该拦截器主要用于失败重试以及必要的请求重定向。整个...原创 2018-04-10 22:20:13 · 303 阅读 · 0 评论 -
Android Handler机制深入解析
Handler是什么Handler是Android设计者Google设计用于的一套更新UI的机制,也是一套消息处理的机制,我们可以发送消息,也可以通过它来处理消息,Handler在我们的 framework中是非常常见的。Android 在设计的时候,就封装了一套消息创建、传递、处理机制,如果不遵循这样的机制就不能更新UI信息,并抛出异常信息。为什么要设计只能通过Handler机制来更新UI呢其实...原创 2018-04-10 22:33:42 · 289 阅读 · 0 评论 -
完美解决Android进程间通信—ABridge
编辑文章Android 进程间通信最牛方案,为简单而生Github 源码: ABridge一、介绍做Android开发的小伙伴们是不是经常有遇到同一个公司有多个App,而这些App之间需要进行通信业务。于是需要解决这种IPC问题,而ABridge可轻松解决进程间通信问题。二、Android IPC方式跨进程常见的几种通信方式:Bundle通过Intent传递数据,文件共享,ContentProvi...原创 2018-06-05 14:18:17 · 430 阅读 · 0 评论 -
Android组件化最佳路由—ARetrofit
Android组件化超级路由,为简单而生。Github 源码: ARetrofitdemodemo apk 下载一 介绍从命名来看,做Android开发的小伙伴们感觉是不是似曾相识…是的,Retrofit,一款优秀的网络框架,目前正在被大量使用,相信大家对它的用法已经非常熟悉吧。ARetrofit一款优秀的Android组件化框架(皮一下_开心),可以轻松实现跨module通信。这里之所以使用Re...原创 2018-06-05 15:07:28 · 370 阅读 · 0 评论 -
Android 组件化最佳实践 ARetrofit原理
Hello,各位伟大的程序猿们,提前给各位拜年了,祝大家在新的一年收获满满、挣钱多多、猪年吉祥。开源ARetrofit大约半年左右的时间,没有任何推广和介绍,今天一看也有160+的stars了,这里非常感谢大家的支持。趁着年关降至,也想写一点东西来介绍一下这个框架。无论是ARetrofit的用户也好,还是对源码感兴趣的同学也好,希望能从这篇文章中有所收获。简介ARetrofit是一款针对...原创 2019-01-30 10:38:58 · 348 阅读 · 0 评论 -
关于正确使用Android AsyncTask学习整理
关于正确使用Android AsyncTask学习整理这里写链接内容原创 2016-07-22 09:41:47 · 415 阅读 · 0 评论 -
Android 开发者的 RxJava 详解--简书
Android 开发者的 RxJava 详解--简书原创 2016-07-27 16:38:12 · 1138 阅读 · 0 评论 -
ContentProvider学习及使用
原文(http://www.jianshu.com/p/66dd8d5b5bd5)原创 2016-07-13 17:01:27 · 352 阅读 · 0 评论 -
android 特殊用户通知用法汇总--Notification源码分析
版权声明:转载请标明出处http://blog.csdn.net/self_study,对技术感兴趣的同鞋加群544645972一起交流目录(?)[-]Notification动态改变big view浮动通知notification常见问题总结notification源码解析相关资料图标数字源码转载 2016-04-18 10:31:16 · 1174 阅读 · 0 评论 -
Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
随着应用不断迭代,业务线的扩展,应用越来越大(比如集成了各种第三方sdk或者公共支持的jar包,项目耦合性高,重复作用的类越来越多),相信很多人都遇到过如下的错误:[java] view plain copy UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentExcepti转载 2016-04-20 10:39:02 · 465 阅读 · 0 评论 -
Android Lint gradle错误处理
一、Lint简介英文原文:http://tools.android.com/tips/lint 参照文章:http://blog.csdn.net/thl789/article/details/8037473 Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发现潜在的问题,以便程序员及早修原创 2016-04-20 10:44:37 · 2038 阅读 · 0 评论 -
android5.0 CardView,RecyclerView作用,附上Demo
CardViewCardView继承FrameLayout类,通过它可以显示信息在卡片内部,并且在不同的平台上有统一的样式。CardView组件可以有阴影和圆角。创建有阴影的Card,使用card_view:cardElevation属性。CardView 使用真实的高度和动态阴影在Android5.0(API21)和更高版本,较早的版本则使用传统的阴影。使用这些属性去定制Card原创 2014-11-26 09:38:00 · 881 阅读 · 0 评论 -
15 个 Android 通用流行框架大全
1. 缓存名称描述DiskLruCacheJava实现基于LRU的磁盘缓存2.图片加载名称描述Android Universal Image Loader一个强大的加载,缓存,展示图片的库Picasso一个强大的图片下载与缓存的库转载 2016-05-15 17:07:49 · 331 阅读 · 0 评论 -
android开发人员获取sqlite
Android中可以采用sqlite数据裤来存储数据,是Google却没有直接给我们提供相关工具来管理数据库里的数据。如果不能直接通过工具来查看,那我们就把数据库从手机/模拟器里面拷贝出来用工具查看,下面是步骤1.确认数据库的位置 我们可以通过eclipse的DDMS插件来访问手机的部分目录数据库文件位于/data/data/你的程序的包名/databases/中2.拷原创 2016-05-15 19:49:58 · 359 阅读 · 0 评论 -
Handler,Looper,MessageQueue,Message源码端理解
1、 概述首先介绍Handler,Looper,MessageQueue,Message四个概念:Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理。Handler:处理者,负责Message的发送及处理。使用Handler时,需要实现handleMessage(Message msg)方法来对特定的Mes原创 2016-04-20 20:32:29 · 372 阅读 · 0 评论 -
Android 学习问题汇总,不断更新
关于ProGuard学习ProGuard详解混淆(Proguard)用法原创 2016-05-05 10:22:48 · 381 阅读 · 0 评论 -
Android Studio 插件之 Android ButterKnife Zelezny
Android Studio 插件之 Android ButterKnife ZeleznyButterKnife程序员都是懒惰的,不会偷懒的程序员都不是好的程序员。大部分Android开发应该都知道 @JakeWharton 大神的 ButterKnife 注解库,使用这个库我们可以不用写很多无聊的 findViewById() 和 setOnClickListener() 等代码。 Butte原创 2016-06-29 14:25:45 · 531 阅读 · 0 评论 -
如何优雅的实现自己的Android组件化改造?
本篇文章的主要目的:帮助正在对项目进行组件化改造或者想建立组件化项目架构的小伙伴,更好的认识组件化本质。目前组件化的框架众多,说的天花乱坠的,其本质来说其实都差不多,阅读本文以后,读者甚至可以摒弃这些开源框架,根据自己的项目特点,轻松构建自己的组件化框架。帮助想学习和了解组件化框架,并尝试动手写自己的开源框架的小伙伴们什么是组件化?在平时的开发过程中,随着项目需求的增加,app支持功...原创 2019-02-21 12:55:12 · 245 阅读 · 0 评论