Commit 16a469f2c75e6329d742d7c541012db7c176ca9e

Authored by zhanghaochen
1 parent 0b84364433
Exists in master

兼容HTTP

1 apply plugin: 'com.android.application' 1 apply plugin: 'com.android.application'
2 apply from: '../config.gradle' 2 apply from: '../config.gradle'
3 3
4 4
5 def androidId = rootProject.ext.androidId 5 def androidId = rootProject.ext.androidId
6 def support = rootProject.ext.dependencies 6 def support = rootProject.ext.dependencies
7 def url = rootProject.ext.url 7 def url = rootProject.ext.url
8 8
9 9
10 android { 10 android {
11 signingConfigs { 11 signingConfigs {
12 12
13 config { 13 config {
14 keyAlias 'alias' 14 keyAlias 'alias'
15 keyPassword '123456' 15 keyPassword '123456'
16 storeFile file('key.jks') 16 storeFile file('key.jks')
17 storePassword '123456' 17 storePassword '123456'
18 } 18 }
19 debug { 19 debug {
20 } 20 }
21 } 21 }
22 compileSdk 32 22 compileSdk 32
23 23
24 defaultConfig { 24 defaultConfig {
25 applicationId "com.hjx.parent" 25 applicationId "com.hjx.parent"
26 minSdk 24 26 minSdk 24
27 targetSdk 32 27 targetSdk 32
28 versionCode 1 28 versionCode 1
29 versionName "1.0" 29 versionName "1.0"
30 30
31 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 31 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
32 } 32 }
33 33
34 android.applicationVariants.all { 34 android.applicationVariants.all {
35 variant -> 35 variant ->
36 variant.outputs.all { 36 variant.outputs.all {
37 //在这里修改apk文件名 37 //在这里修改apk文件名
38 outputFileName = "parent-${variant.name}-v${variant.versionName}.apk" 38 outputFileName = "parent-${variant.name}-v${variant.versionName}.apk"
39 } 39 }
40 } 40 }
41 buildTypes { 41 buildTypes {
42 debug { 42 debug {
43 minifyEnabled false 43 minifyEnabled false
44 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 44 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
45 } 45 }
46 release { 46 release {
47 debuggable true
47 minifyEnabled false 48 minifyEnabled false
48 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 49 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
49 signingConfig signingConfigs.config 50 signingConfig signingConfigs.config
50 } 51 }
51 } 52 }
52 lintOptions { 53 lintOptions {
53 checkReleaseBuilds false 54 checkReleaseBuilds false
54 abortOnError false 55 abortOnError false
55 } 56 }
56 compileOptions { 57 compileOptions {
57 sourceCompatibility JavaVersion.VERSION_1_8 58 sourceCompatibility JavaVersion.VERSION_1_8
58 targetCompatibility JavaVersion.VERSION_1_8 59 targetCompatibility JavaVersion.VERSION_1_8
59 } 60 }
60 } 61 }
61 62
62 dependencies { 63 dependencies {
63 support.each { k, v -> implementation v } 64 support.each { k, v -> implementation v }
64 api project(path: ':libs:common') 65 api project(path: ':libs:common')
65 implementation 'androidx.appcompat:appcompat:1.5.1' 66 implementation 'androidx.appcompat:appcompat:1.5.1'
66 implementation 'com.google.android.material:material:1.6.1' 67 implementation 'com.google.android.material:material:1.6.1'
67 implementation 'androidx.constraintlayout:constraintlayout:2.1.4' 68 implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
68 implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.50' 69 implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.50'
69 } 70 }
app/src/main/AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:tools="http://schemas.android.com/tools" 3 xmlns:tools="http://schemas.android.com/tools"
4 package="com.hjx.parent"> 4 package="com.hjx.parent">
5 5
6 6
7 <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> 7 <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
8 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <!-- 允许程序改变网络链接状态 --> 8 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <!-- 允许程序改变网络链接状态 -->
9 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 允许程序访问访问WIFI网络状态信息 --> 9 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 允许程序访问访问WIFI网络状态信息 -->
10 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 允许程序改变WIFI链接状态 --> 10 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 允许程序改变WIFI链接状态 -->
11 <!-- 6.0系统需要添加权限才能获得wifi列表 --> 11 <!-- 6.0系统需要添加权限才能获得wifi列表 -->
12 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 12 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
13 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 13 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
14 <uses-permission android:name="android.permission.INTERNET" /> 14 <uses-permission android:name="android.permission.INTERNET" />
15 <uses-permission android:name="android.permission.RECORD_AUDIO" /> 15 <uses-permission android:name="android.permission.RECORD_AUDIO" />
16 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 16 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
17 17
18 <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> 18 <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
19 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 19 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
20 <uses-permission android:name="android.permission.WAKE_LOCK" /> 20 <uses-permission android:name="android.permission.WAKE_LOCK" />
21 <uses-permission android:name="android.permission.CAMERA" /> 21 <uses-permission android:name="android.permission.CAMERA" />
22 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 22 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
23 <uses-permission android:name="android.permission.VIBRATE" /> 23 <uses-permission android:name="android.permission.VIBRATE" />
24 24
25 <application 25 <application
26 android:name=".MyApplication" 26 android:name=".MyApplication"
27 android:allowBackup="true" 27 android:allowBackup="true"
28 android:icon="@mipmap/icon" 28 android:icon="@mipmap/icon"
29 android:label="@string/app_name" 29 android:label="@string/app_name"
30 android:networkSecurityConfig="@xml/network_security_config"
30 android:supportsRtl="true" 31 android:supportsRtl="true"
31 android:theme="@style/Theme.Parent"> 32 android:theme="@style/Theme.Parent">
32 <activity 33 <activity
33 android:name=".LoginActivity" 34 android:name=".LoginActivity"
34 android:exported="true" 35 android:exported="true"
35 android:theme="@style/ThemeSplash"> 36 android:theme="@style/ThemeSplash">
36 <intent-filter> 37 <intent-filter>
37 <action android:name="android.intent.action.MAIN" /> 38 <action android:name="android.intent.action.MAIN" />
38 <category android:name="android.intent.category.LAUNCHER" /> 39 <category android:name="android.intent.category.LAUNCHER" />
39 </intent-filter> 40 </intent-filter>
40 </activity> 41 </activity>
41 <activity 42 <activity
42 android:name=".MainActivity" 43 android:name=".MainActivity"
43 android:launchMode="singleTask" 44 android:launchMode="singleTask"
44 android:theme="@style/Theme.AppCompat.NoActionBar" /> 45 android:theme="@style/Theme.AppCompat.NoActionBar" />
45 <activity 46 <activity
46 android:name=".RegisterActivity" 47 android:name=".RegisterActivity"
47 android:theme="@style/Theme.AppCompat.NoActionBar" /> 48 android:theme="@style/Theme.AppCompat.NoActionBar" />
48 <activity 49 <activity
49 android:name=".UserActivity" 50 android:name=".UserActivity"
50 android:theme="@style/Theme.AppCompat.NoActionBar" /> 51 android:theme="@style/Theme.AppCompat.NoActionBar" />
51 <activity 52 <activity
52 android:name=".YinsiActivity" 53 android:name=".YinsiActivity"
53 android:theme="@style/Theme.AppCompat.NoActionBar" /> 54 android:theme="@style/Theme.AppCompat.NoActionBar" />
54 <activity 55 <activity
55 android:name=".QRActivity" 56 android:name=".QRActivity"
56 android:theme="@style/Theme.AppCompat.NoActionBar" /> 57 android:theme="@style/Theme.AppCompat.NoActionBar" />
57 <activity 58 <activity
58 android:name=".AddStudentActivity" 59 android:name=".AddStudentActivity"
59 android:theme="@style/Theme.AppCompat.NoActionBar" /> 60 android:theme="@style/Theme.AppCompat.NoActionBar" />
60 <activity 61 <activity
61 android:name=".NickActivity" 62 android:name=".NickActivity"
62 android:theme="@style/Theme.AppCompat.NoActionBar" /> 63 android:theme="@style/Theme.AppCompat.NoActionBar" />
63 <activity 64 <activity
64 android:name=".SexActivity" 65 android:name=".SexActivity"
65 android:theme="@style/Theme.AppCompat.NoActionBar" /> 66 android:theme="@style/Theme.AppCompat.NoActionBar" />
66 <activity 67 <activity
67 android:name=".NianActivity" 68 android:name=".NianActivity"
68 android:theme="@style/Theme.AppCompat.NoActionBar" /> 69 android:theme="@style/Theme.AppCompat.NoActionBar" />
69 <activity 70 <activity
70 android:name=".ShenActivity" 71 android:name=".ShenActivity"
71 android:theme="@style/Theme.AppCompat.NoActionBar" /> 72 android:theme="@style/Theme.AppCompat.NoActionBar" />
72 <activity 73 <activity
73 android:name=".AccountActivity" 74 android:name=".AccountActivity"
74 android:theme="@style/Theme.AppCompat.NoActionBar" /> 75 android:theme="@style/Theme.AppCompat.NoActionBar" />
75 76
76 <activity 77 <activity
77 android:name=".ChangePwdActivity" 78 android:name=".ChangePwdActivity"
78 android:theme="@style/Theme.AppCompat.NoActionBar" /> 79 android:theme="@style/Theme.AppCompat.NoActionBar" />
79 <activity 80 <activity
80 android:name=".EditStudentActivity" 81 android:name=".EditStudentActivity"
81 android:theme="@style/Theme.AppCompat.NoActionBar" /> 82 android:theme="@style/Theme.AppCompat.NoActionBar" />
82 <activity 83 <activity
83 android:name=".ChooseActivity" 84 android:name=".ChooseActivity"
84 android:theme="@style/Theme.AppCompat.NoActionBar" /> 85 android:theme="@style/Theme.AppCompat.NoActionBar" />
85 86
86 <provider 87 <provider
87 android:name="androidx.core.content.FileProvider" 88 android:name="androidx.core.content.FileProvider"
88 android:authorities="com.hjx.parent.fileprovider" 89 android:authorities="com.hjx.parent.fileprovider"
89 android:exported="false" 90 android:exported="false"
90 android:grantUriPermissions="true"> 91 android:grantUriPermissions="true">
91 <meta-data 92 <meta-data
92 android:name="android.support.FILE_PROVIDER_PATHS" 93 android:name="android.support.FILE_PROVIDER_PATHS"
93 android:resource="@xml/file_provider_paths" 94 android:resource="@xml/file_provider_paths"
94 tools:replace="android:resource" /> 95 tools:replace="android:resource" />
95 </provider> 96 </provider>
96 </application> 97 </application>
97 98
98 </manifest> 99 </manifest>
app/src/main/java/com/hjx/parent/ChooseActivity.java
1 package com.hjx.parent; 1 package com.hjx.parent;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.text.TextUtils; 4 import android.text.TextUtils;
5 import android.view.View; 5 import android.view.View;
6 import android.widget.ImageView; 6 import android.widget.ImageView;
7 7
8 import androidx.annotation.NonNull; 8 import androidx.annotation.NonNull;
9 import androidx.recyclerview.widget.LinearLayoutManager; 9 import androidx.recyclerview.widget.LinearLayoutManager;
10 import androidx.recyclerview.widget.RecyclerView; 10 import androidx.recyclerview.widget.RecyclerView;
11 11
12 import com.bumptech.glide.Glide; 12 import com.bumptech.glide.Glide;
13 import com.bumptech.glide.load.resource.bitmap.RoundedCorners; 13 import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
14 import com.bumptech.glide.request.RequestOptions; 14 import com.bumptech.glide.request.RequestOptions;
15 import com.chad.library.adapter.base.BaseQuickAdapter; 15 import com.chad.library.adapter.base.BaseQuickAdapter;
16 import com.chad.library.adapter.base.BaseViewHolder; 16 import com.chad.library.adapter.base.BaseViewHolder;
17 import com.google.gson.Gson; 17 import com.google.gson.Gson;
18 import com.hjx.parent.bean.StudentBean; 18 import com.hjx.parent.bean.StudentBean;
19 import com.prws.common.base.BaseActivity; 19 import com.prws.common.base.BaseActivity;
20 import com.prws.common.base.BasePresenter; 20 import com.prws.common.base.BasePresenter;
21 import com.prws.common.net.NetWorks; 21 import com.prws.common.net.NetWorks;
22 import com.prws.common.utils.LogUtil; 22 import com.prws.common.utils.LogUtil;
23 import com.prws.common.utils.ScreenUtils; 23 import com.prws.common.utils.ScreenUtils;
24 import com.prws.common.utils.SharedPreferencesUtil; 24 import com.prws.common.utils.SharedPreferencesUtil;
25 25
26 import org.json.JSONArray; 26 import org.json.JSONArray;
27 import org.json.JSONObject; 27 import org.json.JSONObject;
28 28
29 import java.util.ArrayList; 29 import java.util.ArrayList;
30 30
31 import butterknife.BindView; 31 import butterknife.BindView;
32 import butterknife.OnClick; 32 import butterknife.OnClick;
33 import io.reactivex.Observer; 33 import io.reactivex.Observer;
34 import io.reactivex.disposables.Disposable; 34 import io.reactivex.disposables.Disposable;
35 import okhttp3.ResponseBody; 35 import okhttp3.ResponseBody;
36 36
37 public class ChooseActivity extends BaseActivity { 37 public class ChooseActivity extends BaseActivity {
38 @BindView(R.id.recycle) 38 @BindView(R.id.recycle)
39 RecyclerView recycle; 39 RecyclerView recycle;
40 private int select = 0; 40 private int select = 0;
41 41
42 @Override 42 @Override
43 protected int layoutResId() { 43 protected int layoutResId() {
44 return R.layout.choose_activity; 44 return R.layout.choose_activity;
45 } 45 }
46 46
47 @Override 47 @Override
48 public Object getContract() { 48 public Object getContract() {
49 return null; 49 return null;
50 } 50 }
51 51
52 @Override 52 @Override
53 public BasePresenter getPresenter() { 53 public BasePresenter getPresenter() {
54 return null; 54 return null;
55 } 55 }
56 56
57 @Override 57 @Override
58 protected void initView() { 58 protected void initView() {
59 59
60 } 60 }
61 61
62 @Override 62 @Override
63 protected void initListener() { 63 protected void initListener() {
64 64
65 } 65 }
66 66
67 @Override 67 @Override
68 protected void initData() { 68 protected void initData() {
69 69
70 } 70 }
71 71
72 @Override 72 @Override
73 public void onNetChanged(int netWorkState) { 73 public void onNetChanged(int netWorkState) {
74 74
75 } 75 }
76 76
77 @Override 77 @Override
78 protected void onResume() { 78 protected void onResume() {
79 super.onResume(); 79 super.onResume();
80 loadChildList(); 80 loadChildList();
81 } 81 }
82 82
83 ArrayList<StudentBean> alist = new ArrayList<>(); 83 ArrayList<StudentBean> alist = new ArrayList<>();
84 84
85 public void loadChildList() { 85 public void loadChildList() {
86 NetWorks.listChildren(new Observer<ResponseBody>() { 86 NetWorks.listChildren(new Observer<ResponseBody>() {
87 @Override 87 @Override
88 public void onSubscribe(Disposable d) { 88 public void onSubscribe(Disposable d) {
89 89
90 } 90 }
91 91
92 @Override 92 @Override
93 public void onNext(ResponseBody responseBody) { 93 public void onNext(ResponseBody responseBody) {
94 try { 94 try {
95 95
96 String str = responseBody.string().toString(); 96 String str = responseBody.string().toString();
97 97
98 98
99 LogUtil.e("TAG", "----" + str); 99 LogUtil.e("TAG", "----" + str);
100 JSONObject jo = new JSONObject(str); 100 JSONObject jo = new JSONObject(str);
101 boolean isSucceed = jo.getBoolean("success"); 101 boolean isSucceed = jo.getBoolean("success");
102 if (isSucceed) { 102 if (isSucceed) {
103 JSONArray jarr = jo.getJSONArray("data"); 103 JSONArray jarr = jo.getJSONArray("data");
104 alist.clear(); 104 alist.clear();
105 for (int i = 0; i < jarr.length(); i++) { 105 for (int i = 0; i < jarr.length(); i++) {
106 JSONObject jo2 = jarr.getJSONObject(i); 106 JSONObject jo2 = jarr.getJSONObject(i);
107 Gson gson = new Gson(); 107 Gson gson = new Gson();
108 StudentBean sb = gson.fromJson(jo2.toString(), StudentBean.class); 108 StudentBean sb = gson.fromJson(jo2.toString(), StudentBean.class);
109 alist.add(sb); 109 alist.add(sb);
110 } 110 }
111 if (alist.size() > 0) { 111 loadList();
112 loadList();
113 }
114
115 } else { 112 } else {
116 113
117 } 114 }
118 } catch (Exception e) { 115 } catch (Exception e) {
119 e.printStackTrace(); 116 e.printStackTrace();
120 } 117 }
121 } 118 }
122 119
123 @Override 120 @Override
124 public void onError(Throwable e) { 121 public void onError(Throwable e) {
125 122
126 } 123 }
127 124
128 @Override 125 @Override
129 public void onComplete() { 126 public void onComplete() {
130 127
131 } 128 }
132 }); 129 });
133 } 130 }
134 131
135 public void loadList() { 132 public void loadList() {
136 StudentBean sb = new StudentBean(); 133 StudentBean sb = new StudentBean();
137 sb.setNickName("添加学生"); 134 sb.setNickName("添加学生");
138 alist.add(sb); 135 alist.add(sb);
139 String student = (String) SharedPreferencesUtil.getData("student", ""); 136 String student = (String) SharedPreferencesUtil.getData("student", "");
140 try { 137 try {
141 StudentBean studentBean = new Gson().fromJson(student, StudentBean.class); 138 StudentBean studentBean = new Gson().fromJson(student, StudentBean.class);
142 for (int i = 0; i < alist.size(); i++) { 139 for (int i = 0; i < alist.size(); i++) {
143 if (studentBean.getStuId().equals(alist.get(i).getStuId())) { 140 if (studentBean.getStuId().equals(alist.get(i).getStuId())) {
144 select = i; 141 select = i;
145 break; 142 break;
146 } 143 }
147 } 144 }
148 } catch (Exception e) { 145 } catch (Exception e) {
149 146
150 } 147 }
151 BaseQuickAdapter adapter = new BaseQuickAdapter(R.layout.item_child_choose, alist) { 148 BaseQuickAdapter adapter = new BaseQuickAdapter(R.layout.item_child_choose, alist) {
152 @Override 149 @Override
153 protected void convert(@NonNull BaseViewHolder item, Object o) { 150 protected void convert(@NonNull BaseViewHolder item, Object o) {
154 StudentBean studentBean = alist.get(item.getAdapterPosition()); 151 StudentBean studentBean = alist.get(item.getAdapterPosition());
155 item.setText(R.id.tv_name, studentBean.getNickName()); 152 item.setText(R.id.tv_name, studentBean.getNickName());
156 if (TextUtils.isEmpty(studentBean.getStuId())) { 153 if (TextUtils.isEmpty(studentBean.getStuId())) {
157 item.setVisible(R.id.rl_add, true); 154 item.setVisible(R.id.rl_add, true);
158 item.getConvertView().setOnClickListener(new View.OnClickListener() { 155 item.getConvertView().setOnClickListener(new View.OnClickListener() {
159 @Override 156 @Override
160 public void onClick(View view) { 157 public void onClick(View view) {
161 startActivity(new Intent(ChooseActivity.this, AddStudentActivity.class)); 158 startActivity(new Intent(ChooseActivity.this, AddStudentActivity.class));
162 } 159 }
163 }); 160 });
164 } else { 161 } else {
165 item.setBackgroundRes(R.id.rl_child, select == item.getAdapterPosition() ? R.drawable.bg_solid_white_10_or : R.drawable.bg_solid_white_10); 162 item.setBackgroundRes(R.id.rl_child, select == item.getAdapterPosition() ? R.drawable.bg_solid_white_10_or : R.drawable.bg_solid_white_10);
166 item.setImageResource(R.id.iv_select, select == item.getAdapterPosition() ? R.mipmap.gx : R.mipmap.wsyq); 163 item.setImageResource(R.id.iv_select, select == item.getAdapterPosition() ? R.mipmap.gx : R.mipmap.wsyq);
167 item.setVisible(R.id.rl_add, false); 164 item.setVisible(R.id.rl_add, false);
168 if (TextUtils.isEmpty(studentBean.getPhoto())) { 165 if (TextUtils.isEmpty(studentBean.getPhoto())) {
169 item.setImageResource(R.id.iv_avatar, studentBean.getGender() == 0 ? R.mipmap.ic_avatar_male : R.mipmap.ic_avatar_female); 166 item.setImageResource(R.id.iv_avatar, studentBean.getGender() == 0 ? R.mipmap.ic_avatar_male : R.mipmap.ic_avatar_female);
170 } else { 167 } else {
171 RoundedCorners roundedCorners = new RoundedCorners(ScreenUtils.dpToPx(ChooseActivity.this, 45)); 168 RoundedCorners roundedCorners = new RoundedCorners(ScreenUtils.dpToPx(ChooseActivity.this, 45));
172 RequestOptions options = RequestOptions.bitmapTransform(roundedCorners); 169 RequestOptions options = RequestOptions.bitmapTransform(roundedCorners);
173 Glide.with(ChooseActivity.this).load(studentBean.getPhoto()).apply(options).into((ImageView) item.getView(R.id.iv_avatar)); 170 Glide.with(ChooseActivity.this).load(studentBean.getPhoto()).apply(options).into((ImageView) item.getView(R.id.iv_avatar));
174 } 171 }
175 item.setVisible(R.id.iv_vip, !"虚拟".equals(studentBean.getTeacherIdentity())); 172 item.setVisible(R.id.iv_vip, !"虚拟".equals(studentBean.getTeacherIdentity()));
176 item.getConvertView().setOnClickListener(new View.OnClickListener() { 173 item.getConvertView().setOnClickListener(new View.OnClickListener() {
177 @Override 174 @Override
178 public void onClick(View view) { 175 public void onClick(View view) {
179 select = item.getAdapterPosition(); 176 select = item.getAdapterPosition();
180 notifyDataSetChanged(); 177 notifyDataSetChanged();
181 } 178 }
182 }); 179 });
183 } 180 }
184 } 181 }
185 }; 182 };
186 recycle.setLayoutManager(new LinearLayoutManager(ChooseActivity.this, LinearLayoutManager.VERTICAL, false)); 183 recycle.setLayoutManager(new LinearLayoutManager(ChooseActivity.this, LinearLayoutManager.VERTICAL, false));
187 recycle.setAdapter(adapter); 184 recycle.setAdapter(adapter);
188 } 185 }
189 186
190 @OnClick(R.id.tv_confirm) 187 @OnClick(R.id.tv_confirm)
191 public void confirm(View view) { 188 public void confirm(View view) {
192 if (alist.size() > 0 && alist.size() - 1 >= select && alist.get(select) != null) { 189 if (alist.size() > 0 && alist.size() - 1 >= select && alist.get(select) != null) {
193 StudentBean studentBean = alist.get(select); 190 StudentBean studentBean = alist.get(select);
194 Intent intent = new Intent(ChooseActivity.this, MainActivity.class); 191 Intent intent = new Intent(ChooseActivity.this, MainActivity.class);
195 SharedPreferencesUtil.putData("student", new Gson().toJson(studentBean)); 192 SharedPreferencesUtil.putData("student", new Gson().toJson(studentBean));
196 startActivity(intent); 193 startActivity(intent);
197 finish(); 194 finish();
198 } 195 }
199 } 196 }
200 } 197 }
201 198
app/src/main/res/xml/network_security_config.xml
File was created 1 <?xml version="1.0" encoding="utf-8"?>
2 <network-security-config>
3 <base-config cleartextTrafficPermitted="true" />
4 </network-security-config>
5
6
1 buildscript { 1 buildscript {
2 2
3 3
4 ext { 4 ext {
5 5
6 6
7 androidId = [ 7 androidId = [
8 compileSdkVersion: 32, 8 compileSdkVersion: 32,
9 minSdkVersion : 24, 9 minSdkVersion : 24,
10 targetSdkVersion : 32, 10 targetSdkVersion : 32,
11 versionCode : 1, 11 versionCode : 1,
12 versionName : "0.0.1" 12 versionName : "0.0.1"
13 13
14 14
15 ] 15 ]
16 16
17 17
18 url = [ 18 url = [
19 server_url : "http://192.168.3.11:8088", //http 请求指令 19 server_url : "http://192.168.3.155:8088", //http 请求指令
20 server_url_online: "https://mgr.hjx.com", //http 请求指令 20 server_url_online: "https://mgr.hjx.com", //http 请求指令
21 ] 21 ]
22 22
23 23
24 dependencies = [ 24 dependencies = [
25 appcompat : 'androidx.appcompat:appcompat:1.0.0', 25 appcompat : 'androidx.appcompat:appcompat:1.0.0',
26 constraint : 'androidx.constraintlayout:constraintlayout:1.1.3', 26 constraint : 'androidx.constraintlayout:constraintlayout:1.1.3',
27 cardview : 'androidx.cardview:cardview:1.0.0', 27 cardview : 'androidx.cardview:cardview:1.0.0',
28 recyclerview : 'androidx.recyclerview:recyclerview:1.0.0', 28 recyclerview : 'androidx.recyclerview:recyclerview:1.0.0',
29 material : 'com.google.android.material:material:1.0.0', 29 material : 'com.google.android.material:material:1.0.0',
30 // 依赖RxAndroid 2X 的依赖库 30 // 依赖RxAndroid 2X 的依赖库
31 // 增加RxJava 2X 的依赖库 31 // 增加RxJava 2X 的依赖库
32 rxandroid : 'io.reactivex.rxjava2:rxandroid:2.0.1', 32 rxandroid : 'io.reactivex.rxjava2:rxandroid:2.0.1',
33 rxjava : 'io.reactivex.rxjava2:rxjava:2.0.7', 33 rxjava : 'io.reactivex.rxjava2:rxjava:2.0.7',
34 34
35 // 以下需要使用Retrofit 35 // 以下需要使用Retrofit
36 //retrofit 36 //retrofit
37 retrofit : 'com.squareup.retrofit2:retrofit:2.1.0', 37 retrofit : 'com.squareup.retrofit2:retrofit:2.1.0',
38 //Gson converter 38 //Gson converter
39 converter : 'com.squareup.retrofit2:converter-gson:2.1.0', 39 converter : 'com.squareup.retrofit2:converter-gson:2.1.0',
40 //RxJava2 Adapter 40 //RxJava2 Adapter
41 retrofit2 : 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0', 41 retrofit2 : 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0',
42 //okhttp 42 //okhttp
43 okhttp : 'com.squareup.okhttp3:okhttp:3.8.1', 43 okhttp : 'com.squareup.okhttp3:okhttp:3.8.1',
44 logging : 'com.squareup.okhttp3:logging-interceptor:3.4.1', 44 logging : 'com.squareup.okhttp3:logging-interceptor:3.4.1',
45 utils : 'com.github.wang-developer:AndroidUtilsDemo:1.0.6', 45 utils : 'com.github.wang-developer:AndroidUtilsDemo:1.0.6',
46 commons_lang : 'org.apache.commons:commons-lang3:3.7', 46 commons_lang : 'org.apache.commons:commons-lang3:3.7',
47 commons_compress: 'org.apache.commons:commons-compress:1.19', 47 commons_compress: 'org.apache.commons:commons-compress:1.19',
48 commons_c_lang : 'commons-lang:commons-lang:2.3', 48 commons_c_lang : 'commons-lang:commons-lang:2.3',
49 commons_codec : 'commons-codec:commons-codec:1.7', 49 commons_codec : 'commons-codec:commons-codec:1.7',
50 eventbus : 'org.greenrobot:eventbus:3.2.0', 50 eventbus : 'org.greenrobot:eventbus:3.2.0',
51 eventbus2 : 'org.simple:androideventbus:1.0.5.1', 51 eventbus2 : 'org.simple:androideventbus:1.0.5.1',
52 glide : 'com.github.bumptech.glide:glide:4.6.1', 52 glide : 'com.github.bumptech.glide:glide:4.6.1',
53 permissions : 'com.github.getActivity:XXPermissions:11.6', 53 permissions : 'com.github.getActivity:XXPermissions:11.6',
54 orcode : 'cn.yipianfengye.android:zxing-library:2.2' 54 orcode : 'cn.yipianfengye.android:zxing-library:2.2'
55 // push : 'com.umeng.sdk:push:4.1.0', 55 // push : 'com.umeng.sdk:push:4.1.0',
56 // litepal : 'org.litepal.android:java:3.0.0', 56 // litepal : 'org.litepal.android:java:3.0.0',
57 57
58 58
59 // AlivcFFmpeg : 'com.aliyun.video.android:AlivcFFmpeg:2.0.0', 59 // AlivcFFmpeg : 'com.aliyun.video.android:AlivcFFmpeg:2.0.0',
60 60
61 // 61 //
62 // basequickadapter : 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.34', 62 // basequickadapter : 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.34',
63 // SwipeDelMenuLayout: 'com.github.mcxtzhang:SwipeDelMenuLayout:V1.3.0', 63 // SwipeDelMenuLayout: 'com.github.mcxtzhang:SwipeDelMenuLayout:V1.3.0',
64 // flycoTabLayout : 'com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar' 64 // flycoTabLayout : 'com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar'
65 65
66 66
67 ] 67 ]
68 } 68 }
69 69
70 70
71 repositories { 71 repositories {
72 google() 72 google()
73 jcenter() 73 jcenter()
74 maven { url 'https://maven.aliyun.com/repository/jcenter' } 74 maven { url 'https://maven.aliyun.com/repository/jcenter' }
75 maven { url 'https://maven.aliyun.com/repository/google' } 75 maven { url 'https://maven.aliyun.com/repository/google' }
76 maven { url 'https://maven.aliyun.com/repository/central' } 76 maven { url 'https://maven.aliyun.com/repository/central' }
77 maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } 77 maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
78 } 78 }
79 dependencies { 79 dependencies {
80 classpath 'com.android.tools.build:gradle:4.2.2' 80 classpath 'com.android.tools.build:gradle:4.2.2'
81 classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 81 classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
82 classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' 82 classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
83 classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3' 83 classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3'
84 classpath "com.alibaba:arouter-register:1.0.2" 84 classpath "com.alibaba:arouter-register:1.0.2"
85 // NOTE: Do not place your application dependencies here; they belong 85 // NOTE: Do not place your application dependencies here; they belong
86 // in the individual module build.gradle files 86 // in the individual module build.gradle files
87 } 87 }
88 88
89 89
90 } 90 }
91 91
92 92
93 allprojects { 93 allprojects {
94 repositories { 94 repositories {
95 google() 95 google()
96 jcenter() 96 jcenter()
97 maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' } 97 maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
98 maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' } 98 maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
99 maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } 99 maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
100 maven { url 'https://jitpack.io' } 100 maven { url 'https://jitpack.io' }
101 } 101 }
102 } 102 }
103 task clean(type: Delete) { 103 task clean(type: Delete) {
104 delete rootProject.buildDir 104 delete rootProject.buildDir
105 } 105 }
106 106