- retrofit+rxjava+okhttp网络框架之二次封装
nade_s
retrofit+rxjava的是这几年很流行的一种网络框架,开发者也提供了丰富的方法。之所以进行二次封装,就是因为retrofit+rxjava的链式调用太方便了,不符合单一性原则,管理起来比较麻烦。主要目的是二次封装后,和项目有很高的契合度更高。说一下封装思路,由于其本身调用方便,具体方法就不做封装了。第一retrofit对象封装。第二封装okhttp拦截器,用于添加头参数,拦截错误日志。第三
- Retrofit+rxjava网络请求框架 三 请求日志打印
lodtap
该工具类用于打印请求参数等日志,若下载文件时,需要关闭该日志打印,否则会导致文件临时缓存,影响文件下载进度的获取,文件过大时还会导致OOMimportandroid.util.Log;importokhttp3.OkHttpClient;importokhttp3.logging.HttpLoggingInterceptor;publicclassRetrofitUtils{/***获取OkHtt
- Retrofit+rxjava网络请求框架 一
lodtap
在build.gradle中添加依赖//Rxjava//处理网络请求在android中线程调度问题implementation'io.reactivex.rxjava3:rxandroid:3.0.0'implementation"io.reactivex.rxjava3:rxjava:3.0.4"//Retrofitimplementation'com.squareup.retrofit2:re
- Retrofit+RxJava 参数为Json串怎么搞?
android 小张
androidRetrofitRxJavarxjavaretrofitandroid
具体操作:retrofit接口类这个object类型的data呢,就是等下要传入过来的json串!。然后需要在....这个地方其实就使用到了java的apijsonobject,然后获取对象,调用put方法,把所需要的参数添加进去,下面是json串输出!!json串输出
- Retrofit+RxJava原理浅析
JingJerr
android开发笔记androidjava
Retrofit:核心:返回一个对象newISharedListService()动态代理:代理所有的。动态生成一个类:一个你对应的.class文件的对象–>反射代理的是一个object。看不见的类:代理类拓展类的行为和静态的是一样的主要方法:invoke。所有对接口类型的方法的调用都会执行到invoke方法里面代理对象在内存中,而不在外存中。看不见的。所有对接口的调用都会去执行到代理类的invo
- Retrofit+RxJava请求一次接口全过程分析
小锡兵鸥
我们定义接口请求的接口类interfaceApi{//登录@POST("v1/crmpassport/login")funlogin(@Bodybody:Map):Observable>}//得到接口的实例对象T=retrofit.create(clazz)//调用方法,返回一个Call或者Observable对象,请求网络T.login(..):CallorObservableRetrofit的
- 网站分享
appppppen
一项目相关移植Lamemp3到AndroidMediaRecorder简单的使用Android录制视频二常用库使用RxJava使用Retrofit+RxJava实现网络请求Butterknife8.5.1使用Android标题栏、状态栏图标文字颜色及背景动态变化WebView实现全屏播放的一种方法Lottie-轻松实现复杂的动画效果三游戏相关IGivenUniRxPostProcessingv2U
- OKHttp源码解析架构及API源码
巴菲猫
前言OkHttp是一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso)用于替代HttpUrlConnection和ApacheHttpClient(androidAPI236.0里已移除HttpClient,现在已经打不出来),这是现在非常主流的一个网络请求框架了。可能有人会说Retrofit+RxJava才是最主流的,好吧,其实R
- retrofit+Rxjava,多服务器地址封装.回调接口封装
起个名字好烦呀
retrofit的使用已经有很长时间了.如何引用,自行搜索.1.当前项目,作为BaseUrl的域名(ip地址)有多个.封装RetrofitUtils工具类.讲BaseUrl作为Map的key,Retrofit实例对象为Value.当前是kotlin的写法,核心就是map存储retrofit.2.网络请求的response需要统一处理retrofit+Rxjava,其实就是多一句.addCallAd
- android retrofit+rxjava如何处理响应码为非200的情况?
try_zp_catch
androidrxjavaokhttp
androidretrofit+rxjava如何处理响应码为非200的情况?一、前言我想绝大多数小伙伴现在都在用Okhttp或者retrofit来做网络请求了吧,毕竟squar出品必属精品。不废话,今天就是来聊聊http请求响应码的问题。大家都知道,android网络请求是通过httpurlconnection来实现的(httpclient已经在最新的Google源码中废弃),在发起网络请求以后,
- Rxjava常规使用及内存泄漏问题
gogoingmonkey
前言目前很多项目使用retrofit+Rxjava+mvp的架构开发项目还是比较多的。最近在改一处内存泄漏时候问题时,遇到一个Rxjava相关的泄漏问题。项目中虽然用Rxjava的地方不多,但是项目中用到的东西,还是尽可能搞懂用法、原理。让心里踏实点。目录1.本篇主要说下retrofit+Rxjava的基本用法,及Rxjava内存泄漏相关;2.主要说下Rxjava实现原理(源码分析);https:
- Retrofit+RxJava返回结果处理
yuezishenyou
一.想获取头部里的cookie信息1.接口publicinterfaceApiService{StringGET_LOGIN="api/news/feed/v62/?refer=1&count=20&loc_mode=4&device_id=34960436458&iid=13136511752";@GET(GET_LOGIN)Observable>requestLogin(@Query("cat
- Retrofit+Rxjava的一个简单使用(无封装)
singleLine0
1.天气预报Demo来源及参考https://www.jianshu.com/p/34187b90fe57https://www.jianshu.com/p/06a35a0f34d22.WeatherEntitygenerate→GsonFormat工具跨界生成Entity类重写toString()方法publicclassWeatherEntity{privateListHeWeather6;p
- Retrofit+rxjava网络请求框架 二 进行http请求时设置证书信任
lodtap
新建HttpCertUtils.java文件,在Android项目任意位置即可importandroid.content.Context;importjava.io.ByteArrayInputStream;importjava.io.InputStream;importjava.security.KeyStore;importjava.security.SecureRandom;importja
- 在Retrofit中加入RxJava
EmMper
这篇文章的由来目前项目中引入了RxJava,而我在其他项目里分别使用过Retrofit以及Retrofit+RxJava。以自己的感受而言,RxJava确实很强大,而且对于编码效率和代码简洁性有不小的提升,所以简单对比一下两者的区别。本文默认读者已熟悉RxJava的基本Api以及使用场景,若非如此,则参考该文章:http://gank.io/post/560e15be2dca930e00da108
- Retrofit2
HOLLE_karry
1.Retrofit2的简述Retrofit其实我们可以理解为OkHttp的加强版,它也是一个网络加载框架。底层是使用OKHttp封装的。准确来说,网络请求的工作本质上是OkHttp完成,而Retrofit仅负责网络请求接口的封装。它的一个特点是包含了特别多注解,方便简化你的代码量。并且还支持很多的开源库(著名例子:Retrofit+RxJava)。Retrofit和OkHttp都是square公
- LiveData+Retrofit网络请求实战
星星y
RxJava与Retrofit在出现LiveData之前,Android上实现网络请求最常用的方式是使用Retrofit+Rxjava。通常是RxJavaCallAdapterFactory将请求转成Observable(或者Flowable等)被观察者对象,调用时通过subscribe方式实现最终的请求。为了实现线程切换,需要将订阅时的线程切换成io线程,请求完成通知被观察者时切换成ui线程。代
- Retrofit+rxjava的封装
Yobin_He
前言基于以下参考进行改良封装一、接入前准备,将下面的依赖导入工程里面implementation'io.reactivex.rxjava2:rxjava:2.1.0'//必要rxjava2依赖implementation'io.reactivex.rxjava2:rxandroid:2.0.1'//必要rxandrroid依赖,切线程时需要用到implementation'com.squareup
- kotlin for android----------MVP模式下(OKHttp和 Retrofit+RxJava)网络请求的两种实现方式
切切歆语
今天要说的干货是:以Kotlin,在MVP模式下(OKHttp和Retrofit+RxJava)网络请求两种实现方式的一个小案例,希望对大家有所帮助,效果图:imageRetrofit是Square公司开发的一款针对Android网络请求的一个当前很流行的网络请求库。可参考博客看详细介绍:Android开发之Retrofit+RxJava的使用完成以上功能需引入:compile"com.andro
- Android 我的Retrofit+Rxjava封装,不搞花里胡俏
Jlanglang
前言从我最开始用rx和retrofit.到现在,快3年了.这个库的内容,算是沉淀下来的东西.个人用这个做过的项目也有很多个了.和项目中用的有点区别.因为不能随便重构的原因,比项目里的更好.哈哈.目录:image初始化:NetWorkManager.init(StringbaseUrl,Applicationcontext)难点1BaseBean:作为一个库,这个类是一个头疼的问题.因为强耦合.我们
- Android 版本更新(AppUpdate)之-Retrofit+RxJava实现
可乐_JS
记录一次最近用Retrofit+RxJava实现的版本更新点击更新,状态栏带有下载进度效果图一、先看一下实现之后的具体使用方式:1.检测是否有更新:/***版本更新检测*/privatevoidcheckAppUpdate(){UpdateCheckUtil.getInstance().checkUpdate(newUpdateCheckUtil.AppUpdateCallback(){@Over
- 利用RxJava避免线程导致的内存泄露问题
amorphousDj
关于内存泄露的文章有很多,比如https://www.jianshu.com/p/ac00e370f83d#是比较优秀的一篇,这里不再重复。导致内存泄露的一个常见可能原因是销毁Activity时尚有耗时线程没有结束。之前公司的网络请求操作利用Retrofit+RxJava进行了高度封装,在访问网络时一般是调用静态方法NetWorks.Post......,在销毁Activity时如果仍在访问网络会
- Android RxJava入门教程 & 简单原理分析
拖鞋王子猪
androidRxjavaandroid
RxJavaGithub地址https://github.com/ReactiveX/RxJavahttps://github.com/ReactiveX/RxAndroidRxJava想必开发的朋友都听过这个框架,而最近几年也是非常的火热,到目前位置已经Version3.x。而做为Android开发的小伙伴,应该是比较熟悉了,retrofit+RxJava做为项目的主框架,实在是太多了,刚好现在
- Retrofit+RXjava购物车
weixin_30420305
移动开发java
导入的依赖compile'com.github.bumptech.glide:glide:3.7.0'compile'com.squareup.okhttp3:okhttp:3.9.0'compile'com.google.code.gson:gson:2.8.1'compile'com.jakewharton:butterknife:8.5.1'annotationProcessor'com.j
- android——retrofit+rxjava超级详细讲解与使用
Lane.Lin
androidandroidjava
在自我学习的过程中,和项目中,使用到了retrofit+rxjava访问接口,记录一下自己的学习过程,可能有不准确或者不到位的地方,请大家多指正,嘻嘻!!!retrofit+rxjava使用一、什么是Retrofit?1、Retrofit的定义2、具体的流程3、Retrofit的作用二、怎么用retrofit?1、在manifest里面添加网络请求2、添加依赖(需要添加okhttp的库和retro
- Retrofit+Rxjava在MVPArms中的简单使用
番茄tomatohui
MVPArmshttps://github.com/JessYanCoding/MVPArms/wiki参考资料:(后边两个比较好理解)https://www.jianshu.com/p/0fda3132cf98https://www.jianshu.com/p/89ce9bf53073https://blog.csdn.net/carson_ho/article/details/73732076
- Android学习纲目5
CarlosLynn
01,(***)git的概念和理解,svn的概念和理解02,(***)轮播图,倒计时03,(***)Retrofit+RxJava,Glide,AVLoadingIndicatorView04,(***)ORM框架-GreenDao05,(***)ButterKnife注解框架06,(***)底部导航BottomBar07,(***)RecyclerView,下拉刷新,上来加载,沉浸式状态栏和渐变
- 带你深入了解官方架构组件LiveData
以帅服人的珂哥
本文只分析Livedata好处、原理实现,用法用处不再赘述(官网啥都有)。官方文档连接(需翻墙)一、LiveData介绍Livedata是Google推荐的Android架构组件之一,是一个存放可被观察的数据持有类,但与一般的被观察者不同的是,它是有生命周期感知功能,解决了android开发者需要去手动处理生命周期的痛点。比如之前用Retrofit+Rxjava处理接口回调数据,需要自己去处理ac
- Android项目使用Protobuf教程(结合Retrofit+RxJava及HttpURLConnection使用)
黄大力的
Android项目使用Protobuf教程(结合Retrofit+RxJava及HttpURLConnection使用)最近项目中使用到了protobuf,但是网上的关于protobuf在android中的使用教程是非常的少,Protobuf结合Retrofit+RxJava使用的教程几乎也没有,即使有相关介绍写得也不够全面,于是才有了这篇相对比较完整的文章(包括服务端和App端代码),希望可以帮
- Android项目基本架构(三) Retrofit + Rx +OkHttp + MVP
WangJie0822
image.png前言好了,接下来就要和大家说说Retrofit+Rx+OkHttp+MVP了,这些都是老套路了,关于Retrofit+Rx的用法,我已经在之前的文章里面讲解过了,不知道的朋友可以先移步看看:Android中用Retrofit+Rxjava搭建网络请求Retrofit的深入使用那么,今天的重点就是MVP模式的构建了。MVP实现关于MVP和MVC相关的概念相信大家都知道,就算不知道的
- 解线性方程组
qiuwanchi
package gaodai.matrix;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Sc
- 在mysql内部存储代码
annan211
性能mysql存储过程触发器
在mysql内部存储代码
在mysql内部存储代码,既有优点也有缺点,而且有人倡导有人反对。
先看优点:
1 她在服务器内部执行,离数据最近,另外在服务器上执行还可以节省带宽和网络延迟。
2 这是一种代码重用。可以方便的统一业务规则,保证某些行为的一致性,所以也可以提供一定的安全性。
3 可以简化代码的维护和版本更新。
4 可以帮助提升安全,比如提供更细
- Android使用Asynchronous Http Client完成登录保存cookie的问题
hotsunshine
android
Asynchronous Http Client是android中非常好的异步请求工具
除了异步之外还有很多封装比如json的处理,cookie的处理
引用
Persistent Cookie Storage with PersistentCookieStore
This library also includes a PersistentCookieStore whi
- java面试题
Array_06
java面试
java面试题
第一,谈谈final, finally, finalize的区别。
final-修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能
- 网站加速
oloz
网站加速
前序:本人菜鸟,此文研究总结来源于互联网上的资料,大牛请勿喷!本人虚心学习,多指教.
1、减小网页体积的大小,尽量采用div+css模式,尽量避免复杂的页面结构,能简约就简约。
2、采用Gzip对网页进行压缩;
GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在Linux中经常会用到后缀为.gz
- 正确书写单例模式
随意而生
java 设计模式 单例
单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。
懒汉式,线程不安全
当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样
- 单例模式
香水浓
java
懒汉 调用getInstance方法时实例化
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static synchronized Singleton getInstance() {
if(null == ins
- 安装Apache问题:系统找不到指定的文件 No installed service named "Apache2"
AdyZhang
apachehttp server
安装Apache问题:系统找不到指定的文件 No installed service named "Apache2"
每次到这一步都很小心防它的端口冲突问题,结果,特意留出来的80端口就是不能用,烦。
解决方法确保几处:
1、停止IIS启动
2、把端口80改成其它 (譬如90,800,,,什么数字都好)
3、防火墙(关掉试试)
在运行处输入 cmd 回车,转到apa
- 如何在android 文件选择器中选择多个图片或者视频?
aijuans
android
我的android app有这样的需求,在进行照片和视频上传的时候,需要一次性的从照片/视频库选择多条进行上传
但是android原生态的sdk中,只能一个一个的进行选择和上传。
我想知道是否有其他的android上传库可以解决这个问题,提供一个多选的功能,可以使checkbox之类的,一次选择多个 处理方法
官方的图片选择器(但是不支持所有版本的androi,只支持API Level
- mysql中查询生日提醒的日期相关的sql
baalwolf
mysql
SELECT sysid,user_name,birthday,listid,userhead_50,CONCAT(YEAR(CURDATE()),DATE_FORMAT(birthday,'-%m-%d')),CURDATE(), dayofyear( CONCAT(YEAR(CURDATE()),DATE_FORMAT(birthday,'-%m-%d')))-dayofyear(
- MongoDB索引文件破坏后导致查询错误的问题
BigBird2012
mongodb
问题描述:
MongoDB在非正常情况下关闭时,可能会导致索引文件破坏,造成数据在更新时没有反映到索引上。
解决方案:
使用脚本,重建MongoDB所有表的索引。
var names = db.getCollectionNames();
for( var i in names ){
var name = names[i];
print(name);
- Javascript Promise
bijian1013
JavaScriptPromise
Parse JavaScript SDK现在提供了支持大多数异步方法的兼容jquery的Promises模式,那么这意味着什么呢,读完下文你就了解了。
一.认识Promises
“Promises”代表着在javascript程序里下一个伟大的范式,但是理解他们为什么如此伟大不是件简
- [Zookeeper学习笔记九]Zookeeper源代码分析之Zookeeper构造过程
bit1129
zookeeper
Zookeeper重载了几个构造函数,其中构造者可以提供参数最多,可定制性最多的构造函数是
public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, long sessionId, byte[] sessionPasswd, boolea
- 【Java命令三】jstack
bit1129
jstack
jstack是用于获得当前运行的Java程序所有的线程的运行情况(thread dump),不同于jmap用于获得memory dump
[hadoop@hadoop sbin]$ jstack
Usage:
jstack [-l] <pid>
(to connect to running process)
jstack -F
- jboss 5.1启停脚本 动静分离部署
ronin47
以前启动jboss,往各种xml配置文件,现只要运行一句脚本即可。start nohup sh /**/run.sh -c servicename -b ip -g clustername -u broatcast jboss.messaging.ServerPeerID=int -Djboss.service.binding.set=p
- UI之如何打磨设计能力?
brotherlamp
UIui教程ui自学ui资料ui视频
在越来越拥挤的初创企业世界里,视觉设计的重要性往往可以与杀手级用户体验比肩。在许多情况下,尤其对于 Web 初创企业而言,这两者都是不可或缺的。前不久我们在《右脑革命:别学编程了,学艺术吧》中也曾发出过重视设计的呼吁。如何才能提高初创企业的设计能力呢?以下是 9 位创始人的体会。
1.找到自己的方式
如果你是设计师,要想提高技能可以去设计博客和展示好设计的网站如D-lists或
- 三色旗算法
bylijinnan
java算法
import java.util.Arrays;
/**
问题:
假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,
您希望将之分类,并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳
子上进行这个动作,而且一次只能调换两个旗子。
网上的解法大多类似:
在一条绳子上移动,在程式中也就意味只能使用一个阵列,而不使用其它的阵列来
- 警告:No configuration found for the specified action: \'s
chiangfai
configuration
1.index.jsp页面form标签未指定namespace属性。
<!--index.jsp代码-->
<%@taglib prefix="s" uri="/struts-tags"%>
...
<s:form action="submit" method="post"&g
- redis -- hash_max_zipmap_entries设置过大有问题
chenchao051
redishash
使用redis时为了使用hash追求更高的内存使用率,我们一般都用hash结构,并且有时候会把hash_max_zipmap_entries这个值设置的很大,很多资料也推荐设置到1000,默认设置为了512,但是这里有个坑
#define ZIPMAP_BIGLEN 254
#define ZIPMAP_END 255
/* Return th
- select into outfile access deny问题
daizj
mysqltxt导出数据到文件
本文转自:http://hatemysql.com/2010/06/29/select-into-outfile-access-deny%E9%97%AE%E9%A2%98/
为应用建立了rnd的帐号,专门为他们查询线上数据库用的,当然,只有他们上了生产网络以后才能连上数据库,安全方面我们还是很注意的,呵呵。
授权的语句如下:
grant select on armory.* to rn
- phpexcel导出excel表简单入门示例
dcj3sjt126com
PHPExcelphpexcel
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Brows
- 美国电影超短200句
dcj3sjt126com
电影
1. I see. 我明白了。2. I quit! 我不干了!3. Let go! 放手!4. Me too. 我也是。5. My god! 天哪!6. No way! 不行!7. Come on. 来吧(赶快)8. Hold on. 等一等。9. I agree。 我同意。10. Not bad. 还不错。11. Not yet. 还没。12. See you. 再见。13. Shut up!
- Java访问远程服务
dyy_gusi
httpclientwebservicegetpost
随着webService的崛起,我们开始中会越来越多的使用到访问远程webService服务。当然对于不同的webService框架一般都有自己的client包供使用,但是如果使用webService框架自己的client包,那么必然需要在自己的代码中引入它的包,如果同时调运了多个不同框架的webService,那么就需要同时引入多个不同的clien
- Maven的settings.xml配置
geeksun
settings.xml
settings.xml是Maven的配置文件,下面解释一下其中的配置含义:
settings.xml存在于两个地方:
1.安装的地方:$M2_HOME/conf/settings.xml
2.用户的目录:${user.home}/.m2/settings.xml
前者又被叫做全局配置,后者被称为用户配置。如果两者都存在,它们的内容将被合并,并且用户范围的settings.xml优先。
- ubuntu的init与系统服务设置
hongtoushizi
ubuntu
转载自:
http://iysm.net/?p=178 init
Init是位于/sbin/init的一个程序,它是在linux下,在系统启动过程中,初始化所有的设备驱动程序和数据结构等之后,由内核启动的一个用户级程序,并由此init程序进而完成系统的启动过程。
ubuntu与传统的linux略有不同,使用upstart完成系统的启动,但表面上仍维持init程序的形式。
运行
- 跟我学Nginx+Lua开发目录贴
jinnianshilongnian
nginxlua
使用Nginx+Lua开发近一年的时间,学习和实践了一些Nginx+Lua开发的架构,为了让更多人使用Nginx+Lua架构开发,利用春节期间总结了一份基本的学习教程,希望对大家有用。也欢迎谈探讨学习一些经验。
目录
第一章 安装Nginx+Lua开发环境
第二章 Nginx+Lua开发入门
第三章 Redis/SSDB+Twemproxy安装与使用
第四章 L
- php位运算符注意事项
home198979
位运算PHP&
$a = $b = $c = 0;
$a & $b = 1;
$b | $c = 1
问a,b,c最终为多少?
当看到这题时,我犯了一个低级错误,误 以为位运算符会改变变量的值。所以得出结果是1 1 0
但是位运算符是不会改变变量的值的,例如:
$a=1;$b=2;
$a&$b;
这样a,b的值不会有任何改变
- Linux shell数组建立和使用技巧
pda158
linux
1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5) [chengmo@centos5 ~]$ echo $a 1 一对括号表示是数组,数组元素用“空格”符号分割开。
2.数组读取与赋值 得到长度: [chengmo@centos5 ~]$ echo ${#a[@]} 5 用${#数组名[@或
- hotspot源码(JDK7)
ol_beta
javaHotSpotjvm
源码结构图,方便理解:
├─agent Serviceab
- Oracle基本事务和ForAll执行批量DML练习
vipbooks
oraclesql
基本事务的使用:
从账户一的余额中转100到账户二的余额中去,如果账户二不存在或账户一中的余额不足100则整笔交易回滚
select * from account;
-- 创建一张账户表
create table account(
-- 账户ID
id number(3) not null,
-- 账户名称
nam