imageMogr2/thumbnail/300x300/interlace/1 在Android中如何使用ProgressiveJpeg 目前,在众多的开源图片加载库中,只有Fresco支持了ProgressiveJpeg...Jpeg ProgressiveJpeg的编码格式非常复杂,但使用渐进式加载,我们并不需要破解它所有的奥秘。...因为不论支不支持渐进式加载,一般的解码器(如Android中的BitmapFactory)一定能够解码出最终完整的Jpeg图片。 那么,为什么它们无法支持渐进式呢。...上面代码中,我们将读到的所有字节都写入了mBaos中。所以,在newScanOrImageEndFound();中我们将mBaos的数据拿出来做处理。...通过这种方法,我们就可以在Android设备上也展现出渐进式加载的效果。是不是很cooool。 但是,这个方法因为会不断地产生byte[]其实非常吃内存。在实际使用中,我们可以考虑限制渐进图片的粒度。
微信公众号:冯文议(ID:fwy-world) HTTP请求,在日常开发中,还是比较常见的,今天给大家分享HttpUtils如何使用。...阅读本文,你将收获: 简单总结HTTP请求常用配置; JavaLib中HttpUtils如何使用; 如何封装HTTP请求工具类。...第一部分:简单总结HTTP请求常用配置 大家好,在 Java 开发中,经常遇到需要调用第三方提供的接口服务,常见的形式是 HTTP + JSON,下面,就对 http 请求常见的设置,做一个说明 http...提供多种请求方式,以满足我们日常需要,先按请求方式来做说明: GET POST PUT PATCH DELETE 在 RESTful API 开发中,我们可以根据这些请求方式设计我们的API接口。...一是,这个还是可以使用的; 二是,原来使用如此简单。
在某些场景中,服务器不需要发送任何内容,在这些场景中就不需要发送ServerKeyExchange消息。 ?...可能是购买的CA证书比较新,Android系统还未信任,也可能是服务器使用的是自签名证书(这个在测试阶段经常遇到)。 ...(4) Android上TLS版本兼容问题 之前在接口联调的过程中,测试那边反馈过一个问题是在Android 4.4以下的系统出现HTTPS请求不成功而在4.4以上的系统上却正常的问题。...但是实际上在API 20+以上才默认开启,4.4以下的版本是无法使用TLS1.1和TLS 1.2的,这也是Android系统的一个bug。 ...(自定义信任的证书集合,并使用客户端证书) makeContextToTrustAll (信任所有的CA证书,不安全,仅供测试阶段使用) (2) 单向验证并自定义信任的证书集合 在App中,把服务端证书放到资源文件下
有关百度地图的使用,(http://lbsyun.baidu.com/index.php?...1.引入百度地图 // 在使用SDK各组件之前初始化context信息,传入ApplicationContext // 注意该方法要再setContentView方法之前实现 SDKInitializer.initialize...就是点击菜单键多出来的三个XX模式(普通,跟随,罗盘) menu/main.xml <item android:id="@+id/normal" android...:id="@+id/compass" android:showAsAction="never" android:title="@string/compass"/> 然后在...onOptionsItemSelected中 case R.id.normal: // 普通态: 更新定位数据时不对地图做任何操作 mode
在Redis中缓存用户Token的推荐方法 推荐使用字符串(String)数据结构 字符串数据结构在Redis中用于存储简单的键值对,是最基本的数据类型。...("Cached Token: " + token); // 打印获取到的Token // 查看Redis的内存使用情况 tokenCache.viewMemoryUsage...// 关闭Redis连接 tokenCache.close(); // 关闭与Redis的连接 } } 数据在redis中的存储情况 Redis数据库 | └...── keyspace (假设所有的键都存储在默认的db 0中) | └── "123" (用户ID作为键) | └── Value: "token_value_here..." (Token字符串作为值) 127.0.0.1:6379> GET 123 "token_value_here" 使用string类型与使用Hash类型的对比表格 数据结构类型 Redis命令 Java
---- 在Android开发中怎样使用Application类 ---- 自己独立开发项目才发现以前对Application类并不是十分了解,现在开始直接搭建一个新项目的框架才重新踩过这个坑。...Application类在项目开发中的使用 首先在项目目录下一个Java类继承Application类,实现是onCreate()方法。...工程可能没有问题,但是在Android里这样说大错特错的。...在控件的构造方法中获取Context或者做其他视图操作 写过Android的同学应该知道自己或者看别人dome都很少或者基本看不到在控件构造函数内进行初始化,获取参数等这些操作吧!...具体原因是在ContextWrapper类的源码中,他有一个attachBaseContext()方法,这个方法会将传入的一个Context参数赋值给mBase对象,之后mBase对象就有值了。
## 关于我 [作者博客|文章首发](http://www.zhouhuibo.club) 过去 .net 最有名望的 ServiceStack.Redis 早已沦为商业用途,在 .NETCore...经过网上的一些整理和推荐,发现了一款开源库CSReidsCore。...CSRedisCore是国人开源的一套Redis操作库,现在最新版本已经V3.6.5,经过几个实际公司项目的使用情况来看,还没有出现什么大的问题,本文主要介绍一下在使用这个库的过程中的一些自己的想法。...: 将实例后的各个RedisDb整合在数组中,单例截注入services ``` var connectionString = "127.0.0.1:6379,password=123,poolsize...,可以参照”Redis多个Db使用“标签进行设置** ## 高级用法 CSRedis的高级用法可以参考这篇文章 [.NETCore 简单且高级的库 csredis v3.0.0](https://www.cnblogs.com
1.先声明: msmq3.0仅在winxp和win2003以上系统支持,如果windows vista系统,据说已经开始支持msmq4.0了 2.为什么要使用http协议发送消息 访问internet...远程发送消息时,msmq2.0以上就已经开始支持tcp方式了,但是如果外网的服务器与发送端之间有防火墙或其它网络设备隔离,或者服务器上的tcp所需要的端口未开放,tcp方式将无法发送,而http协议使用的是默认的...在安装过程中,需要在iis的默认站点(即标识为W3WVC1,msmq在安装中定死了这一标识)中创建msmq的虚拟目录,如果你不幸把iis的默认站点删除了,就无法正确安装msmq3.0的http支持(既使你再新建一个默认站点也没用...(技巧:在iis管理中,右击默认站点-->属性-->网站-->属性-->在弹出对话框最下面的日志文件名W3SVC1529656452\exyymmdd.log,这里的1529656452就是内部标识)...yongfeng,在调试过程中是他给我很多帮助。
在某些数据变化时,其他的类做出一些响应。处理数据(或者分发事件)的类主动投送消息,感兴趣的类主动“订阅”消息。 监听者模式在Android中有大量的运用,相信大家都不会感到陌生。...在Android开发中,Button控件的点击事件就是监听者模式最常见的例子。 当Button被点击,执行了 OnClickListener.onClick。...我们可以把复杂的算法封装起来,客户端只需要传入数据,即可获得(监听到)结果。 很多场景中都使用了监听者模式。开发者也可能在不知不觉中就运用了这个模式。...Android中使用监听器 最常见的例子是给Button设置点击事件监听器。 类似上个例子,设计一个接口当做监听器。Android中回调时可以利用handler,控制调用的线程。...private Handler mMainHandler; mMainHandler = new Handler(Looper.getMainLooper());// 在主线程中运行 private
一开始在Android,对我来说它是一个有规则个字符串。 当我深入JavaScript后,感觉它越来越有意思,当成一个对象来用,属性、方法都能往里塞。...当接触SpringBoot并上手后,Json又成了url访问后操作数据库返回的数。 到MongoDb后,哪哪都是Json,然后总结:Json是一中非常好用的数据存储格式。...*/ private boolean isMan; /** * 主要技能 */ private List major; 2.使用JSONObject...return gson.fromJson(Json, Person.class); } Json解析.png 关于日期 private Date birthday;//将日期改为Date类型 Json中使用字符串...tel=18715078974 返回内容就包括json,我们可以请求网络,获取数据,解析出来,在本地显示。
前言 经常我们会有这样的需求,B页面操作后,要求A页面处理相关数据,像这样一般我们都是,要么B页面保留A页面的引用,要么使用广播,但是写起来还是想对麻烦的,用Rxbus就可以很容易和优雅的解决 相同功能的组件用的比较多的有...Otto(不再维护不推荐使用)和EventBus 如果我们的项目使用Rxjava的话 我就比较推荐用Rxbus了 如果项目中没有使用Rxjava 那还是使用EventBus 吧 毕竟Rxbus...只有500+的Star 而EventBus可是1W+ 而且Rxbus`很多地方还不完善 使用 总的来说 我们要做的无外乎两件事:发送事件 和 接受事件 但是接受事件的对象一定要先注册到Rxbus中...发送事件有两种方式一种为 方式1 自动发送事件 @Produce( thread = EventThread.IO, tags = {...>(); words.add("好好学习"); words.add("天天向上"); return words; } 可以看出我们加了Produce注解 加了这个注解就会在注册的时候发送事件
Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时...在特定场合下,并不是所有类型都被使用,如果没有被使用,可以用java.lang.Void类型代替。...在使用的时候,有几点需要格外注意: 1.异步任务的实例必须在UI线程中创建。 2.execute(Params... params)方法必须在UI线程中调用。...PENDING,代表待定状态,RUNNING代表执行状态,FINISHED代表结束状态,这几种状态在AsyncTask一次生命周期内的很多地方被使用,非常重要。...mFuture实例对象的done()方法中,如果捕捉到了CancellationException类型的异常,则发送一条“MESSAGE_POST_CANCEL”的消息;如果顺利执行,则发送一条“MESSAGE_POST_RESULT
不常用的可以在官网中查询如何使用。 java -jar proguard.jar @myconfig.pro Filter 每一个类、属性、方法都会有一个全名,例如java.lang.String。...而我们也可以通过正则表达式来过滤我们所需要的名称。 ?:在class中匹配任意的单个字符 例如:mypackage.Test?...例如:**.Test可以匹配除了根目录下所有包名下的Test类。mypackage.**则可以匹配所有在mypackage和它子目录的所有类 而Fields和Methods与Java中类似。...这些文件不会被打包到output jar包中。指定的Library应该至少包含一个Class文件被Application Class文件中使用extended继承了。...的使用
操作符 则是把发布者的数据进行处理,再给订阅者 ---- 在发布者和订阅者之间传递的事件总共有三种 onNext(): 发送事件的数据 onCompleted(): 事件队列完结。...在一个正确运行的事件序列中, onCompleted() 和 onError() 有且只有一个,并且是事件序列中的最后一个。...的性能较高 Single: 和Observable,Flowable一样会发送数据,不同的是订阅后只能接受到一次 普通Observable可以使用toSingle转换:Observable.just...看上去是发布者订阅了订阅者,之所以这样是因为链式代码的优雅 线程(Scheduler) 常用的方式是分线程中处理数据,主线程中使用数据生成页面 Observable .create(new ObservableOnSubscribe...而不是错误的前一个事件 Android中应用 添加依赖 implementation 'io.reactivex.rxjava2:rxandroid:2.0.2' implementation
Android中的drawable resource的属性太多,进阶路上必须要记住啊 看了下面的一段code就明白了: 的意思 android:color 指定填充的颜色 gradient 渐变 android:startColor 起始颜色 android...android:gradientRadius="50") stroke 描边 android:width="2dp" 描边的宽度 android:color...我们还可以把描边弄成虚线的形式,设置方式为: android:dashWidth="5dp" 表示'-'这样一个横线的宽度 android:dashGap="3dp..." 表示之间隔开的距离 corners 圆角 android:radius 为角的弧度,值越大角越圆。
Android的奇淫巧技 Application ---- 最近项目太紧,都没时间总结写下自己的开发路上的技术心得了。是时候调整下自己的工作和学习节奏了。...接着上次总结的Application类的实际项目使用Android开发中怎样使用Application类,最近我又发现了一个取巧的使用方法,给想要快速开发的同学分享下心得,也是给大家多提供一个思路吧。...实例类的单例对象 这个才是今天我主要想说的,在import中通过static关键字引入Application实例,工具类和帮助类中的大量方法中就不用大量依赖Context类做传入处理了。...第二种方法当然在设计模式上有耦合度很高的缺点,导致这些工具类都要依赖App类,但是在Android开发中,这个你可以封装一个BaseApplication的Application的基础类来,让其他的Application...由于笔者感觉理论上完全可以,而且是真的方便,但是毕竟我也还是用这个思路在试用阶段,没有经过大量的项目实践检验,所有大家如果用这种方法遇到坑请给我留言注意一下。
日常的总结,留作备忘。 Protobuf是一种灵活高效可序列化的数据协议,相于XML,具有更快、更简单、更轻量级等特性。...使用Android studio3.2,在gradle中中配置: 在project的bulid.gradle中增加: classpath 'com.google.protobuf:protobuf-gradle-plugin...在APP目录下的buid.gradle中,增加: apply plugin: 'com.google.protobuf' android { sourceSets { main {.../main的目录下,建立文件夹proto,所有的proto文件,放置在这里。...最后给个使用的demo,序列化和反序列化: package com.newcapec.testsqllite.protobuf; import com.google.protobuf.InvalidProtocolBufferException
如果想改变AVD的路径设置,也有2个办法 解决办法一: 新添加一个环境变量,名字为 "ANDROID_SDK_HOME”,然后把变量值改为你想将".android”文件夹(AVD信息)所放置的位置...解决办法二: 修改配置文件中的路径,比如我的AVD名称是MyAVD, 打开 C:\Documents and Settings\Administrator\.android\avd...目录中的文件MyAVD.ini文件,找到 target=android-5path =C:\Documents and Settings\Administrator...\.android\avd\MyAVD.avd 修改其路径即可 若遇到ERROR: unknown virtual device name 这样的问题一般是由于AVD文件路径引用错误造成的。...D盘,(win7)右键点击我的电脑-属性-高级系统设置-环境变量,在系统变量里边新建,变量名为ANDROID_SDK_HOME,变量值为“D:\”(把虚拟机放到d盘),这样就可以了,重启eclipse把原来的建的虚拟设备都删了新建就可以了
'io.reactivex.rxjava2:rxandroid:2.0.2' implementation 'io.reactivex.rxjava2:rxjava:2.1.10' Github地址 使用...TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe { } 多线程 常用的方式是分线程中处理数据...,主线程中使用数据生成页面 Kotlin Observable .create> { source -> var treeList
记得第一次接触网络是在高二的时候(2011年),那时候手机还是键盘式的,貌似每月有100M流量 印象很深,当时用手机上网查了"GPRS流量"是什么意思?...高考之后(2012年)的暑假,在一个好友家里建了一个QQ号,起名"张风杰特烈"(后更名"张风捷特烈") 从此之后我的手机基本和打电话,发短信无缘了。可以说是打开了新世界的大门吧。...一年前还是个连流量都不知道是什么的人,却能在短时间内融入这个网络时代,也许就是年轻人的优势吧 很快,QQ就支持视频通话了,那遥不可及的梦如梦般降临,而我就这么幸运的站在梦中 由于我的专业需要使用很多软件...经历几次后,感觉也看淡了,都是些数据而已,也没必要去较真,也就不玩游戏了 4.真正踏入网络时代 作为一名使用者,我可以贪婪的享受着网络中的一切便利,但我越来越感到,只是这样是不够的 网络对我来说仅是一个黑盒...数据在流动中加工,反馈,展现 通过前端、后端、移动端的涉猎,基本明白了是怎么回事。
领取专属 10元无门槛券
手把手带您无忧上云