网络请求
来源:互联网 发布:舔美网络大v 编辑:程序博客网 时间:2024/06/14 16:33
首先先导包
这里写代码片compile 'com.squareup.retrofit2:retrofit:2.0.1' compile 'com.google.code.gson:gson:2.8.0' compile 'com.squareup.okio:okio:1.5.0' compile 'com.squareup.okhttp3:okhttp:3.2.0' compile 'io.reactivex:rxandroid:1.1.0' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1' compile 'com.squareup.retrofit2:converter-gson:2.0.1' compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
封装
这里写代码片import android.util.Log;import java.util.concurrent.TimeUnit;import okhttp3.OkHttpClient;import okhttp3.logging.HttpLoggingInterceptor;import retrofit2.Retrofit;import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;import retrofit2.converter.gson.GsonConverterFactory;public class RetrofitUtils { private static RetrofitUtils retrofitUtils; private RetrofitUtils(){ } public static RetrofitUtils getInstance(){ if(retrofitUtils==null){ synchronized (RetrofitUtils.class){ if(retrofitUtils==null){ retrofitUtils=new RetrofitUtils(); } } } return retrofitUtils; } private static Retrofit retrofit; public static synchronized Retrofit getRetrofit(String url){ HttpLoggingInterceptor httpLoggingInterceptor=new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() { @Override public void log(String message) { Log.i("xxx",message); } }); httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY); OkHttpClient okHttpClient=new OkHttpClient.Builder() .addInterceptor(httpLoggingInterceptor)//拦截器 .connectTimeout(5000, TimeUnit.SECONDS) .readTimeout(5000,TimeUnit.SECONDS) .retryOnConnectionFailure(false) .build(); if(retrofit==null){ retrofit=new Retrofit.Builder().baseUrl(url) .client(okHttpClient) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build(); } return retrofit; } public <T>T getApiService(String url,Class<T> cl){ Retrofit retrofit = getRetrofit(url);//得到retrofit return retrofit.create(cl);//返回的就是网络接口对象 }
Retrofit retrofit = RetrofitUtils.getRetrofit(Api.url); ApiService apiService = retrofit.create(ApiService.class); Observable<LeftBean> observable = apiService.getHasParams(); observable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .map(new Func1<LeftBean, LeftBean>() { @Override public LeftBean call(LeftBean leftBean) { return leftBean; } }).subscribe(new Subscriber<LeftBean>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(LeftBean leftBean) { iFragment02Model.onSuccess(leftBean); } });
图片分割
String images = dataBean.getImages(); String[] imgArr = images.split("!"); Picasso.with(context).load(imgArr[0]).into(myListViewHolder.list_iv);
recyclerview 点击事件
private OnItemListener onItemListener; public interface OnItemListener{ public void onItemClick(FenleiZuoBean.DatasBean.ClassListBean bean); } public void setonItemListen(OnItemListener onItemListener){ this.onItemListener = onItemListener; }viewHolder.ll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(onItemListener != null){ onItemListener.onItemClick(list.get(position)); } } });
视频播放
先导依赖
compile 'com.github.leifzhang:IjkLib:0.4.3'
布局文件
<tv.danmaku.ijk.media.widget.media.IjkVideoView android:id="@+id/ijkpayer" android:layout_width="match_parent" android:layout_height="300dp" android:layout_gravity="center"></tv.danmaku.ijk.media.widget.media.IjkVideoView>
代码
IjkMediaPlayer.loadLibrariesOnce(null); IjkMediaPlayer.native_profileBegin("libijkplayer.so"); AndroidMediaController controller = new AndroidMediaController(getActivity(), false); mIjkpayer.setMediaController(controller); String url = "https://wdl.wallstreetcn.com/41aae4d2-390a-48ff-9230-ee865552e72d"; // String url = "http://o6wf52jln.bkt.clouddn.com/演员.mp3"; mIjkpayer.setVideoURI(Uri.parse(url)); mIjkpayer.start();
阅读全文
0 0
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 图像锐化处理
- 三年时光或许被学校糟蹋了
- 队花的烦恼一
- Windows下用命令行导出导入MySQL数据库
- 云星数据---Apache Flink实战系列(精品版)】:Flink流处理API详解与编程实战006-DataStream与MySql自定义sink和source(Scala版)001
- 网络请求
- JavaScript在XHTML中的用法
- linux(centos7) 用户和组
- 飞洒
- 2017年第31届中原医疗器械(春季)展示会会刊(参展商名录)
- 变量的自动初始化
- 国王的魔镜
- java mail邮箱验证
- 巧用Qt 设计师(Designer)提高工作效率之切换设计师控件显示模式