一、OkHttp

导入ok依赖: implementation 'com.squareup.okhttp3:okhttp:3.12.0'

get异步:

①创建OKhttpclient对象  new OkHttpClient.Builder().build();

②构建请求对象  new Request.Builder().get().url(url).build();

③获取call对象  okHttpClient.newCall(request);

④call执行请求  call.enqueue(new Callback() {}

post异步:

①创建OKhttpclient  对象new OkHttpClient.Builder().build();

②创建请求体  new FormBody.Builder().add("stage_id", "1").build();

③构建请求对象  new Request.Builder().url(url+from).post(body).build();

④获取call对象  okHttpClient.newCall(request);

⑤call执行请求  call.enqueue(new Callback() {}

请求体

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

②stream:new RequestBody()

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

④file

请求头、缓存、超时

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

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

超时:ok.timeout()

二、Retrofit

依赖  implementation 'com.squareup.retrofit2:retrofit:2.5.0'

retrofit使用步骤

①创建接口服务类:baseURL和方法

②创建retrofit对象 new Retrofit.Builder().baseUrl"("ApiService.baseUrl").build();

③通过retrofit对象获取接口服务对象 retrofit.create(ApiService.class);

④接口服务对象调用自己的方法 apiService.get();

⑤通过call执行请求 call.enqueue(new Callback() {}

三、GreenDao

1:在project (build.gradle)版本号后

classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin

——同步

2.在Module  (build.gradle)第二行添加

apply plugin: 'org.greenrobot.greendao' // apply plugin 步骤3

——同步

3.在Module  (build.gradle)'proguard-rules.pro'两个大括号后添加

greendao {

        //数据库版本号,升级时修改

        schemaVersion 1

        //生成的DAO,DaoMaster和DaoSession的包路径。默认与表实体所在的包路径相同

        daoPackage 'com.example.dao.db'

        //生成源文件的路径。默认源文件目录是在build目录中的(build/generated/source/greendao)

    }

    compileOptions {

        sourceCompatibility JavaVersion.VERSION_1_8

        targetCompatibility JavaVersion.VERSION_1_8

    }

——同步

4.在Module  (build.gradle)添加依赖

//    //greenDAO配置  步骤4

    implementation 'org.greenrobot:greendao:3.2.2' // add library

    implementation 'org.greenrobot:greendao-generator:3.2.2'

——同步

5.创建Bean

添加注释@Entity  @Id

编译  得到 @Generated(hash = 1644894640)  @Generated(hash = 1438189893)  随机


四.数据库

1.GreenDao三步走一样

2.判断是否有值

privatebooleanisHased(SqlBean sqlBean){List<SqlBean>list=sqlBeanDao.queryBuilder().where(SqlBeanDao.Properties.Title.eq(sqlBean.getTitle())).list();if(list.size()>0){returntrue;}else{returnfalse;}}

3.新的增删改查

publiclonginsert(SqlBean sqlBean){if(!isHased(sqlBean)){longl=sqlBeanDao.insertOrReplace(sqlBean);returnl;}else{return-1;}}publicbooleandelete(SqlBean sqlBean){if(isHased(sqlBean)){sqlBeanDao.delete(sqlBean);returntrue;}else{returnfalse;}}publicList<SqlBean>query(){List<SqlBean>list=sqlBeanDao.queryBuilder().list();returnlist;}publicbooleanupdate(SqlBean sqlBean){if(isHased(sqlBean)){sqlBeanDao.update(sqlBean);returntrue;}else{returnfalse;}}

4.懒加载

publicvoidsetUserVisibleHint(booleanisVisibleToUser){super.setUserVisibleHint(isVisibleToUser);if(isVisibleToUser){initData();}else{if(lists!=null&&lists.size()>0){lists.clear();}}}

5.在适配器里可以写一个方法,fragment直接调方法即可

publicvoidupdataData(List<SqlBean>data){lists.clear();if(data!=null){lists.addAll(data);}notifyDataSetChanged();}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容