From f73880e9f515491815ead029ea8279d8c4e36132 Mon Sep 17 00:00:00 2001 From: LiuJ <472530498@qq.com> Date: Tue, 5 Mar 2019 16:41:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=B7=E6=B1=82=E5=9B=BE=E7=89=87=E5=92=8C?= =?UTF-8?q?=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/caches/gradle_models.ser | Bin 0 -> 231019 bytes .idea/gradle.xml | 9 +-- .idea/misc.xml | 34 ++--------- app/build.gradle | 14 +++++ app/src/main/AndroidManifest.xml | 21 ++++--- .../a47253/tvproject/adapter/GridAdapter.java | 6 +- .../a47253/tvproject/bean/ResponseBean.java | 40 ++++++++++++ .../mvp/view/activity/VideoMainActivity.java | 57 ++++++++++++++++-- .../tvproject/retrofit/VideoRequest.java | 12 ++++ .../tvproject/utils/NetWorkManager.java | 44 ++++++++++++++ .../layout/tv_video_grid.xml | 1 + build.gradle | 2 +- git | 0 gradle/wrapper/gradle-wrapper.properties | 3 +- 14 files changed, 189 insertions(+), 54 deletions(-) create mode 100644 .idea/caches/gradle_models.ser create mode 100644 app/src/main/java/com/example/a47253/tvproject/bean/ResponseBean.java create mode 100644 app/src/main/java/com/example/a47253/tvproject/retrofit/VideoRequest.java create mode 100644 app/src/main/java/com/example/a47253/tvproject/utils/NetWorkManager.java create mode 100644 git diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser new file mode 100644 index 0000000000000000000000000000000000000000..d7c8f6b1fdb6d004558a122d9f736e2426ce9dd7 GIT binary patch literal 231019 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 literal 0 HcmV?d00001 diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 7ac24c7..2996d53 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -3,14 +3,11 @@ diff --git a/.idea/misc.xml b/.idea/misc.xml index e0d5b93..703e5d4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,35 +1,11 @@ - - - + + + + - + diff --git a/app/build.gradle b/app/build.gradle index 4dad04c..e8a3400 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -27,6 +27,11 @@ android { jniLibs.srcDirs = ['libs'] } } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } dependencies { @@ -41,4 +46,13 @@ dependencies { annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1' implementation 'com.shuyu:GSYVideoPlayer:6.0.1' implementation 'com.android.support:percent:28.0.0-alpha1' + // https://mvnrepository.com/artifact/com.google.code.gson/gson + implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5' + /*网络请求体系 Retrofit + Rxjava*/ + implementation 'com.squareup.retrofit2:retrofit:2.5.0' + implementation 'com.squareup.retrofit2:converter-gson:2.5.0'// 序列化解析器 + implementation "io.reactivex.rxjava2:rxjava:2.1.0" // 必要rxjava2依赖 + implementation "io.reactivex.rxjava2:rxandroid:2.0.1" // 必要rxandrroid依赖,切线程时需要用到 + implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0' // 必要依赖,和Rxjava结合必须用到,下面会提到 + implementation 'com.squareup.okhttp3:okhttp:3.13.1'// } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3524884..880d87f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,6 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" package="com.example.a47253.tvproject"> + @@ -20,11 +21,11 @@ android:banner = "@drawable/banner"> - - - - - + + + + + - - - - - + + + + + diff --git a/app/src/main/java/com/example/a47253/tvproject/adapter/GridAdapter.java b/app/src/main/java/com/example/a47253/tvproject/adapter/GridAdapter.java index 60413eb..1186b6a 100644 --- a/app/src/main/java/com/example/a47253/tvproject/adapter/GridAdapter.java +++ b/app/src/main/java/com/example/a47253/tvproject/adapter/GridAdapter.java @@ -11,6 +11,7 @@ import android.widget.AdapterView; import android.widget.TextView; +import com.bumptech.glide.Glide; import com.example.a47253.tvproject.R; import com.example.a47253.tvproject.bean.PosterBean; @@ -43,8 +44,9 @@ public void onBindViewHolder(@NonNull GridAdapter.ViewHolder viewHolder, int i) PosterBean object = (PosterBean)list.get(i); viewHolder.poster_name.setText(object.getPosterName()); FileInputStream in = null; - Bitmap bitmap = BitmapFactory.decodeResource(viewHolder.itemView.getResources(), R.drawable.poster); - viewHolder.poster.setImageBitmap(bitmap); + Glide.with(viewHolder.itemView.getContext()).load(object.getPosterUrl()).into(viewHolder.poster); +// Bitmap bitmap = BitmapFactory.decodeResource(viewHolder.itemView.getResources(), R.drawable.poster); +// viewHolder.poster.setImageBitmap(bitmap); } @Override diff --git a/app/src/main/java/com/example/a47253/tvproject/bean/ResponseBean.java b/app/src/main/java/com/example/a47253/tvproject/bean/ResponseBean.java new file mode 100644 index 0000000..e33db98 --- /dev/null +++ b/app/src/main/java/com/example/a47253/tvproject/bean/ResponseBean.java @@ -0,0 +1,40 @@ +package com.example.a47253.tvproject.bean; + +public class ResponseBean { + private String resultCode; + private String resultMsg; + private Object data; + + public ResponseBean() { + } + + public ResponseBean(String resultCode, String resultMsg, Object data) { + this.resultCode = resultCode; + this.resultMsg = resultMsg; + this.data = data; + } + + public String getResultCode() { + return resultCode; + } + + public void setResultCode(String resultCode) { + this.resultCode = resultCode; + } + + public String getResultMsg() { + return resultMsg; + } + + public void setResultMsg(String resultMsg) { + this.resultMsg = resultMsg; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } +} diff --git a/app/src/main/java/com/example/a47253/tvproject/mvp/view/activity/VideoMainActivity.java b/app/src/main/java/com/example/a47253/tvproject/mvp/view/activity/VideoMainActivity.java index 13cb6cd..356de25 100644 --- a/app/src/main/java/com/example/a47253/tvproject/mvp/view/activity/VideoMainActivity.java +++ b/app/src/main/java/com/example/a47253/tvproject/mvp/view/activity/VideoMainActivity.java @@ -8,20 +8,36 @@ import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.View; +import android.widget.Toast; import com.example.a47253.tvproject.R; import com.example.a47253.tvproject.adapter.GridAdapter; import com.example.a47253.tvproject.adapter.OnItemClickListener; import com.example.a47253.tvproject.bean.PosterBean; +import com.example.a47253.tvproject.bean.ResponseBean; +import com.example.a47253.tvproject.retrofit.VideoRequest; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.internal.LinkedTreeMap; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import okhttp3.OkHttpClient; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; public class VideoMainActivity extends AppCompatActivity { private final static String TAG = "VideoMainActivity"; List videoList = new ArrayList(); GridAdapter gridAdapter; RecyclerView viedioView; + Gson gson = new Gson(); @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -33,11 +49,42 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { ((GridLayoutManager) manager).setOrientation(GridLayoutManager.VERTICAL); viedioView.setLayoutManager(manager); viedioView.setAdapter(gridAdapter); - for (int i = 0; i<7; i++) { - videoList.add(new PosterBean("","海报名字")); - } - Log.i("list", videoList.toString()); - gridAdapter.update(videoList); + OkHttpClient okHttpClient = new OkHttpClient.Builder() + .retryOnConnectionFailure(true) + .connectTimeout(30, TimeUnit.SECONDS) + .build(); + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://192.168.0.103:7001/") + .addConverterFactory(GsonConverterFactory.create()) + .client(okHttpClient) + .build(); + + VideoRequest service = retrofit.create(VideoRequest.class); + service.selectVideoAll().enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + Log.i(TAG, response.body().getResultMsg()); + Log.i(TAG, response.body().getResultCode()); + Log.i(TAG, gson.toJson(response.body().getData())); + Log.i(TAG, response.body().getData().getClass().getName()); + for (Object datum : (java.util.ArrayList) (response.body().getData())) { + Log.i(TAG, datum.getClass().getName()); + LinkedTreeMap temp = (LinkedTreeMap)datum; + videoList.add(new PosterBean( (String) temp.get("video_poster_url"), (String) temp.get("video_name"))); + Log.i("list", videoList.toString()); + gridAdapter.update(videoList); + } + } + @Override + public void onFailure(Call call, Throwable t) { + System.out.print("onFailure response.body():"); + } + }); +// for (int i = 0; i<7; i++) { +// videoList.add(new PosterBean("","海报名字")); +// } +// Log.i("list", videoList.toString()); +// gridAdapter.update(videoList); gridAdapter.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(View view, int postion) { diff --git a/app/src/main/java/com/example/a47253/tvproject/retrofit/VideoRequest.java b/app/src/main/java/com/example/a47253/tvproject/retrofit/VideoRequest.java new file mode 100644 index 0000000..6b7d41d --- /dev/null +++ b/app/src/main/java/com/example/a47253/tvproject/retrofit/VideoRequest.java @@ -0,0 +1,12 @@ +package com.example.a47253.tvproject.retrofit; + +import com.example.a47253.tvproject.bean.ResponseBean; + + +import retrofit2.Call; +import retrofit2.http.GET; + +public interface VideoRequest { + @GET("commonModel/videoManager/selectVideoAll") + Call selectVideoAll(); +} diff --git a/app/src/main/java/com/example/a47253/tvproject/utils/NetWorkManager.java b/app/src/main/java/com/example/a47253/tvproject/utils/NetWorkManager.java new file mode 100644 index 0000000..8c85958 --- /dev/null +++ b/app/src/main/java/com/example/a47253/tvproject/utils/NetWorkManager.java @@ -0,0 +1,44 @@ +package com.example.a47253.tvproject.utils; + +public class NetWorkManager { +// private static NetWorkManager mInstance; +// private static Retrofit retrofit; +// private static volatile VideoRequest request = null; +// +// public static NetWorkManager getInstance() { +// if (mInstance == null) { +// synchronized (NetWorkManager.class) { +// if (mInstance == null) { +// mInstance = new NetWorkManager(); +// } +// } +// } +// return mInstance; +// } +// +// /** +// * 初始化必要对象和参数 +// */ +// public void init() { +// // 初始化okhttp +// OkHttpClient client = new OkHttpClient.Builder() +// .build(); +// +// // 初始化Retrofit +// retrofit = new Retrofit.Builder() +// .client(client) +// .baseUrl(VideoRequest.HOST) +// .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) +// .addConverterFactory(GsonConverterFactory.create()) +// .build(); +// } +// +// public static VideoRequest getRequest() { +// if (request == null) { +// synchronized (VideoRequest.class) { +// request = retrofit.create(VideoRequest.class); +// } +// } +// return request; +// } +} diff --git a/app/src/main/res/layouts/videomain-activity/layout/tv_video_grid.xml b/app/src/main/res/layouts/videomain-activity/layout/tv_video_grid.xml index bee68ce..57574e5 100644 --- a/app/src/main/res/layouts/videomain-activity/layout/tv_video_grid.xml +++ b/app/src/main/res/layouts/videomain-activity/layout/tv_video_grid.xml @@ -7,6 +7,7 @@ android:id="@+id/poster" android:layout_width="match_parent" android:layout_height="200dp" + android:scaleType="fitXY" />