- 博客(49)
- 资源 (224)
- 问答 (1)
- 收藏
- 关注
原创 Android LRecyclerView实现下拉刷新,滑动到底部自动加载更多
随着功能的不断优化,框架中的类或者接口名字会有变动,为了获取准确的使用方法,请参考最新的说明文档:点此查看。简介LRecyclerView是支持addHeaderView、 addFooterView、下拉刷新、分页加载数据的RecyclerView。它对 RecyclerView 控件进行了拓展,给RecyclerView增加HeaderView、FooterView,并且不需要对你的Adapte
2016-06-30 23:21:23 83536 277
转载 Retrofit源码分析以及MVP框架封装使用
阅读此文前请先阅读Retrofit+okhttp网络框架介绍从上文中我们已经了解通过如下代码即可得到返回给我们call 以及 response对象,今天我们通过源码来分析这个过程是如何实现的。/** * 获取天气数据 * @param cityname * @param key * @return */ @GET("/weather/inde
2016-06-30 16:30:21 1755
转载 android Glide 去掉绿色背景(图片变绿解决方法)
在项目中使用了Glide加载图片,今天遇到了图片的背景会变成绿色。网上找到了 解决方案。感谢Yaphet赵勇博主的分享: http://blog.csdn.net/yaphetzhao/article/details/50586991图片变色的原因是因为图片压缩所致,一半是webp会出现这样的情况。 所以在使用Glide的缓存机制的时候,缓存原图片即可。Glide.with(a).load(u
2016-06-29 18:35:21 8636 5
转载 Android为WebView中的Java与JavaScript的交互漏洞提供安全可靠的多样互通方案
Safe Java-JS WebView Bridge抛弃使用高风险的WebView addJavascriptInterface方法,通过对js层调用函数及回调函数的包装,支持异步回调,方法参数支持js所有已知的类型,包括number、string、boolean、object、function。安装使用Safe Java-JS WebView Bridge最简单的办法就是像下面这样添加项目依赖。
2016-06-29 14:07:58 2359
原创 AppCompatEditText 自定义下划线颜色
如下图所示: style中修改如下:<!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorAccent">@color/colorPrimary</item> <!-- AppCo
2016-06-28 17:05:56 16741
转载 GitHub上README.md教程
查看代码即具体效果:https://github.com/guodongxiaren/test ————————————————————————————开始编辑README打开你的GitHub的某个项目,我们可以直接在线编辑你的README文件,如果你已经有了这个文件,则在文件目录中直接点击它,如果你还没有这个文件那么点击项目名称右边的一个按钮,来添加新文件:然后你就打开了编辑页面,编辑区的左上角
2016-06-27 22:52:31 9281 2
原创 Java数据结构和算法——栈
简介栈(stack),是一种线性存储结构,它有以下几个特点: 1. 栈中数据是按照”后进先出(LIFO, Last In First Out)”方式进出栈的。 2. 向栈中添加/删除数据时,只能从栈顶进行操作。栈通常包括的三种操作:push、peek、pop。 push – 向栈中添加元素。 peek – 返回栈顶元素。 pop – 返回并删除栈顶元素的操作。栈的示意图栈中的数据依次是
2016-06-26 23:01:23 1505
原创 Java HashSet特点:不重复(对象的哈希代码一样)、无序
HashSet 是一个没有重复元素的集合。 它是由HashMap实现的(HashSet中大量调用了HashMap的方法,其内部封装了一个HashMap ),不保证元素的顺序,而且HashSet允许使用 null 元素
2016-06-25 23:04:36 8933 1
原创 Android RecyclerView点击事件与长按事件
原文链接如下:RecyclerView onClickpublic class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener { public interface OnItemClickListener { void onItemClick(View view, int positi
2016-06-24 17:57:06 4696 1
原创 Android动态更改TextView的字体大小
需求: 需要动态更改TextView内容字体的大小,比如设定TextView只有一行,宽度只有200dp,内容超过这个之后就缩小字体显示,只能能将字体都显示完全;也就是动态更改TextView的字体大小,当TextView的内容比较多时缩小显示,当TextView的内容比较少时正常显示。使用框架:Android-autofittextview 地址:https://github.com/gr
2016-06-21 23:37:10 7781
原创 Java数据结构和算法——数组、单向链表、双向链表
概要线性表是一种线性结构,它是具有相同类型的n(n≥0)个数据元素组成的有限序列。本文先介绍线性表的几个基本组成部分:数组、单向链表(One-way LinkedList)、双向链表(two-way linked-list )。数组数组有上界和下界,数组的元素在上下界内是连续的。存储10、20、30、40、50的数组的示意图如下:数组的特点: 1. 数据是连续的; 2. 随机访问速度快。数组中稍
2016-06-21 22:17:42 3509 1
转载 RxJava 使用debounce操作符 优化app搜索功能
问题现在几乎所有的App都有搜索功能 , 一般情况我们监听EditText控件,当值发生改变去请求搜索接口. 如:etKey.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after
2016-06-21 21:01:38 6685 2
原创 RxJava zip操作符在Android中的实际使用场景
概述 Returns an Observable that emits the results of a specified combiner function applied to combinations of two items emitted, in sequence, by two other Observables.流程图: 简单来说zip操作符就是合并多个数据流,
2016-06-20 23:33:05 11719
转载 RxJava concat符操作处理多数据源
概述从concatMap操作我们知道,concat操作符肯定也是有序的,而concat操作符是接收若干个Observables,发射数据是有序的,不会交叉。使用示例示例一下面使用concat操作符 来实现个多数据源的例子,比如一个商品详情需要展示商品的信息、艺术家信息、与该商品类似的商品,可能需要访问三个接口。这个时候就可以使用concat操作符。卖家信息private Observable<Obj
2016-06-20 22:59:54 8113 1
转载 RxJava retryWhen操作符实现错误重试机制
业务需求当我们在app里发起网络请求时,可能会因为各种问题导致失败。如何利用RxJava来实现出现错误后重试若干次,并且可以设定重试的时间间隔。具体实现网络请求使用Retrofit来做,请求用户信息接口@GET("/userinfo?noToken=1") Observable<Response> getUserInfoNoToken();请求用户信息接口的逻辑代码
2016-06-20 17:45:21 13928 2
转载 RxJava concatMap操作符
concatMap 作用concatMap操作符和flatMap操作符非常类似。下面是concatMap操作符的流程图:concatMap和flatMap最大的区别是concatMap发射的数据集是有序的,flatMap发射的数据集是无序的。如下代码:Observable.from(Arrays.asList( "http://www.baidu.com/",
2016-06-20 14:57:45 5494 4
原创 Java数据结构和算法——开篇
如果说 Java 是自动档轿车,C 就是手动档吉普。数据结构呢?是变速箱的工作原理。你完全可以不知道变速箱怎样工作,就把自动档的车子从 A 开到 B,而且未必就比懂得的人慢。写程序这件事,和开车一样,经验可以起到很大作用,但如果你不知道底层是怎么工作的,就永远只能开车,既不会修车,也不能造车。如果你对这两件事都不感兴趣也就罢了,数据结构懂得用就好。但若你此生在编程领域还有点更高的追求,数据结构是绕不
2016-06-19 10:01:00 1699
原创 Android仿简书、淘宝等APP View弹出效果
在用简书App的时候觉得这个View的弹出效果特别好,而且非常平滑。 先看看效果: 主要是scale,alpha,translation几个普通动画组合,这里不再分析。实现效果图:代码:https://github.com/jdsjlzx/Jianshupopupwindow参考:http://blog.csdn.net/tiankong1206/article/details/45112449
2016-06-18 11:10:05 8717
转载 Android SurfaceView 黑屏问题
说一个真实的案例。其中需求要做一个绘图功能,一听到绘图,自然而然就像到了SurfaceView这个类。所以我就用了。<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="m
2016-06-17 16:01:55 25120
原创 Android 高斯模糊效果从319ms到3ms的优化实现
之前做过高斯模糊的的效果,不过依赖一个三方库,今天看到了一篇文章,一个类文件就能解决,感觉窃喜,分享给大家。 我要做的效果就是自定义image大小,自定义高斯模糊的区域,这样才算我要的效果。先上图分别是优化前和优化后的,大家可想这个优化的作用多么巨大,我直接把这个效果的显示耗时在界面绘制出来了,下面图片中的单位打错了额,是ms。3ms VS 209ms 4ms VS 197ms 说
2016-06-17 13:57:39 5880 1
转载 Android WebView 内处理302重定向
核心思想:通过记录访问历史url,在返回时候对url进行过滤出来。public class NewsDetailActivity extends AppCompatActivity{ private WebViewWithProgress myWebViewWithProgress; private WebView myWebView; private String news
2016-06-17 10:47:20 5962 2
转载 Android源码分析之Builder模式
模式的定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。使用场景1、相同的方法,不同的执行顺序,产生不同的事件结果时; 2、多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时; 3、产品类非常复杂,或者产品类中的调用顺序不同产生了不同的效能,这个时候使用建造者模式非常合适;UML类图角色介绍Product 产品类 : 产品的抽象类。 Builde
2016-06-16 22:11:16 1851
原创 《Android源码设计模式解析与实战》读书笔记
http://blog.csdn.net/column/details/mode.htmlhttp://blog.csdn.net/qq_17766199http://blog.csdn.net/column/details/android-dp.html
2016-06-16 21:53:17 1617
原创 Retrofit 动态参数(非固定参数、非必须参数)(Get、Post请求)
关键词:Retrofit 动态参数、非固定参数、非必须参数有如下场景: 请求数据时: 1. 用户未登录时,不带参数userId; 2. 登录时带上参数userId.如下接口:@GET("index.php?r=default/homepage")Observable<Response<Exercise>> getDataList(@Query("page") int page)
2016-06-16 20:50:04 41554 6
原创 Retrofit 传递数组参数
接触Retrofit一段时间后,感觉到Retrofit越来越强大,方便快捷。传数组@GET("v1/enterprise/find")Call<ResponseBody> getData(@Query("id") String id, @Query("linked[]") String... linked);代码调用:String id="Stay";String[] s = new Stri
2016-06-16 17:30:33 18222 1
转载 Retrofit 2.0 持久化Cookie管理
持久化Cookie场景: 用户登录需要在本地管理cookie,用户下次进来的时候不需要再登录,调用其他接口的时候将用户的cookie和session放到请求头里面。Retrofit2.0内部是OKHttp来实现的,那么肯定使用OKHttp管理Cookie。先看一下关键代码:private Request networkRequest(Request request) throws IOExce
2016-06-16 17:12:52 7033 2
转载 RxJava 方法备忘录
RxJava 方法过滤相关RxJava提供了filter()方法来过滤我们观测序列中不想要的值当我们不需要整个序列时,而是只想取开头或结尾的几个元素,我们可以用take()或takeLast()一个可观测序列会在出错时重复发射或者被设计成重复发射。distinct()和distinctUntilChanged()函数可以方便的让我们处理这种重复问题。(它会记录以及发射的值来过滤,所以请注意内存)fi
2016-06-16 00:06:33 2594
原创 RxJava Lift
RxJava 不建议开发者自定义 Operator 来直接使用 lift(),而是建议尽量使用已有的 lift() 包装方法(如 map() flatMap() 等)进行组合来实现需求,因为直接使用 lift() 非常容易发生一些难以发现的错误。 例子Observable.create(new Observable.OnSubscribe<String>() { @Override
2016-06-15 23:27:32 3089
原创 RxJava observeOn()与subscribeOn()的关系
RxJava系列教程:1. RxJava使用介绍 【视频教程】 2. RxJava操作符 • Creating Observables(Observable的创建操作符) 【视频教程】 • Transforming Observables(Observable的转换操作符) 【视频教程】 • Filtering Observables(Observable的过滤操
2016-06-15 22:17:36 22968 2
原创 Android自定义多TAB悬浮控件实现蘑菇街首页效果
原文:http://www.cnblogs.com/ImyFen/archive/2015/11/15/4967127.html说明: 1.viewpager不能左右滑动; 2.转载时代码略有改动(注:修复tab控件不能自动滑动的问题)。代码下载:https://github.com/jdsjlzx/MoGuJie核心代码:package com.Imy.Fuli.Fragment;import
2016-06-14 21:34:44 7717 1
转载 Retrofit遇到Restful API怎么办
何为非Restful Api?Restful ApiUser数据,有uid、name,Restful Api返回数据:{ "name": "kkmike999", "uid": 1}在数据库没找到User,直接返回错误的http code。但弊端是当在浏览器调试api,后端查询出错时,很难查看错误码&错误信息。(当然用chrome的开发者工具可以看,但麻烦)Not Restful
2016-06-13 14:14:20 5550 2
转载 Retrofit2 multpart多文件上传详解
可以先看看这个文章: Android Retrofit 实现(图文上传)文字(参数)和多张图片一起上传Retrofit2是目前很流行的android网络框架,运用注解和动态代理,极大的简化了网络请求的繁琐步骤,非常适合处理restfull网络请求。在项目中,经常需要上传文件到服务器,有时候是需要上传多个文件。网上文章基本都是单文件上传教程,这篇文章主要讲retrofit的多文件上传实现。 个人觉
2016-06-12 22:09:40 23223 4
转载 Java RandomAccessFile与MappedByteBuffer
RandomAccessFileRandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。但是该类仅限于操作文件。RandomAccessFile不属于InputStream和OutputStream类系的。实际上,除了实现DataInput和DataOutput接口之外(DataI
2016-06-12 18:00:22 5997
转载 AOP 的利器:ASM 3.0 介绍
随着 AOP(Aspect Oriented Programming)的发展,代码动态生成已然成为 Java 世界中不可或缺的一环。本文将介绍一种小巧轻便的 Java 字节码操控框架 ASM,它能方便地生成和改造 Java 代码。著名的框架,如 Hibernate 和 Spring 在底层都用到了 ASM。比起传统的 Java 字节码操控框架,BCEL 或者 SERP,它具有更符合现代软件模式的编程
2016-06-12 14:09:00 2642
转载 接口地址加密 和 API权限设计 保护服务器上的数据安全通信传输
url进行加密处理来保护服务器上的数据我认为,保护服务器端的数据,有这么几个关键点:不能对使用体验产生影响,这就排除掉了诸如每次接口调用都要求用户输入验证码这样的做法接口调用的网络交互需要无规律可循,比如article/1 –> article/1000 这样的接口就太容易被其他人爬走了要严格意义上阻击爬虫,需要每一次网络请求都是不可重放的,这样才能避免其他人通过监听网络交互并重放来爬取数据
2016-06-12 11:15:09 9780
转载 Android使用newInstance()实例化fragment&setArguments()传递参数
原文链接:Using newInstance() to Instantiate a Fragment new MyFragment()和MyFragment.newInstance()之间的差别是什么?应该用哪个呢?newInstance()方法是一种“静态工厂方法”,让我们在初始化和设置一个新的fragment的时候省去调用它的构造函数和额外的setter方法。为你的Fragment提供静态
2016-06-12 10:29:39 5874
转载 RxJava处理网络连接失败和timer()、interval()、delay()之间的区别
这篇文章算是对【译】对RxJava中.repeatWhen()和.retryWhen()操作符的思考的一个简单的补充,建议没看过的先看看上面这篇。前言才学RxJava的时候还是挺困惑的,感觉有特别多的对『时间』的操作符,比如timer()、interval()、delay()、defer()等等…… 总之功能太强大,直接吓跑了一群初学者。身边有朋友这样跟我说:RxJava为了省点代码,把逻辑弄这么
2016-06-08 18:44:32 4613
转载 Android RxJava的线程控制 —— Scheduler
Scheduler-调度器 If you want to introduce multithreading into your cascade of Observable operators, you can do so by instructing those operators (or particular Observables) to operate on particular Sche
2016-06-08 02:34:25 2938 1
转载 Android Retrofit网络请求Service,@Path、@Query、@QueryMap、@Map...
本篇是Retrofit Url 配置 http://blog.csdn.net/jdsjlzx/article/details/51588605博客的补充。GET请求多个参数在URL问号之后,且个数不确定http://api.stay4it.com/News?newsId=1&type=类型1… http://api.stay4it.com/News?newsId={资讯id}&type={类型}
2016-06-08 02:16:41 20600 9
原创 Retrofit 泛型解析遇到com.google.gson.internal.LinkedTreeMap cannot be cast to object
在Retrofit网络请求数据,使用泛型解析json时,出现了com.google.gson.internal.LinkedTreeMap cannot be cast to com.xylife.community.bean.Exercise的异常,折腾了好久总算解决了。 先看下异常log:java.lang.ClassCastException: com.google.gson.interna
2016-06-05 23:55:53 33353 10
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关注的人