Android
文章平均质量分 76
Dylan-Dev
GitHub: https://github.com/duanyytop
展开
-
Android onTouchEvent, onClick及onLongClick的调用机制
原帖:http://blog.csdn.net/ddna/article/details/5451722 针对屏幕上的一个View控件,Android如何区分应当触发onTouchEvent,还是onClick,亦或是onLongClick事件?在Android中,一次用户操作可以被不同的View按次序分别处理,并将完全响应了用户一次UI操作称之为消费了该事件(consume转载 2015-06-26 11:07:46 · 460 阅读 · 0 评论 -
Android数据库ORM框架用法、源码和性能比较分析
基本用法 LitePalLitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,LitePal很“轻”,jar包只有100k不到,使用起来也比较简单,源码地址为Github地址。首先需要引入lib,可以通过gradle引入也可以将下载的litepal.jar包直接放入libs目录下。然后需要在assets目录下新建一个litepal.xml文件,文件名称不能随原创 2016-03-22 15:06:21 · 1795 阅读 · 1 评论 -
2016年Google IO最新布局ConstraintLayout
Android Studio 2.2预览版包含了一个新的布局编辑器即ConstraintLyout,你可以不在XML布局文件中构建ConstraintLayout,ConstraintLayout相比之前构建UI的方式要容易地多。当你拖拽一个视图组件到ConstraintLayout,你可以添加约束,通过拖拽锚线来定义到其他视图组件的相对距离,同时布局编辑器还为所有的视图组件集成了推理约束。翻译 2016-06-09 22:52:48 · 1472 阅读 · 0 评论 -
Android权限最佳实践和代码实例分析
一、 官方推荐的权限最佳实践如果没有节制地频繁请求权限很容易使用户反感,如果用户发现app需要大量的敏感权限,很可能会拒绝使用甚至直接卸载。以下几点可以有效地提升用户的使用体验。1. 考虑使用Intent在很多情况下,你可以有两种选择实现你的操作,一种是直接app中请求比如摄像头这样的权限,然后调用摄像头APIs去控制摄像头并获取照片。这种方式可以使你对摄像头有全部的控制权,并且可以自定义相关的UI原创 2016-06-26 22:22:32 · 8691 阅读 · 1 评论 -
NavigationView更改菜单icon和title颜色变化效果
NavigationView menu默认icon和title会随着菜单状态改变而改变,选择某个菜单后再次打开侧边菜单后会发现该菜单的icon和title会变成应用的主颜色,其他菜单项仍然为黑色。原创 2016-06-13 15:50:05 · 18579 阅读 · 4 评论 -
Retrofit源码分析
Retrofit是一个在Android和Java中类型安全Http客户端框架,可以通过注解的方式声明请求方法、参数和URL路径,此外还支持mutlipart请求和文件上传。Retrofit2.0是基于OkHttp实现的,底层的网络请求由OkHttp完成,如果再结合RxJava一起使用,网络请求代码将会变得更优雅清晰。原创 2016-07-30 11:46:46 · 1730 阅读 · 0 评论 -
Retrofit用法详解
一、 简介Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,OkHttp现在已经得到Google官方认可,大量的app都采用OkHttp做网络请求,其源码详见OkHttp Github。 本文全部是在Retrofit2.0+版本基础上论述,所用例子全部来自豆瓣Api首先先来看一个完整Get请求是如何实现:创建业务请求接原创 2016-08-06 23:11:33 · 72524 阅读 · 27 评论 -
RxJava与Retrofit实战总结
RxAndroid模块包含RxJava的Android特定的绑定代码。它给RxJava添加了一些类,用于帮助在Android应用中编写响应式(reactive)的组件。它提供了一个可以在给定的Android Handler上调度Observable的调度器 Scheduler,特别是在UI主线程上原创 2016-08-21 20:49:01 · 4170 阅读 · 0 评论 -
OkHttp与Retrofit上传文件详解
Http上传原理Http上传需要用到multipart/form-data请求方式,Http协议原始方法不支持multipart/form-data请求,那这个请求自然就是由原始的请求方法拼装而成,具体规则如下:1、multipart/form-data的本质上还是Post请求 2、multipart/form-data与post方法的不同之处:请求头,请求体。 3、multipart/form原创 2016-09-08 19:30:51 · 13588 阅读 · 0 评论 -
FileProvider在Android N上的应用
Android 从 N 开始不允许以 file:// 的方式通过 Intent 在两个 App 之间分享文件,取而代之的是通过 FileProvider 生成 content://Uri 。如果在 Android N 以上的版本继续使用 file:// 方式分享文件,则系统会直接抛出异常,导致 App 出现 Crash 。原创 2017-04-03 16:02:29 · 4113 阅读 · 0 评论 -
Android数据库greenDAO框架用法和源码分析
Android数据库greenDAO框架用法和源码分析greenDAO简介greenDAO是一种Android数据库ORM(object/relational mapping)框架,与OrmLite、ActiveOrm、LitePal等数据库相比,单位时间内可以插入、更新和查询更多的数据,而且提供了大量的灵活通用接口。如何开始greenDAO需要提前生成Entity、DAO等文件,因此需要先建立一个原创 2016-03-22 14:58:35 · 3775 阅读 · 1 评论 -
Android json解析--GSON
Gson是对成员变量field进行序列化,Android恰恰是推荐开发者直接使用成员变量访问而不是用setter、getter。Gson可以很容易地实现对象与json字符串之间的相互转换。原创 2015-08-05 22:20:28 · 918 阅读 · 0 评论 -
利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题
转自:http://blog.csdn.net/cyp331203/article/details/45038329。使用ImageView会遇到的问题 在Android应用中,都少不了图片的显示,ImageView,轮播图,ViewPager等等,很多都是来显示图片的,比如一个广告条的轮播效果,参看博客:广告条效果实现----ViewPager加转载 2015-06-26 13:39:20 · 945 阅读 · 0 评论 -
Android消息队列模型
Google官方给Handler的解释如下:A Handler allows you to send and process Message and Runnable objects associated with a thread's MessageQueue. Each Handler instance is associated with a single thread转载 2015-06-26 14:15:30 · 843 阅读 · 0 评论 -
详解onMeasure()方法中如何测量一个控件尺寸
http://blog.csdn.net/cyp331203/article/details/45027641 自定义view/viewgroup要重写的几个方法:onMeasure(),onLayout(),onDraw()。(不熟悉的话可以查看专栏的前几篇文章:Android自定义控件系列二:自定义开关按钮(一))。转载 2015-06-26 12:04:19 · 3220 阅读 · 0 评论 -
Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()
转自:http://blog.csdn.net/xyz_lmn/article/details/12517911 Android中触摸事件传递过程中最重要的是dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()方法。这个是困扰初学者的问题之一,我开始也是。这里记录一下dispatchTouchEvent()转载 2015-06-26 11:32:40 · 628 阅读 · 0 评论 -
EditView软键盘管理
有些需要输入框EditView的页面,刚进来由于输入默认获得了焦点,系统会自动弹出软键盘,体验不是很好,那么如何取消这个默认行为呢?在其父控件下,添加如下的属性,就可以解决:android:focusable="true" 表示该控件可以获得焦点android:focusableInTouchMode="true" 表示可以原创 2015-07-25 16:13:17 · 501 阅读 · 0 评论 -
Gradle基础
转自http://stormzhang.com/devtools/2014/12/18/android-studio-tutorial4/什么是Gradle?Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。安装Gradle在Androi转载 2015-08-11 18:28:10 · 504 阅读 · 0 评论 -
Gradle多渠道打包
转自http://stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这再也不是事了。友盟多渠道打包废话不多说,以友盟统计为例,在Andro转载 2015-08-11 18:30:28 · 569 阅读 · 0 评论 -
Handler防止内存泄露
转自http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1106/1922.html在使用Handler更新UI的时候,我是这样写的:123456789public class SampleActivity转载 2015-08-13 11:08:43 · 609 阅读 · 0 评论 -
Android应用开发之所有动画使用详解
转载【工匠若水 http://blog.csdn.net/yanbober 转载请注明出处。点我开始Android技术交流】1 背景不能只分析源码呀,分析的同时也要整理归纳基础知识,刚好有人微博私信让全面说说Android的动画,所以今天来一发Android应用的各种Animation大集合。英文厉害的请直接移步参考Android Developer。Android转载 2015-08-12 21:52:24 · 1078 阅读 · 0 评论 -
Android截屏与WebView长图分享经验总结
一、概述最近在做新业务需求的同时,我们在 Android 上遇到了一些之前没有碰到过的问题,截屏分享、 WebView 生成长图以及长图在各个分享渠道分享时图片模糊甚至分享失败等问题,在这过程中踩了很多坑,到目前为止绝大部分的问题都还算是有了比较满意的解决方案。以下就从三个方面来总结一下过程中遇到的挑战和最后的解决方案。二、截图分享在 Android 原生系统中是没有提供截图的广播或者监听事件的,也原创 2017-05-19 18:44:28 · 8019 阅读 · 4 评论