Retrofit用法
Retrofit 是一个 RESTful 的 HTTP 网络请求框架的封装,网络请求的工作本质上是 OkHttp 完成,而 Retrofit 仅负责 网络请求接口的封装
添加依赖12345implementation 'com.squareup.retrofit2:retrofit:2.9.0'//implementation 'com.squareup.retrofit2:converter-gson:2.9.0'//retrofit gson支持库implementation 'com.squareup.retrofit2:adapter-rxjava2:2.9.0'//retrofit rxJava支持库implementation 'com.google.code.gson:gson:2.8.9'//gson
创建接口Retrofit将 Http请求 抽象成 Java接口:采用 注解 描述网络请求参数 和配置网络请求参数
1234567891011public interface GetReques ...
关于MediaType
MediaType对象解析MediaType:决定浏览器将以什么形式、什么编码对资源进行解析Content-Type:也属于MediaType媒体类型,主要用于在请求头中指定资源的MediaType
MediaType对象包含了三种信息:type 、subtype以及charset比如 "text/x-markdown; charset=utf-8"
type值是text,表示是文本这一大类;
subtype是/后面的x-markdown,表示是文本这一大类下的markdown这一小类;
charset=utf-8 则表示采用UTF-8编码。
MediaType类型
类型
描述
text/html
HTML格式
text/plain
纯文本格式,空格转换为 “+” 加号,但不对特殊字符编码
text/html
HTML格式
text/plain
纯文本格式,空格转换为 “+” 加号,但不对特殊字符编码
text/xml
XML格式
text/x-markdown
Markdown格式
image/gif
gif图片格式
im ...
OkHttp用法
基本使用首先记得在build.gradle 和 配置文件分别加上依赖 和 网络权限
1implementation 'com.squareup.okhttp3:okhttp:4.8.1'
1<uses-permission android:name="android.permission.INTERNET"/>
OkHttp采用建造者模式设计,使用很方便
异步Get请求
构造Request对象;
new OkHttpClient;
通过前两步中的对象构建Call对象;
通过Call#enqueue(Callback)方法来提交异步请求;
1234567891011121314151617181920String url = "http://wwww.baidu.com";final Request request = new Request.Builder() .url(url) .get()//默认就是GET请求,可以不写 .build();//创建一个http客户端对 ...
EventBus用法
EventBus 简介EventBus是一种用于Android的事件发布-订阅总线,由GreenRobot开发,Gihub地址是:EventBus。它简化了应用程序内各个组件之间进行通信的复杂度,尤其是碎片之间进行通信的问题,可以避免由于使用广播通信而带来的诸多不便。
三个角色
Event:事件,它可以是任意类型,EventBus会根据事件类型进行全局的通知。
Subscriber:事件订阅者,在EventBus 3.0之前我们必须定义以onEvent开头的那几个方法,分别是onEvent、onEventMainThread、onEventBackgroundThread和onEventAsync,而在3.0之后事件处理的方法名可以随意取,不过需要加上注解@subscribe,并且指定线程模型,默认是POSTING。
Publisher:事件的发布者,可以在任意线程里发布事件。一般情况下,使用EventBus.getDefault()就可以得到一个EventBus对象,然后再调用post(Object)方法即可。
四种线程模型EventBus3.0有四种线程模型,分别是:
POST ...
GreenDao用法
GreenDao 优点:
性能高,号称Android最快的关系型数据库
内存占用小
库文件比较小,小于100K,编译时间低,而且可以避免65K方法限制
支持数据库加密 greendao支持SQLCipher进行数据库加密
Sqlite采用SQLCipher数据库加密实战
简洁易用的API
GreenDao 3.0使用方式添加配置在project build.gradle 加入
12345678910111213buildscript { repositories { mavenCentral()//GreenDao仓库 其他源也可以 } dependencies { classpath "com.android.tools.build:gradle:4.0.1" //GreenDao classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'//GreenDao / ...
MySQL root用户解除限制
以Linux为例:
1234567$ mysql -u root -pEnter password:{password}mysql>use mysql;mysql>update user set host='%' where user='root';mysql>flush privileges;mysql>quit
MultiType中实现单类型多样式布局
基于 MultiType(RecyclerView多类型适配器)
1implementation 'me.drakeet.multitype:multitype:3.5.0'
创建含有type的Bean类(type可替换为具有区分度的参数)
1234567891011121314151617181920public class ChatMsg { private String msg; private int type; public void setMsg(String msg) { this.msg = msg; } public String getMsg() { return msg; } public void setType(int type) { this.type = type; } public int getType() { return type ...
不透明度 16进制表示
不透明度
16进制值
100%
FF 不透明
95%
F2
90%
E6
85%
D9
80%
CC
75%
BF
70%
B3
65%
A6
60%
99
55%
8C
50%
80 半透明
45%
73
40%
66
35%
59
30%
4D
25%
40
20%
33
15%
26
10%
1A
5%
0D
0%
00 全透明
第一个博客起好了233
一开始想搞WordPress,结果遇到了成吨的坑,然后从团子那里了解并且搞成了Hexo。不用起服务器还是挺香的23333毕竟没有后台项目,不然空烧服务器也太浪费了。