高级思路

一、OKHttp

1.OK get 异步请求

①获取ok对象

②获取request对象

③获取call对象

④call执行请求

2.ok post异步请求

①获取ok对象

②创建请求体

③获取request对象

④获取call对象

⑤call执行请求

3.请求体

①string:RequestBody.create(type,"");

②stream:new RequestBody()

③form:FormBody.builder().build();

④file

4.请求头、缓存、超时

请求头:reques.header() request.addHeader()

缓存:okHttpClient.cacha(new Cache(file,time))

超时:ok.timeout()

二、Retrofit

retrofit使用步骤

①创建接口服务类:baseURL和方法,添加依赖

②创建retrofit对象

③通过retrofit对象获取接口服务对象

④接口服务对象调用自己的方法

⑤通过call执行请求



//其他注解

1.@GET

Call get5(@Url() String url);

2.@GET

Call get6(@Url() String url,@Query("stage_id") String stage_id,@Query("limit") String limit,@Query("page") String page);

3.@GET("{dish_list}.php?stage_id=1&limit=20&page=1")

Call get7(@Path("dish_list") String dish_list);

4.@POST("dish_list.php")

@Headers("Content-Type:application/json")

Call post4(@Body RequestBody requestBody);

5.@POST

@Headers("Content-Type:application/json")

Call post5(@Url String url,@Body RequestBody requestBody);

6.@POST

Call post6(@Url String url,@Body RequestBody requestBody,@Header("Content-Type")String type);


三、数据库

SQL语句

①分类

②SQL语句

③查询、模糊查询

④排序

⑤聚合函数

⑥分组

四、 Greendao

Greendao配置

1.实体类

2.工程的Grid里面有两个地方需要配置

3.项目的Grid里面有三项

双检锁单例模式:得到表对象

获取整个App的上下文

使用Greendao实现增删改查

五.广播

1.自定义recerver继承BroadcastReceiver

2.获得广播对象

3.添加过滤器(IntentFilter intentFilter =new IntentFilter();)

4.注册广播(registerReceiver)

5.销毁onpuse

六.MVP


七、架构模式

架构模式有几类

MVC、MVP、MVP

MVC:Model 、View、Controller

MVP:Model、View、Presenter

MVP原理:用户触碰界面触发事件,View层把事件通知Presenter层,Presenter层通知Model层处理这个事件,Model层处理后把结果发送到Presenter层,Presenter层再通知View层,最后View层做出改变。

八、注解

Butterknife:通过注解的方式找资源

①添加依赖

②添加插件

③使用

EventBus:事件总线

①添加依赖

②注册、解注册Eventbus,接受事件的方法

③发送事件

注意

①普通事件粘性事件

②粘性事件:发送Eventbus.postAticky、接受方法注解中必须sticky=true

九.Glide

本地图片,网络图片

1.添加依赖:implementation 'com.github.bumptech.glide:glide:4.8.0'

添加网络权限:<uses-permission android:name="android.permission.INTERNET"/>

2.禁止图片变换dontTransform()

3.圆行图片

RequestOptions requestOptions =new RequestOptions();

requestOptions.circleCrop();

4.圆角图片

RoundedCorners roundedCorners =new RoundedCorners(8);

requestOptions.transform(roundedCorners);

5.图片的大小

requestOptions.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC);

requestOptions.override(100,100);

6.下载展示图片

'''

private void downlode() {

new Thread(new Runnable() {

@Override

        public void run() {

FutureTarget fileFutureTarget = Glide.with(MainActivity.this)

.load(netUrl)

.downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL);

try {

file = fileFutureTarget.get();

Log.e("TAG","file:"+file.getAbsolutePath());

}catch (ExecutionException e) {

e.printStackTrace();

}catch (InterruptedException e) {

e.printStackTrace();

}

}

}).start();

}

Glide.with(MainActivity.this).load(file).into(iv1);

'''

6.图片虚化

RequestOptions bitmapTransform = requestOptions.bitmapTransform(new BlurTransformation());

7.黑白化图片

'''

RequestOptions transform = requestOptions.bitmapTransform(new GrayscaleTransformation());

Glide.with(this) .asBitmap()//使图片禁止状态   .load(netUrl).apply(bitmapTransform).into(iv1);'''

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、OKHttp OK get 异步请求①获取ok对象②获取request对象③获取call对象④call执行请求...
    Anwfly阅读 736评论 0 2
  • 原来公司用的是OKGO来加载网络,现在全部替换为Retrofit了,用起来挺不适应的,现在我负责的模块代码中网络数...
    SHERLOCKvv阅读 131,828评论 27 219
  • Retrofit 实际上并不能说是一个网络请求框架,它其实是对 okHttp 这个网络请求框架在接口层面的封装,网...
    EmanLu阅读 1,083评论 0 2
  • 要在那一片黄里,捡出一片最完美的银杏叶子,不是一件容易的事情。而要在一张合影里,找出一群笑容可掬的慢友,却是轻而易...
    慢生活甄选阅读 837评论 1 4
  • 早起空腹数据 早餐 午餐:涮羊肉,半碗菜和肉 加餐:一个猕猴桃 晚餐
    CandySn阅读 198评论 0 0