- 博客(25)
- 资源 (224)
- 问答 (1)
- 收藏
- 关注
转载 Android中事件传递机制的总结
事件传递虽然算不上某个单独的知识点,但是在实际项目开发中肯定会碰到,如果不明白其中的原理,那在设计各种滑动效果时就会感到很困惑。关于事件的传递,我们可能会有以下疑问:事件是如何传递的事件是如何处理的自定义view的时候,事件也冲突了怎么解决带着这三个疑问,我们来总结一下事件传递机制是怎么回事。事件分发原理事件是如何传递的:首先由Activity分发,分发给根View,也就是DecorVie
2016-08-29 17:45:48 2207 1
转载 Android-使用JsBridge来优化js与本地webview的交互
基于lzyzsd的JsBridge 优化改进而来的Android JsBridge。工程传送门优化1.支持自定义桥名; 2.修复web页未渲染即进行跳转导致Js桥初始化失败的问题;使用添加maven依赖<dependency> <groupId>com.hjhrq1991.library</groupId> <artifactId>jsbridge</artifactId> <vers
2016-08-28 09:39:18 7236
转载 花一万个小时练习 Coding,不要浪费一万小时无谓地 Debugging
Coding 之于科技的重要性不言可喻,也不再是软件工程师的专利,医师、律师、会计师、护理师、金融从业人员,甚至是听起来摸不着边的政治家,不论是哪个行业,学习 Coding 已经成为世界新趋势。本文作者 Waseem Ahmad 为一个程序设计师,同时也是旅行家与终身学习者。以下文字以作者第一人称撰写。一切都要归功于 Code.org 与其他 Coding 自学网站,学生可以从网站学到学校没教的电
2016-08-26 10:06:33 2661 2
原创 Android Retrofit 实现图文上传-文字参数类型
回顾在 Android Retrofit 实现文字(参数)和多张图片一起上传 博客中,我们详细介绍了多张图片和文字参数上传的具体原理和实现,今天我们重点说说文字参数类型的问题。Post请求抓包信息:接口定义:从抓包信息中看到文字类型的参数字段名是“data”,值是“jdsjlzx”。其中的Content-Type信息如下:Content-Type: application/json; charset
2016-08-24 16:12:52 12167 13
转载 自定义控件-CascadeLayout
前言android的进阶之路上,总少不了使用自定义控件。自定义控件按照不同的分法,有不同的分类,这里主要分为四类:继承自view,重写 onDraw方法;比如系统的TextView,ImageView;继承自ViewGroup,实现自己的自定义控件;继承自特定的view(比如ImageView), 圆角图片CircleImageView,自带清除按钮的EditText;继承自特定的ViewG
2016-08-22 23:08:17 1633 1
转载 HermesEventBus-饿了么开源的Android跨进程事件分发框架
由于Android不同进程之前不能相互通信,所以当开发过程中遇到跨进程通信的时候,常用的方案就是AIDL(Android Interface Definition Language)通过它我们可以定义进程间的通信接口,但是当应用中出现大量跨进程通信的时候,比如你想体验一下插件化开发或者特殊需求在单应用中需要开多个进程,那么写过AIDL的同学都会有痛不欲生的感觉。现在福利来了,可以试试饿了么开源了一款
2016-08-22 18:46:29 6165
原创 Android Retrofit 实现(图文上传)文字(参数)和多张图片一起上传
背景在有心课堂《自己动手写HTTP框架》课程中有下列课程:自拍要发朋友圈如何实现 http://stay4it.com/course/4/learn#lesson/208通过自己写的HTTP框架实现将图片和文字等内容在一个接口中提交到服务器。无论哪种网络框架,都要遵守HTTP协议。下面我们简单了解下HTTP协议。HTTP协议其中HTTP协议版本有两种:HTTP1.0/HTTP1.1 可以这样区别:
2016-08-19 00:13:29 41646 19
原创 Rxjava实践-把混乱的WORKFLOW撸成串吧
本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发。前言前几天和Stay讨论了一个rxjava场景,觉得很有意思,这里也和大家分享下。通过还原一个真实的开发过程,来感受下rxjava的便利之处。巨坑从来都是由小坑慢慢塌陷的先来看下一段最普通的代码在没有特殊需求的情况下,代码就这么简单。你可以理解为,获取一个目录下的所有文件,将它们一个个传到服务器上去。看起来好像是没
2016-08-18 16:36:04 2033 1
转载 Android View的绘制流程
View的绘制和事件处理是两个重要的主题,上一篇《图解 Android事件分发机制》已经把事件的分发机制讲得比较详细了,这一篇是针对View的绘制,View的绘制如果你有所了解,基本分为measure、layout、draw 过程,其中比较难理解就是measure过程,所以本篇文章大幅笔地分析measure过程,相对讲得比较详细,文章也比较长,如果你对View的绘制还不是很懂,对measure过程掌
2016-08-16 19:26:08 2371 2
转载 图解 Android 事件分发机制
在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要。Android 事件分发流关于Android 事件分发机制网上的博文很多,
2016-08-16 15:10:47 1642
转载 Android文字图片写入CSV(Base64)并分享
做的一个分享的功能,将文字图片以CSV的形式分享到邮件之类的应用。首先,CSV逗号分隔值文件格式(Comma-Separated Values),纯文本形式,逗号分隔,一行数据不跨行。图片转换成Base64字符串public String writeBase64(String path) { //path图片路径 byte[] data = null;
2016-08-16 13:49:37 1491
原创 Android LRecyclerView实现类似viewpager的功能
新的一周,新的一天,LRecyclerView也推出了新的功能——viewpager滑动效果。先来看看效果图:主要有两个功能: 1.viewpager滑动; 2.上下滑动删除。具体使用这里就不讲了,详见demo。compile 'com.github.jdsjlzx:LRecyclerView:1.0.6'新版本解决了一些问题: 1.不能强制刷新; 2.接口名字拼写错误; 3.解决头尾状态
2016-08-15 17:37:52 3648 2
转载 如何通过Retrofit提交Json格式数据
本文将介绍如何通过retrofit库post一串json格式的数据。首先post的json数据格式如下:{ "Id": "string", "DeviceId": "string", "Name": "string", "SumDistance": 0, "RouteNo": "string", "SumPoints": 0, "SetupTime": "2016-06-
2016-08-12 11:41:16 11056 3
转载 Android 设置TabLayout背景和字体大小
效果图:TabLayout使用如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android
2016-08-10 14:17:08 8181
转载 Android 使用Glide动态加载圆形图片和圆角图片
Glide我们都不陌生了,有时我们需要把加载下来的图片转成圆角或者圆形的图片,怎么处理呢,Glide原生没有这个方法,于是我拓展了BitmapTransformation来实现这个功能。效果图:Glide是默认本地存储的,但重复加载的时候,是不需要重复访问网络。下载的图片转圆形的方法public class GlideCircleTransform extends BitmapTransformat
2016-08-10 11:28:13 6561 1
原创 Retrofit Url 配置多个相同参数名(同名参数)的参数
Multiple Query Parameters我们需要请求的url就像下面那样https://api.stay4it.com/tasks?id=123&id=124&id=125我们预期返回的response是一个以url的ids=[123, 124, 125]为查询参数任务列表。Retrofit通过提供一个ids的列表作为一个参数来执行一个含有多个同名参数的请求。Retrofit会一一对应给定
2016-08-09 15:38:35 5970 1
转载 Retrofit自定义GsonConverter处理请求错误异常处理
通常从服务端拿到的JSON数据格式大概如下: { "code":1, "message":"查询成功", "detail":{"aa":"123","bb":"123","cc":"123"} }因此通常我们会定义一个实体类来解析对应的json:public class Response { @SerializedName("code") private
2016-08-07 21:41:45 12568 7
转载 Retrofit2实现App自动更新
原理Retrofit2和okhttp实现了apk的下载自定义类实现Retrofit2的Callback类在里面通过IO流写入文件并且使用RxBus订阅下载进度自定义类实现okhttp3的ResponseBody类并且在里面使用RxBus发布下载进度信息在Service中使用Retrofit在后台下载文件发送Notifaction到通知栏前台界面展示进度情况实现步骤1.创建UpdateMa
2016-08-07 21:17:18 7529 8
转载 Android之Keystore文件签名(获取查看apk签名)
Android应用开发的时候会经常使用到第三方SDK,例如地图、推送、支付以及分享等。而这些第三方服务SDK为了应用不被滥用都会有签名验证机制。我们通过上传Android应用的签名来在服务端配置以验证应用的合法性。本文将讲述下在Android Stduio中常用的签名操作。默认KeyStore默认KeyStore存储路径在Android Stduio中系统默认内置了一个签名文件debug.keys
2016-08-07 21:02:08 33433 3
原创 RecyclerView关于notifyItemRemoved的那点小事
当我们需要remove掉一条数据(位置在position)时,想要使用RecyclerView的动态效果,就需要调用notifyItemRemoved。但是该方法不会使position及其之后位置的vitemiew重新onBindViewHolder。所以不当使用会导致下标错乱,各种坑爹的bug就来了。 弥补上面的问题,你还需要调用 notifyItenRangeChanged方法,使下面的ite
2016-08-05 18:12:16 7654 1
转载 Android Retrofit RxJava实现缓存
RxJava如何与Retrofit结合参考:http://blog.csdn.net/jdsjlzx/article/details/52015347缓存配置app网络数据的离线缓存实现有很多种办法,例如存进数据库(保存json使用时拿出来解析),存专有文件,或SharedPreference等等,也可以自己实现 LruCache 和 DiskLruCache 这两种缓存策略构成二级缓存(内存和磁盘
2016-08-03 23:57:00 6214 2
转载 RxJava Android(RxAndroid) 开发全家桶
RxJava 在 Android 应用开发中越来越流行,但是由于其门槛稍高,初次使用不免遇到很多问题,例如在 RxJava 常见的错误用法 和 不该使用 RxJava 的一些情况 中所描述的情况。为了避免这些常见的问题,很多民间高手开发了很多在 Android 应用中可以使用的 Rx 扩展类库,组合使用这些类库,可以更方便的使用 RxJava 并且可以避免一些常见的错误用法。 本文来介绍一些使用 R
2016-08-03 23:38:31 7068
原创 Retrofit 使用flatmap操作符时处理错误、异常
在实际项目(Retrofit+RxJava框架)中,有时需要先登录,获取token后再去获取用户信息,那么我们需要把登录后服务器返回的信息进行筛选过滤等到我们需要的token,然后根据token获取用户信息。我们最终需要做的也就是转换数据流。RxJava中,具有转换数据流功能的操作符有很多,这里我们使用flatmap转换操作符来实现数据流的转换。在RESTResult对象里,包括请求返回的状态:失败
2016-08-02 17:35:52 7555 5
原创 android AppCompatEditText 样式(线条粗细等)修改
样式定义com.android.support:appcompat-v7库中,样式主要的定义在$SDK_HOME/extras/android/v7/appcompat/res/values/themes_base.xml中,其中定义了以下样式:Platform.AppCompat(android:Theme)Platform.AppCompat.Light(Platform.AppCompat
2016-08-02 15:46:18 14782 1
转载 理解RxJava的线程模型
ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发,在2012年11月开源,Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,Rx库支持.NET、JavaScript和C++,Rx近几年越来越流行了,现在已经支持几乎全部的流行编程语言了,Rx的大部分语言库由Rea
2016-08-02 11:15:13 2120
Android将list数据通过LitePal保存到本地(集合保存到本地)
2016-06-17
AndroidDownLoad-多线程断点续传下载
2016-06-14
DownloadEngine-Android多线程下载断点续传
2016-06-14
android-rsa-http
2016-06-12
RxJava在Android中内存泄漏解决以及RxJava的封装
2016-05-23
Android H5做的商城客户端
2016-04-29
Android通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比
2016-03-31
Android Bluetooth蓝牙通信文件传输
2016-03-27
Android蓝牙聊天程序的扩展开发(基于Google Sample,类QQ设计)
2016-03-26
Android蓝牙聊天程序优化版
2016-03-26
Android 通过Socket 和服务器通讯
2016-02-16
android RangeSeekBarView 选定范围值的控件
2016-02-01
Android仿天天动态上拉播放界面控件
2016-01-31
Flutter编程指南-多线程
2022-02-21
java数据结构与算法之美(物超所值)
2022-02-09
flutter_macos_2.8.1-stable.zip
2022-01-05
mac_apktool.zip
2021-03-25
Postman-osx-5.3.2 for Mac
2017-10-31
CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar
2016-08-19
android自定义进度条渐变色View的实例代码
2016-07-26
Android多行文本折叠展开效果
2016-07-25
Android封装popwindow类(下拉菜单弹出和收缩效果)
2016-07-22
Android自定义spinner下拉框
2016-07-16
Android DigitalClock实现倒计时
2016-07-12
Android 带箭头有光晕效果的ProgressBar
2016-07-04
android webview与 js交互通信
2016-06-20
Android项目webview中做与js交互
2016-06-20
Android客户端提供Socket服务与pc通过USB通信
2016-06-17
Android 使用Socket,ServerSocket编程网络通信
2016-06-17
Android socket即时通信Demo
2016-06-17
自定义view和自定义动画怎么学习比较好呢?
2016-11-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人