本文想阐述一下当你开发Android应用并采用RxJava作为你的架构,尤其是有关网络请求时最常见的三种场景。 我使用Retrofit来作为网络层,简单的内存缓存-HashMap来做缓存,也可以使用Room或者其他数据库…
分类:移动开发
Android使用Fragment的懒加载
之前一直想过使用懒加载,但是自己又比较懒惰,不想去看怎么实现的,就直接使用了别人写好的或者说是封装好的,拿来直接使用了. 一般我们会使用viewpager+fragment来实现一些界面操作; 但是我们希望在actvii…
Android加载圆角图片、圆形图片的三种方式
方式一:使用 【RoundedBitmapDrawable】 这个类RoundedBitmapDrawable 位于 android .support.v4.graphics.drawable 有了它,显示圆角和圆形图片…
socket通讯原理以及tcp、ip三次握手机制
TCP和UDP,前者可以保证数据的正确和可靠性,后者则允许数据丢失。在建立连接前,必须知道对方的IP地址和端口号。 1。一个指定的端口号不能被多个程序共用。 2。很多防火墙只允许特定目标端口的数据包通过。 3。服务程序在…
安卓架构分层
原文已删除。内容都包含在下边的链接中。 实践总结:搭建安卓应用架构的方法
10.Formatting Axis Values (AxisValueFormatter)(MPAndroidChart中文翻译)
目录 第8节.Setting Colors(MPAndroidChart中文翻译) 第9节.Formatting Data Values (ValueFormatter)(MPAndroidChart中文翻译) 第10节…
Android 不得不知 之 Chronometer
/** * 计时开始 */ public void onTimeStart() { tvOnCalloutTime.setBase(SystemClock.elapsedRealtime()); tvOnCalloutT…
What's New in Kotlin 1.1
JavaScript Starting with Kotlin 1.1, the JavaScript target is no longer considered experimental. All language …
kotlin使用Dagger2
Dagger2有Google接手开发的一个基于JSR-330标准的依赖注入框架,它会在编译期间自动生成相关代码,负责依赖对象的创建,达到解耦目的。 kotlin中配置Dagger2 在app模块的build.gradle…
Android 随意改变Dialog大小
dialog要改变其在window中的大小不同于普通的view,下面直接上代码 //在dialog.show()之后调用 public static void setDialogWindowAttr(Dialog dlg…
044android初级篇之android app中的权限及自定义权限
自定义权限的声明 如果自定义的软件中因对外提供什么服务,而想声明一个权限,来限制此服务的使用,可以在Manifest中,声明权限。 以launcher2程序的访问provider的权限为例子: 在application …
如何修改Android Studio的Gradle版本
Android Studio 编译的时候报以下错误: What went wrong: A problem occurred evaluating project ‘:app’. Failed t…