parent
a8bdc1609d
commit
ba2e3c0cfc
@ -0,0 +1,15 @@
|
||||
*.iml
|
||||
.gradle
|
||||
/local.properties
|
||||
/.idea/caches
|
||||
/.idea/libraries
|
||||
/.idea/modules.xml
|
||||
/.idea/workspace.xml
|
||||
/.idea/navEditor.xml
|
||||
/.idea/assetWizardSettings.xml
|
||||
.DS_Store
|
||||
/build
|
||||
/captures
|
||||
.externalNativeBuild
|
||||
.cxx
|
||||
local.properties
|
@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
@ -0,0 +1 @@
|
||||
learnhelper
|
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<bytecodeTargetLevel target="11" />
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="testRunner" value="GRADLE" />
|
||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
<option value="$PROJECT_DIR$/app" />
|
||||
</set>
|
||||
</option>
|
||||
<option name="resolveModulePerSourceSet" value="false" />
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven3" />
|
||||
<option name="name" value="maven3" />
|
||||
<option name="url" value="https://oss.sonatype.org/content/repositories/snapshots" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="MavenRepo" />
|
||||
<option name="name" value="MavenRepo" />
|
||||
<option name="url" value="https://repo.maven.apache.org/maven2/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="BintrayJCenter" />
|
||||
<option name="name" value="BintrayJCenter" />
|
||||
<option name="url" value="https://jcenter.bintray.com/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven2" />
|
||||
<option name="name" value="maven2" />
|
||||
<option name="url" value="https://maven.fabric.io/public" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven4" />
|
||||
<option name="name" value="maven4" />
|
||||
<option name="url" value="https://developer.huawei.com/repo/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven" />
|
||||
<option name="name" value="maven" />
|
||||
<option name="url" value="https://jitpack.io" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="Google" />
|
||||
<option name="name" value="Google" />
|
||||
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DesignSurface">
|
||||
<option name="filePathToZoomLevelMap">
|
||||
<map>
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.215625" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/drawable/btn_red_bg_4.xml" value="0.215625" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/drawable/corners_item_shape_white_202000.xml" value="0.215625" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/drawable/corners_org_item_shape.xml" value="0.215625" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/drawable/corners_org_item_with.xml" value="0.215625" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/drawable/ic_launcher_background.xml" value="0.215625" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/drawable/main_rbtn_textcolor.xml" value="0.215625" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/drawable/rounded_button.xml" value="0.215625" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/layout/activity_add_table.xml" value="0.1068840579710145" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/layout/activity_login.xml" value="0.1068840579710145" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/layout/base_activity_layout.xml" value="0.1068840579710145" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/layout/table_item_layout.xml" value="0.1068840579710145" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/layout/tip_dialog_layout.xml" value="0.1068840579710145" />
|
||||
<entry key="..\:/Users/15240/Desktop/assistance/assistance/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml" value="0.215625" />
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
<option name="id" value="Android" />
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1 @@
|
||||
/build
|
@ -0,0 +1,71 @@
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
}
|
||||
//apply plugin: 'com.android.application'
|
||||
android {
|
||||
compileSdkVersion 30
|
||||
buildToolsVersion "30.0.2"
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.stu.assistant"
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 30
|
||||
versionCode 1
|
||||
versionName "1.0.0"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
release {
|
||||
storeFile file('I:\\code\\OtherAPP\\ScanCode\\standard.jks')
|
||||
storePassword 'cpscapp'
|
||||
keyAlias 'app'
|
||||
keyPassword 'cpscapp'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'com.google.android.material:material:1.1.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
||||
testImplementation 'junit:junit:4.+'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
||||
|
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
||||
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
|
||||
// implementation 'com.android.support:multidex:1.0.2'
|
||||
// implementation 'com.google.code.gson:gson:2.8.2'
|
||||
implementation 'com.contrarywind:Android-PickerView:4.1.6'//时间选择器
|
||||
implementation 'com.androidkun:XTabLayout:1.1.3'
|
||||
implementation 'com.github.bumptech.glide:glide:4.8.0'
|
||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
|
||||
implementation 'com.lzy.net:okgo:3.0.4'
|
||||
implementation 'com.lzy.net:okrx2:2.0.2'
|
||||
implementation 'com.tencent.bugly:crashreport:latest.release'
|
||||
implementation 'com.yanyusong.y_divideritemdecoration:y_divideritemdecoration:2.0'
|
||||
// annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
|
||||
// implementation 'com.jakewharton:butterknife:10.2.1'
|
||||
|
||||
implementation 'io.github.bmob:android-sdk:3.8.11'
|
||||
implementation 'io.reactivex.rxjava2:rxjava:2.2.8'
|
||||
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
|
||||
implementation 'com.squareup.okhttp3:okhttp:4.8.1'
|
||||
implementation 'com.squareup.okio:okio:2.2.2'
|
||||
implementation 'com.google.code.gson:gson:2.8.5'
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
# Uncomment this to preserve the line number information for
|
||||
# debugging stack traces.
|
||||
#-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
@ -0,0 +1,26 @@
|
||||
package com.stu.assistant;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* Instrumented test, which will execute on an Android device.
|
||||
*
|
||||
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ExampleInstrumentedTest {
|
||||
@Test
|
||||
public void useAppContext() {
|
||||
// Context of the app under test.
|
||||
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
||||
assertEquals("com.stf.scancode", appContext.getPackageName());
|
||||
}
|
||||
}
|
@ -0,0 +1,333 @@
|
||||
package com.stu.assistant.activity;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import cn.bmob.v3.BmobQuery;
|
||||
import cn.bmob.v3.exception.BmobException;
|
||||
import cn.bmob.v3.listener.FindListener;
|
||||
import cn.bmob.v3.listener.SaveListener;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Handler;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.adapter.TableListAdapter;
|
||||
import com.stu.assistant.base.BaseActivity;
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
import com.stu.assistant.bean.AllTableListBean;
|
||||
import com.stu.assistant.bean.TableBean;
|
||||
import com.stu.assistant.constants.ConstansTableItemManager;
|
||||
import com.stu.assistant.uitls.CalendarUtil;
|
||||
import com.stu.assistant.uitls.DividerItemDecoration0Util;
|
||||
import com.stu.assistant.uitls.LogUtils;
|
||||
import com.stu.assistant.uitls.MyToast;
|
||||
import com.stu.assistant.uitls.SharedConfig;
|
||||
import com.stu.assistant.uitls.SharedNoClearUtil;
|
||||
import com.stu.assistant.uitls.SharedUtil;
|
||||
import com.stu.assistant.view.MySwipeRefreshLayout;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
//添加课程表的页面
|
||||
public class AddTableActivity extends BaseActivity {
|
||||
private RecyclerView mrv;
|
||||
private TableListAdapter adapter;
|
||||
private MySwipeRefreshLayout swip;
|
||||
private Handler handler;
|
||||
private ArrayList<TableBean> mList1;
|
||||
private ArrayList<TableBean> mList2;
|
||||
private ArrayList<TableBean> mList3;
|
||||
private ArrayList<TableBean> mList4;
|
||||
private ArrayList<TableBean> mList5;
|
||||
private TextView okBtn;
|
||||
private AllTableListBean bean;
|
||||
private int index = -1;//是否存在课程表id 的下标
|
||||
private LinearLayout backLay, lay;
|
||||
private TextView titleTv;
|
||||
private String tableIdMsg;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_add_table;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
Intent intent = getIntent();
|
||||
bean = (AllTableListBean) intent.getSerializableExtra("bean");
|
||||
|
||||
swip = findViewById(R.id.swip_rf);
|
||||
mrv = findViewById(R.id.mrv);
|
||||
okBtn = findViewById(R.id.other_tv);
|
||||
titleTv = findViewById(R.id.title_tv);
|
||||
backLay = findViewById(R.id.back_lay);
|
||||
lay = findViewById(R.id.lay);
|
||||
handler = new Handler();
|
||||
|
||||
if (bean == null) {
|
||||
titleTv.setText("新建课表");
|
||||
tableIdMsg = CalendarUtil.getInstance().getYMDHMSLine();
|
||||
} else {
|
||||
titleTv.setText("课表详情");
|
||||
tableIdMsg = bean.getTableIdMsg();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
LinearLayoutManager manager = new LinearLayoutManager(this);
|
||||
manager.setOrientation(LinearLayoutManager.VERTICAL);
|
||||
mrv.addItemDecoration(new DividerItemDecoration0Util(this, false));
|
||||
mrv.setLayoutManager(manager);
|
||||
String string = SharedNoClearUtil.create(BaseApplion.application).getString(SharedConfig.isBg, SharedConfig.isBg_1);
|
||||
if (string.equals(SharedConfig.isBg_1)) {
|
||||
lay.setBackgroundResource(R.mipmap.ic_bg_1);
|
||||
}
|
||||
if (string.equals(SharedConfig.isBg_2)) {
|
||||
lay.setBackgroundResource(R.mipmap.ic_bg_2);
|
||||
}
|
||||
if (string.equals(SharedConfig.isBg_3)) {
|
||||
lay.setBackgroundResource(R.mipmap.ic_bg_3);
|
||||
}
|
||||
if (string.equals(SharedConfig.isBg_4)) {
|
||||
lay.setBackgroundResource(R.mipmap.ic_bg_4);
|
||||
}
|
||||
getData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initListener() {
|
||||
// 刷新数据
|
||||
swip.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
// 这里的作用是防止下拉刷新的时候还可以上拉加载
|
||||
getData();
|
||||
}
|
||||
});
|
||||
okBtn.setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
private String tableIdMsg;
|
||||
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
saveData(2);
|
||||
}
|
||||
});
|
||||
backLay.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
showBackDialog();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//保存数据
|
||||
private void saveData(int num) {
|
||||
ArrayList<TableBean> allList = new ArrayList<>();
|
||||
allList.addAll(mList1);
|
||||
allList.addAll(mList2);
|
||||
allList.addAll(mList3);
|
||||
allList.addAll(mList4);
|
||||
allList.addAll(mList5);
|
||||
|
||||
for (int i = 0; i < allList.size(); i++) {
|
||||
String tableIdMsg = allList.get(i).getTableIdMsg();
|
||||
if (!TextUtils.isEmpty(tableIdMsg)) {
|
||||
index = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (num == 2) {
|
||||
if (index == -1) {
|
||||
MyToast.show("请添加课程");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (index == -1) {
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (index != -1) {
|
||||
String tableIdMsg = allList.get(index).getTableIdMsg();
|
||||
showProDialog("正在提交");
|
||||
AllTableListBean allTableListBean = new AllTableListBean();
|
||||
allTableListBean.setTableIdMsg(tableIdMsg);
|
||||
allTableListBean.setStuId(SharedUtil.create(BaseApplion.application).getString(SharedConfig.objectId));
|
||||
allTableListBean.save(new SaveListener<String>() {
|
||||
@Override
|
||||
public void done(String s, BmobException e) {
|
||||
dismissProDialog();
|
||||
if (e == null) {
|
||||
MyToast.show("成功");
|
||||
setResult(12);
|
||||
finish();
|
||||
} else {
|
||||
MyToast.show("失败:" + e.getMessage() + "," + e.getErrorCode());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void getData() {
|
||||
getNewData();//初始化课程表数据
|
||||
if (bean == null) {//新建
|
||||
setAdapter(mList1, mList2, mList3, mList4, mList5);
|
||||
} else {//查看详情
|
||||
showProDialog("正在查询");
|
||||
BmobQuery<TableBean> query = new BmobQuery<>();
|
||||
query.addWhereEqualTo("tableIdMsg", bean.getTableIdMsg());
|
||||
query.findObjects(new FindListener<TableBean>() {
|
||||
@Override
|
||||
public void done(List<TableBean> list, BmobException e) {
|
||||
LogUtils.i("list", "-stuId-findObjects-->" + new Gson().toJson(list));
|
||||
dismissProDialog();
|
||||
if (list == null) {
|
||||
MyToast.show("暂无数据");
|
||||
} else {
|
||||
optList(list);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//初始化数据
|
||||
private void getNewData() {
|
||||
mList1 = new ArrayList<>();
|
||||
mList2 = new ArrayList<>();
|
||||
mList3 = new ArrayList<>();
|
||||
mList4 = new ArrayList<>();
|
||||
mList5 = new ArrayList<>();
|
||||
|
||||
TableBean tableBean = new TableBean();
|
||||
tableBean.setTableNameMsg("");
|
||||
tableBean.setTeacherName("");
|
||||
tableBean.setAddress("");
|
||||
tableBean.setTeacherId("");
|
||||
for (int i = 0; i < 8; i++) {
|
||||
mList1.add(tableBean);
|
||||
mList2.add(tableBean);
|
||||
mList3.add(tableBean);
|
||||
mList4.add(tableBean);
|
||||
mList5.add(tableBean);
|
||||
}
|
||||
}
|
||||
|
||||
// 拼装成课程表需要的格式
|
||||
private void optList(List<TableBean> list) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
TableBean bean = list.get(i);
|
||||
if (bean.getDay() == ConstansTableItemManager.item_1) {
|
||||
mList1.set(bean.getPos(), bean);
|
||||
}
|
||||
if (bean.getDay() == ConstansTableItemManager.item_2) {
|
||||
mList2.set(bean.getPos(), bean);
|
||||
}
|
||||
if (bean.getDay() == ConstansTableItemManager.item_3) {
|
||||
mList3.set(bean.getPos(), bean);
|
||||
}
|
||||
if (bean.getDay() == ConstansTableItemManager.item_4) {
|
||||
mList4.set(bean.getPos(), bean);
|
||||
}
|
||||
if (bean.getDay() == ConstansTableItemManager.item_5) {
|
||||
mList5.set(bean.getPos(), bean);
|
||||
}
|
||||
}
|
||||
|
||||
setAdapter((ArrayList<TableBean>) mList1, (ArrayList<TableBean>) mList2, (ArrayList<TableBean>) mList3, (ArrayList<TableBean>) mList4, (ArrayList<TableBean>) mList5);
|
||||
}
|
||||
|
||||
public void setAdapter(ArrayList<TableBean> mList1, ArrayList<TableBean> mList2, ArrayList<TableBean> mList3, ArrayList<TableBean> mList4, ArrayList<TableBean> mList5) {
|
||||
|
||||
if (adapter == null) {
|
||||
adapter = new TableListAdapter(this);
|
||||
adapter.setList(mList1, mList2, mList3, mList4, mList5);
|
||||
mrv.setAdapter(adapter);
|
||||
adapter.setOnItemClickListeners(new TableListAdapter.OnItemClickListeners() {
|
||||
@Override
|
||||
public void itemBean(int pos, TableBean tableBean, int day) {
|
||||
tableBean.setDay(day);
|
||||
tableBean.setPos(pos);
|
||||
Intent intent = new Intent(AddTableActivity.this, AddTableDialogActivity.class);
|
||||
if (bean == null) {//新增 是相对课程表说的
|
||||
intent.putExtra("title", "1");
|
||||
} else {//编辑
|
||||
intent.putExtra("title", "2");
|
||||
}
|
||||
if (TextUtils.isEmpty(tableBean.getTableNameMsg())) {//新增 相当于 item说的
|
||||
intent.putExtra("item", "1");
|
||||
} else {//编辑
|
||||
intent.putExtra("item", "2");
|
||||
}
|
||||
tableBean.setTableIdMsg(tableIdMsg);
|
||||
intent.putExtra("bean", tableBean);
|
||||
startActivityForResult(intent, 202);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
adapter.setList(mList1, mList2, mList3, mList4, mList5);
|
||||
adapter.notifyDataSetChanged();
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
swip.setRefreshing(false);
|
||||
}
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
showBackDialog();
|
||||
}
|
||||
|
||||
private void showBackDialog() {
|
||||
if (bean != null) {
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
saveData(1);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (requestCode == 202) {
|
||||
if (resultCode == 12) {
|
||||
TableBean bean = (TableBean) data.getSerializableExtra("bean");
|
||||
int day = bean.getDay();
|
||||
int pos = bean.getPos();
|
||||
if (day == ConstansTableItemManager.item_1) {
|
||||
mList1.set(pos, bean);
|
||||
}
|
||||
if (day == ConstansTableItemManager.item_2) {
|
||||
mList2.set(pos, bean);
|
||||
}
|
||||
if (day == ConstansTableItemManager.item_3) {
|
||||
mList3.set(pos, bean);
|
||||
}
|
||||
if (day == ConstansTableItemManager.item_4) {
|
||||
mList4.set(pos, bean);
|
||||
}
|
||||
if (day == ConstansTableItemManager.item_5) {
|
||||
mList5.set(pos, bean);
|
||||
}
|
||||
setAdapter(mList1, mList2, mList3, mList4, mList5);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,218 @@
|
||||
package com.stu.assistant.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.EditText;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.base.BaseActivity;
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
import com.stu.assistant.bean.TableBean;
|
||||
import com.stu.assistant.bean.TableTimeBean;
|
||||
import com.stu.assistant.bean.UserInfoBean;
|
||||
import com.stu.assistant.constants.ConstansUserManager;
|
||||
import com.stu.assistant.uitls.CalendarUtil;
|
||||
import com.stu.assistant.uitls.MyToast;
|
||||
import com.stu.assistant.uitls.SharedConfig;
|
||||
import com.stu.assistant.uitls.SharedUtil;
|
||||
|
||||
import java.sql.Array;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import cn.bmob.v3.BmobQuery;
|
||||
import cn.bmob.v3.exception.BmobException;
|
||||
import cn.bmob.v3.listener.FindListener;
|
||||
import cn.bmob.v3.listener.SaveListener;
|
||||
import cn.bmob.v3.listener.UpdateListener;
|
||||
|
||||
//添加具体的节课的页面
|
||||
public class AddTableDialogActivity extends BaseActivity {
|
||||
|
||||
|
||||
private EditText tableNameEdit;
|
||||
private EditText addressEdit, markEdit;
|
||||
private Spinner spinner, spinnerDay, teacherNameSpinner;
|
||||
private TableBean bean;
|
||||
private ArrayList<UserInfoBean> teacherList;
|
||||
private TextView btn;
|
||||
private String item = "1";
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_add_table_dialog;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
Intent intent = getIntent();
|
||||
String title = intent.getStringExtra("title");
|
||||
item = intent.getStringExtra("item");
|
||||
String titleMsg = "";
|
||||
bean = (TableBean) intent.getSerializableExtra("bean");
|
||||
if (title.equals("1")) {
|
||||
titleMsg = "新增课程";
|
||||
} else {
|
||||
titleMsg = "编辑课程";
|
||||
}
|
||||
setTitleLay(R.id.title_tv, R.id.back_lay, titleMsg);
|
||||
setTextMsg(R.id.OnPushClick, titleMsg);
|
||||
tableNameEdit = findViewById(R.id.edit_table_name);
|
||||
teacherNameSpinner = findViewById(R.id.edit_teacherName);
|
||||
addressEdit = findViewById(R.id.edit_address);
|
||||
markEdit = findViewById(R.id.edit_mark);
|
||||
spinner = findViewById(R.id.spinner_time);
|
||||
spinnerDay = findViewById(R.id.spinner_day);
|
||||
btn = findViewById(R.id.OnPushClick);
|
||||
spinner.setEnabled(false);
|
||||
spinnerDay.setEnabled(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
spinnerDay.setSelection(bean.getDay());
|
||||
spinner.setSelection(bean.getPos() + 1);
|
||||
if (!TextUtils.isEmpty(bean.getAddress())) {
|
||||
addressEdit.setText(bean.getAddress());
|
||||
}
|
||||
if (!TextUtils.isEmpty(bean.getTableNameMsg())) {
|
||||
tableNameEdit.setText(bean.getTableNameMsg());
|
||||
}
|
||||
|
||||
if (!TextUtils.isEmpty(bean.getMark())) {
|
||||
markEdit.setText(bean.getMark());
|
||||
}
|
||||
showProDialog("正在查询老师信息");
|
||||
BmobQuery<UserInfoBean> query = new BmobQuery<>();
|
||||
query.addWhereEqualTo("userLevel", ConstansUserManager.Level_3);
|
||||
query.order("-createdAt")
|
||||
.findObjects(new FindListener<UserInfoBean>() {
|
||||
@Override
|
||||
public void done(List<UserInfoBean> list, BmobException e) {
|
||||
dismissProDialog();
|
||||
teacherList = (ArrayList<UserInfoBean>) list;
|
||||
setSpinner(teacherList);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setSpinner(ArrayList<UserInfoBean> list) {
|
||||
UserInfoBean userInfoBean = new UserInfoBean();
|
||||
userInfoBean.setUsername("请选择老师");
|
||||
list.add(0, userInfoBean);
|
||||
String[] mItems = new String[list.size()];
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
mItems[i] = list.get(i).getUsername();
|
||||
}
|
||||
ArrayAdapter<String> _Adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, mItems);
|
||||
teacherNameSpinner.setAdapter(_Adapter);
|
||||
//默认选择带过来的老师信息
|
||||
if (!TextUtils.isEmpty(bean.getTeacherId())) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
String objectId = list.get(i).getObjectId();
|
||||
if (!TextUtils.isEmpty(objectId)) {
|
||||
if (objectId.equals(bean.getTeacherId())) {
|
||||
teacherNameSpinner.setSelection(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initListener() {
|
||||
btn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
String tableNameMsg = tableNameEdit.getText().toString();
|
||||
String addressMsg = addressEdit.getText().toString();
|
||||
String markMsg = markEdit.getText().toString();
|
||||
int teacherName = teacherNameSpinner.getSelectedItemPosition();
|
||||
int selectedItemPosition = spinner.getSelectedItemPosition();
|
||||
int selectedItemPosition1 = spinnerDay.getSelectedItemPosition();
|
||||
if (teacherList == null) {
|
||||
MyToast.show("请重新加载老师信息");
|
||||
return;
|
||||
}
|
||||
if (TextUtils.isEmpty(tableNameMsg)) {
|
||||
MyToast.show(tableNameEdit.getHint().toString());
|
||||
return;
|
||||
}
|
||||
|
||||
if (TextUtils.isEmpty(addressMsg)) {
|
||||
MyToast.show(addressEdit.getHint().toString());
|
||||
return;
|
||||
}
|
||||
|
||||
if (teacherName == 0) {
|
||||
MyToast.show("请选择老师");
|
||||
return;
|
||||
}
|
||||
if (selectedItemPosition == 0) {
|
||||
MyToast.show("请选择周数");
|
||||
return;
|
||||
}
|
||||
|
||||
if (selectedItemPosition1 == 0) {
|
||||
MyToast.show("请选择节次");
|
||||
return;
|
||||
}
|
||||
bean.setTeacherId(teacherList.get(teacherName).getObjectId());
|
||||
bean.setTeacherName(teacherList.get(teacherName).getUsername());
|
||||
bean.setAddress(addressMsg);
|
||||
bean.setTableNameMsg(tableNameMsg);
|
||||
bean.setStuId(SharedUtil.create(BaseApplion.application).getString(SharedConfig.objectId));
|
||||
bean.setMark(markMsg);
|
||||
// Log.i("hx","--item-->"+item);
|
||||
// Log.i("hx","--bean-->"+new Gson().toJson(bean));
|
||||
if (TextUtils.isEmpty(item) || item.equals("1")) {//直接返回一块更新
|
||||
showProDialog("正在保存");
|
||||
bean.save(new SaveListener<String>() {
|
||||
@Override
|
||||
public void done(String s, BmobException e) {
|
||||
dismissProDialog();
|
||||
if (e == null) {
|
||||
Intent intent = new Intent();
|
||||
bean.setObjectId(s);
|
||||
intent.putExtra("bean", bean);
|
||||
setResult(12, intent);
|
||||
finish();
|
||||
} else {
|
||||
MyToast.show("保存失败" + e.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {//单独更新
|
||||
showProDialog("正在更新");
|
||||
bean.update(bean.getObjectId(), new UpdateListener() {
|
||||
@Override
|
||||
public void done(BmobException e) {
|
||||
dismissProDialog();
|
||||
if (e == null) {
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("bean", bean);
|
||||
setResult(12, intent);
|
||||
finish();
|
||||
} else {
|
||||
MyToast.show("失败" + e.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
super.onBackPressed();
|
||||
finish();
|
||||
}
|
||||
}
|
@ -0,0 +1,158 @@
|
||||
package com.stu.assistant.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.base.BaseActivity;
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
import com.stu.assistant.bean.TaskBean;
|
||||
import com.stu.assistant.dialog.DiaogUtil;
|
||||
import com.stu.assistant.uitls.MyToast;
|
||||
import com.stu.assistant.uitls.SharedConfig;
|
||||
import com.stu.assistant.uitls.SharedUtil;
|
||||
|
||||
import cn.bmob.v3.exception.BmobException;
|
||||
import cn.bmob.v3.listener.SaveListener;
|
||||
import cn.bmob.v3.listener.UpdateListener;
|
||||
//添加作业页面
|
||||
public class AddTaskActivity extends BaseActivity {
|
||||
private EditText taskNameEdit;
|
||||
private EditText msgEdit;
|
||||
private TaskBean bean;
|
||||
private TextView btn, timeTv;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_add_task_dialog;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
Intent intent = getIntent();
|
||||
String title = intent.getStringExtra("title");
|
||||
String titleMsg = "";
|
||||
bean = (TaskBean) intent.getSerializableExtra("bean");
|
||||
if (bean == null) {
|
||||
titleMsg = "新增作业";
|
||||
} else {
|
||||
titleMsg = "编辑作业";
|
||||
}
|
||||
setTitleLay(R.id.title_tv, R.id.back_lay, titleMsg);
|
||||
setTextMsg(R.id.OnPushClick, titleMsg);
|
||||
taskNameEdit = findViewById(R.id.edit_task_name);
|
||||
msgEdit = findViewById(R.id.edit_msg);
|
||||
timeTv = findViewById(R.id.tv_time);
|
||||
btn = findViewById(R.id.OnPushClick);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
if (bean != null) {
|
||||
if (!TextUtils.isEmpty(bean.getTaskMsg())) {
|
||||
msgEdit.setText(bean.getTaskMsg());
|
||||
}
|
||||
if (!TextUtils.isEmpty(bean.getTableNameMsg())) {
|
||||
taskNameEdit.setText(bean.getTableNameMsg());
|
||||
}
|
||||
if (!TextUtils.isEmpty(bean.getTime())) {
|
||||
timeTv.setText(bean.getTime());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initListener() {
|
||||
timeTv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
DiaogUtil.showSelectTimeDialog(AddTaskActivity.this, new DiaogUtil.OnSelectLisenter() {
|
||||
@Override
|
||||
public void OnOkBtn(String time) {
|
||||
timeTv.setText(time);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
btn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
String tableNameMsg = taskNameEdit.getText().toString();
|
||||
String taskMsg = msgEdit.getText().toString();
|
||||
String timeMsg = timeTv.getText().toString();
|
||||
if (TextUtils.isEmpty(tableNameMsg)) {
|
||||
MyToast.show(taskNameEdit.getHint().toString());
|
||||
return;
|
||||
}
|
||||
|
||||
if (TextUtils.isEmpty(timeMsg)) {
|
||||
MyToast.show(timeTv.getHint().toString());
|
||||
return;
|
||||
}
|
||||
|
||||
if (TextUtils.isEmpty(taskMsg)) {
|
||||
MyToast.show(msgEdit.getHint().toString());
|
||||
return;
|
||||
}
|
||||
|
||||
if (bean == null) {//直接返回一块更新
|
||||
TaskBean bean = new TaskBean();
|
||||
bean.setTaskMsg(taskMsg);
|
||||
bean.setTime(timeMsg);
|
||||
bean.setTableNameMsg(tableNameMsg);
|
||||
bean.setStuId(SharedUtil.create(BaseApplion.application).getString(SharedConfig.objectId));
|
||||
Log.i("hx", "--bean-->" + new Gson().toJson(bean));
|
||||
showProDialog("正在保存");
|
||||
bean.save(new SaveListener<String>() {
|
||||
@Override
|
||||
public void done(String s, BmobException e) {
|
||||
dismissProDialog();
|
||||
if (e == null) {
|
||||
Intent intent = new Intent();
|
||||
bean.setObjectId(s);
|
||||
intent.putExtra("bean", bean);
|
||||
setResult(12, intent);
|
||||
finish();
|
||||
} else {
|
||||
MyToast.show("保存失败" + e.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {//单独更新
|
||||
showProDialog("正在更新");
|
||||
bean.setTaskMsg(taskMsg);
|
||||
bean.setTime(timeMsg);
|
||||
bean.setTableNameMsg(tableNameMsg);
|
||||
bean.setStuId(SharedUtil.create(BaseApplion.application).getString(SharedConfig.objectId));
|
||||
Log.i("hx", "--bean-->" + new Gson().toJson(bean));
|
||||
bean.update(bean.getObjectId(), new UpdateListener() {
|
||||
@Override
|
||||
public void done(BmobException e) {
|
||||
dismissProDialog();
|
||||
if (e == null) {
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("bean", bean);
|
||||
setResult(12, intent);
|
||||
finish();
|
||||
} else {
|
||||
MyToast.show("失败" + e.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
super.onBackPressed();
|
||||
finish();
|
||||
}
|
||||
}
|
@ -0,0 +1,111 @@
|
||||
package com.stu.assistant.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.base.BaseActivity;
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
import com.stu.assistant.bean.UserInfoBean;
|
||||
import com.stu.assistant.presenter.LoginPresenter;
|
||||
import com.stu.assistant.uitls.AppTools;
|
||||
import com.stu.assistant.uitls.ChenJingEditUil;
|
||||
import com.stu.assistant.uitls.MyToast;
|
||||
import com.stu.assistant.uitls.SharedConfig;
|
||||
import com.stu.assistant.uitls.SharedUtil;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import cn.bmob.v3.BmobUser;
|
||||
//登录页面
|
||||
public class LoginActivity extends BaseActivity {
|
||||
|
||||
private EditText usertNameEdit;
|
||||
private EditText usertPasswordEdit;
|
||||
private LoginPresenter loginPresenter;
|
||||
private TextView loginBtn, versionNameTv;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_login;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
ChenJingEditUil.assistActivity(this);
|
||||
usertNameEdit = findViewById(R.id.tv_username);
|
||||
usertPasswordEdit = findViewById(R.id.tv_userpassword);
|
||||
loginBtn = findViewById(R.id.button_login);
|
||||
versionNameTv = findViewById(R.id.version_name);
|
||||
loginPresenter = new LoginPresenter(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
versionNameTv.setText(AppTools.getVersionName(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initListener() {
|
||||
boolean aBoolean = SharedUtil.create(BaseApplion.application).getBoolean(SharedConfig.isLogin, false);
|
||||
if (aBoolean) {
|
||||
if (BmobUser.isLogin()) {
|
||||
UserInfoBean user = BmobUser.getCurrentUser(UserInfoBean.class);
|
||||
loginPresenter.saveUser(user);
|
||||
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
} else {
|
||||
login();
|
||||
}
|
||||
} else {
|
||||
login();
|
||||
}
|
||||
}
|
||||
|
||||
private void login() {
|
||||
loginBtn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
loginPresenter.loginIn(usertNameEdit.getText().toString(), usertPasswordEdit.getText().toString(), new LoginPresenter.OnLoginResultListener() {
|
||||
@Override
|
||||
public void isSucLogin(UserInfoBean bean) {
|
||||
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void errorMsg(String msg) {
|
||||
MyToast.show(msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void OnRegister(View view) {
|
||||
Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
|
||||
intent.putExtra("type", "1");
|
||||
startActivityForResult(intent, 99);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
super.onBackPressed();
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (requestCode == 99) {
|
||||
if (resultCode == 2) {
|
||||
UserInfoBean userBean = (UserInfoBean) data.getSerializableExtra("userBean");
|
||||
usertNameEdit.setText(userBean.getUsername());
|
||||
usertPasswordEdit.setText("");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,102 @@
|
||||
package com.stu.assistant.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.GridView;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.adapter.HomeGvAdapter;
|
||||
import com.stu.assistant.base.BaseActivity;
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
import com.stu.assistant.bean.MainModuleBean;
|
||||
import com.stu.assistant.constants.ConstansItemManager;
|
||||
import com.stu.assistant.presenter.MainPresenter;
|
||||
import com.stu.assistant.uitls.MyToast;
|
||||
import com.stu.assistant.uitls.SharedConfig;
|
||||
import com.stu.assistant.uitls.SharedUtil;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
//主页面
|
||||
public class MainActivity extends BaseActivity {
|
||||
|
||||
private LinearLayout lay;
|
||||
private GridView gridView;
|
||||
private MainPresenter mainPresenter;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_main;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
setTitleLay(R.id.title_tv, R.id.back_lay, "学习助手");
|
||||
findViewById(R.id.back_lay).setVisibility(View.INVISIBLE);
|
||||
gridView = findViewById(R.id.main_gridview);
|
||||
lay = findViewById(R.id.lay);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
mainPresenter = new MainPresenter();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initListener() {
|
||||
HomeGvAdapter homeGvAdapter = new HomeGvAdapter(this, mainPresenter.getData());
|
||||
gridView.setAdapter(homeGvAdapter);
|
||||
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int i, long l) {
|
||||
MainModuleBean moduleBean = ((MainModuleBean) parent.getAdapter().getItem(i));
|
||||
int itemFlag = moduleBean.getItemFlag();
|
||||
switch (itemFlag) {
|
||||
case ConstansItemManager.item_1:
|
||||
Intent intent1 = new Intent(mContext, TableListActivity.class);
|
||||
intent1.putExtra("userLevel", SharedUtil.create(BaseApplion.application).getString(SharedConfig.userLevel));
|
||||
intent1.putExtra("title", "课表");
|
||||
intent1.putExtra("itemType", itemFlag);
|
||||
startActivityForResult(intent1, 201);//查看课表
|
||||
break;
|
||||
case ConstansItemManager.item_2:
|
||||
Intent intent = new Intent(mContext, TaskListActivity.class);
|
||||
intent.putExtra("userLevel", SharedUtil.create(BaseApplion.application).getString(SharedConfig.userLevel));
|
||||
intent.putExtra("title", "作业");
|
||||
intent.putExtra("itemType", itemFlag);
|
||||
startActivityForResult(intent, 202);//查看课表
|
||||
break;
|
||||
case ConstansItemManager.item_3:
|
||||
Intent intent3 = new Intent(mContext, SettingActivity.class);
|
||||
startActivity(intent3);//设置
|
||||
finish();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 两次点击按钮之间的点击间隔不能少于1000毫秒
|
||||
private static final int MIN_CLICK_DELAY_TIME = 2000;
|
||||
private static long lastClickTime;
|
||||
|
||||
public void outApp() {
|
||||
long curClickTime = System.currentTimeMillis();
|
||||
if ((curClickTime - lastClickTime) >= MIN_CLICK_DELAY_TIME) {
|
||||
MyToast.show("再按一次退出");
|
||||
lastClickTime = curClickTime;
|
||||
} else {
|
||||
BaseApplion.getActivityManage().finishAll();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
outApp();
|
||||
}
|
||||
}
|
@ -0,0 +1,75 @@
|
||||
package com.stu.assistant.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.base.BaseActivity;
|
||||
import com.stu.assistant.bean.UserInfoBean;
|
||||
import com.stu.assistant.constants.ConstansUserManager;
|
||||
import com.stu.assistant.presenter.RegisterPresenter;
|
||||
import com.stu.assistant.uitls.MyToast;
|
||||
|
||||
//账号注册学生,老师信息 数据库中写死的
|
||||
public class RegisterActivity extends BaseActivity {
|
||||
|
||||
private EditText userNameEdit, passwordEdit;
|
||||
private RegisterPresenter presenter;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_register;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
setTitleLay(R.id.title_tv, R.id.back_lay, "注册");
|
||||
setTextMsg(R.id.btn_register,"注册");
|
||||
userNameEdit = findViewById(R.id.tv_username);
|
||||
passwordEdit = findViewById(R.id.tv_userpassword);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
presenter = new RegisterPresenter(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initListener() {
|
||||
|
||||
}
|
||||
|
||||
public void btnRegisterOnClick(View view) {
|
||||
String userName = userNameEdit.getText().toString();
|
||||
String password = passwordEdit.getText().toString();
|
||||
|
||||
|
||||
if (TextUtils.isEmpty(userName)) {
|
||||
MyToast.show(userNameEdit.getHint().toString());
|
||||
return;
|
||||
}
|
||||
|
||||
if (TextUtils.isEmpty(password)) {
|
||||
MyToast.show(passwordEdit.getHint().toString());
|
||||
return;
|
||||
}
|
||||
|
||||
UserInfoBean userBean = new UserInfoBean();
|
||||
userBean.setUsername(userName);
|
||||
userBean.setPassword(password);
|
||||
userBean.setUserLevel(ConstansUserManager.Level_4);
|
||||
userBean.setUserType(ConstansUserManager.UserType_2);
|
||||
presenter.registerUser(userBean, new RegisterPresenter.OnRegisterListener() {
|
||||
@Override
|
||||
public void registerListener(UserInfoBean userInfoBean) {
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("userBean", userBean);
|
||||
setResult(2, intent);
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package com.stu.assistant.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.res.Resources;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.base.BaseActivity;
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
import com.stu.assistant.dialog.DiaogUtil;
|
||||
import com.stu.assistant.dialog.PopWindowUtils;
|
||||
import com.stu.assistant.uitls.SharedConfig;
|
||||
import com.stu.assistant.uitls.SharedUtil;
|
||||
|
||||
import cn.bmob.v3.BmobUser;
|
||||
|
||||
//设置页面
|
||||
public class SettingActivity extends BaseActivity {
|
||||
|
||||
private TextView accountTv, titleTv;
|
||||
private LinearLayout lay, backLay;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_setting;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
accountTv = findViewById(R.id.tv_account);
|
||||
titleTv = findViewById(R.id.title_tv);
|
||||
titleTv.setText("设置");
|
||||
backLay = findViewById(R.id.back_lay);
|
||||
lay = findViewById(R.id.lay);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
accountTv.setText("登录账号:" + SharedUtil.create(SettingActivity.this).getString(SharedConfig.loginName));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initListener() {
|
||||
backLay.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
Intent intent = new Intent(SettingActivity.this, MainActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void BtnOutOnClick(View view) {
|
||||
BaseApplion.getActivityManage().finishAll();
|
||||
SharedUtil.create(BaseApplion.application).clear();
|
||||
BmobUser.logOut();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
Intent intent = new Intent(SettingActivity.this, MainActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void OnColorClick(View view) {
|
||||
DiaogUtil.showSelectColorDialog(SettingActivity.this, lay, "", new DiaogUtil.OnNickNameLisenter() {
|
||||
@Override
|
||||
public void OnOkBtn(String msg, PopWindowUtils popWindow) {
|
||||
|
||||
//自己跳转自己 ,关掉动画 无感处理
|
||||
Intent mIntent = getIntent();
|
||||
finish();
|
||||
//关掉栈中其他的activity ,但主页的不能关掉
|
||||
BaseApplion.getActivityManage().finishAct();
|
||||
overridePendingTransition(0, 0);
|
||||
startActivity(mIntent);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBgClick(View view) {
|
||||
DiaogUtil.showSelectBgDialog(SettingActivity.this, lay, new DiaogUtil.OnNickNameLisenter() {
|
||||
@Override
|
||||
public void OnOkBtn(String msg, PopWindowUtils popWindow) {
|
||||
Intent intent = new Intent(SettingActivity.this, MainActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@ -0,0 +1,144 @@
|
||||
package com.stu.assistant.activity;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import cn.bmob.v3.BmobQuery;
|
||||
import cn.bmob.v3.exception.BmobException;
|
||||
import cn.bmob.v3.listener.FindListener;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Handler;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.adapter.TableAllListAdapter;
|
||||
import com.stu.assistant.base.BaseActivity;
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
import com.stu.assistant.bean.AllTableListBean;
|
||||
import com.stu.assistant.uitls.DividerItemDecorationUtil;
|
||||
import com.stu.assistant.uitls.LogUtils;
|
||||
import com.stu.assistant.uitls.SharedConfig;
|
||||
import com.stu.assistant.uitls.SharedUtil;
|
||||
import com.stu.assistant.view.MySwipeRefreshLayout;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
//课程列表
|
||||
public class TableListActivity extends BaseActivity {
|
||||
private RecyclerView mrv;
|
||||
private TableAllListAdapter adapter;
|
||||
private MySwipeRefreshLayout swip;
|
||||
private Handler handler;
|
||||
private String userLevel, title;
|
||||
private int itemType;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_table_list;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
swip = findViewById(R.id.swip_rf);
|
||||
mrv = findViewById(R.id.mrv);
|
||||
handler = new Handler();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
LinearLayoutManager manager = new LinearLayoutManager(this);
|
||||
manager.setOrientation(LinearLayoutManager.VERTICAL);
|
||||
mrv.addItemDecoration(new DividerItemDecorationUtil(this, false));
|
||||
mrv.setLayoutManager(manager);
|
||||
Intent intent = getIntent();
|
||||
userLevel = intent.getStringExtra("userLevel");
|
||||
title = intent.getStringExtra("title");
|
||||
itemType = intent.getIntExtra("itemType", 0);
|
||||
setTitleLay(R.id.title_tv, R.id.back_lay, title);
|
||||
setTextMsg(R.id.btn_register, "添加" + title);
|
||||
getData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initListener() {
|
||||
// 刷新数据
|
||||
swip.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
// 这里的作用是防止下拉刷新的时候还可以上拉加载
|
||||
getData();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void getData() {
|
||||
showProDialog("正在查询");
|
||||
BmobQuery<AllTableListBean> query = new BmobQuery<>();
|
||||
query.addWhereEqualTo("stuId", SharedUtil.create(BaseApplion.application).getString(SharedConfig.objectId));
|
||||
query.findObjects(new FindListener<AllTableListBean>() {
|
||||
@Override
|
||||
public void done(List<AllTableListBean> list, BmobException e) {
|
||||
LogUtils.i("list", "-stuId-findObjects-->" + new Gson().toJson(list));
|
||||
dismissProDialog();
|
||||
setAdapter((ArrayList<AllTableListBean>) list);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void setAdapter(ArrayList<AllTableListBean> mList) {
|
||||
if (mList == null) {
|
||||
mList = new ArrayList<>();
|
||||
}
|
||||
setTitleLay(R.id.title_tv, R.id.back_lay, title + "(" + mList.size() + ")");
|
||||
if (adapter == null) {
|
||||
adapter = new TableAllListAdapter(this, mList);
|
||||
mrv.setAdapter(adapter);
|
||||
adapter.setOnItemClickListeners(new TableAllListAdapter.OnItemClickListeners() {
|
||||
@Override
|
||||
public void itemBean(int pos, AllTableListBean tableListBean) {
|
||||
Intent intent = new Intent(TableListActivity.this, AddTableActivity.class);
|
||||
intent.putExtra("bean",tableListBean);
|
||||
startActivityForResult(intent, 201);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
adapter.setList(mList);
|
||||
adapter.notifyDataSetChanged();
|
||||
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
swip.setRefreshing(false);
|
||||
}
|
||||
}, 1000);
|
||||
if (mList.size() == 0) {
|
||||
Toast.makeText(this, "暂无数据", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
super.onBackPressed();
|
||||
finish();
|
||||
}
|
||||
|
||||
public void BtnAddOnClick(View view) {
|
||||
Intent intent = new Intent(TableListActivity.this, AddTableActivity.class);
|
||||
startActivityForResult(intent, 201);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (requestCode == 201) {
|
||||
if (resultCode == 12) {
|
||||
getData();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,144 @@
|
||||
package com.stu.assistant.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Handler;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.adapter.TaskAllListAdapter;
|
||||
import com.stu.assistant.base.BaseActivity;
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
import com.stu.assistant.bean.TaskBean;
|
||||
import com.stu.assistant.uitls.DividerItemDecorationUtil;
|
||||
import com.stu.assistant.uitls.LogUtils;
|
||||
import com.stu.assistant.uitls.SharedConfig;
|
||||
import com.stu.assistant.uitls.SharedUtil;
|
||||
import com.stu.assistant.view.MySwipeRefreshLayout;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import cn.bmob.v3.BmobQuery;
|
||||
import cn.bmob.v3.exception.BmobException;
|
||||
import cn.bmob.v3.listener.FindListener;
|
||||
//作业列表
|
||||
public class TaskListActivity extends BaseActivity {
|
||||
private RecyclerView mrv;
|
||||
private TaskAllListAdapter adapter;
|
||||
private MySwipeRefreshLayout swip;
|
||||
private Handler handler;
|
||||
private String userLevel, title;
|
||||
private int itemType;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_table_list;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
swip = findViewById(R.id.swip_rf);
|
||||
mrv = findViewById(R.id.mrv);
|
||||
handler = new Handler();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
LinearLayoutManager manager = new LinearLayoutManager(this);
|
||||
manager.setOrientation(LinearLayoutManager.VERTICAL);
|
||||
mrv.addItemDecoration(new DividerItemDecorationUtil(this, false));
|
||||
mrv.setLayoutManager(manager);
|
||||
Intent intent = getIntent();
|
||||
userLevel = intent.getStringExtra("userLevel");
|
||||
title = intent.getStringExtra("title");
|
||||
itemType = intent.getIntExtra("itemType", 0);
|
||||
setTitleLay(R.id.title_tv, R.id.back_lay, title);
|
||||
setTextMsg(R.id.btn_register, "添加" + title);
|
||||
getData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initListener() {
|
||||
// 刷新数据
|
||||
swip.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
// 这里的作用是防止下拉刷新的时候还可以上拉加载
|
||||
getData();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void getData() {
|
||||
showProDialog("正在查询");
|
||||
BmobQuery<TaskBean> query = new BmobQuery<>();
|
||||
query.addWhereEqualTo("stuId", SharedUtil.create(BaseApplion.application).getString(SharedConfig.objectId));
|
||||
query.findObjects(new FindListener<TaskBean>() {
|
||||
@Override
|
||||
public void done(List<TaskBean> list, BmobException e) {
|
||||
LogUtils.i("list", "-stuId-findObjects-->" + new Gson().toJson(list));
|
||||
dismissProDialog();
|
||||
setAdapter((ArrayList<TaskBean>) list);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void setAdapter(ArrayList<TaskBean> mList) {
|
||||
if (mList == null) {
|
||||
mList = new ArrayList<>();
|
||||
}
|
||||
setTitleLay(R.id.title_tv, R.id.back_lay, title + "(" + mList.size() + ")");
|
||||
if (adapter == null) {
|
||||
adapter = new TaskAllListAdapter(this, mList);
|
||||
mrv.setAdapter(adapter);
|
||||
adapter.setOnItemClickListeners(new TaskAllListAdapter.OnItemClickListeners() {
|
||||
@Override
|
||||
public void itemBean(int pos, TaskBean tableListBean) {
|
||||
Intent intent = new Intent(TaskListActivity.this, AddTaskActivity.class);
|
||||
intent.putExtra("bean",tableListBean);
|
||||
startActivityForResult(intent, 201);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
adapter.setList(mList);
|
||||
adapter.notifyDataSetChanged();
|
||||
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
swip.setRefreshing(false);
|
||||
}
|
||||
}, 1000);
|
||||
if (mList.size() == 0) {
|
||||
Toast.makeText(this, "暂无数据", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
super.onBackPressed();
|
||||
finish();
|
||||
}
|
||||
|
||||
public void BtnAddOnClick(View view) {
|
||||
Intent intent = new Intent(TaskListActivity.this, AddTaskActivity.class);
|
||||
startActivityForResult(intent, 201);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (requestCode == 201) {
|
||||
if (resultCode == 12) {
|
||||
getData();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,67 @@
|
||||
package com.stu.assistant.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.BaseAdapter;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
import com.stu.assistant.bean.MainModuleBean;
|
||||
import com.stu.assistant.uitls.ImageUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class HomeGvAdapter extends BaseAdapter {
|
||||
|
||||
private Context mContext;
|
||||
private ViewHolder holder;
|
||||
private ArrayList<MainModuleBean> list;
|
||||
|
||||
public HomeGvAdapter(Context context, ArrayList<MainModuleBean> moduleBeansList) {
|
||||
mContext = context;
|
||||
this.list = moduleBeansList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return list == null ? 0 : list.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getItem(int position) {
|
||||
return list.get(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getItemId(int position) {
|
||||
return position;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(mContext).inflate(R.layout.item_gridview, parent, false);
|
||||
holder = new ViewHolder(convertView);
|
||||
convertView.setTag(holder);
|
||||
} else {
|
||||
holder = (ViewHolder) convertView.getTag();
|
||||
}
|
||||
ImageUtil.showImageView(BaseApplion.application,list.get(position).getImageView(), holder.mImageView);
|
||||
holder.mTextView.setText(list.get(position).getName());
|
||||
return convertView;
|
||||
}
|
||||
|
||||
class ViewHolder {
|
||||
private ImageView mImageView;
|
||||
private TextView mTextView;
|
||||
|
||||
public ViewHolder(View convertView) {
|
||||
mImageView = (ImageView) convertView.findViewById(R.id.img_into);
|
||||
mTextView = (TextView) convertView.findViewById(R.id.tv);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,93 @@
|
||||
package com.stu.assistant.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.bean.AllTableListBean;
|
||||
import com.stu.assistant.constants.ConstansTableItemManager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
public class TableAllListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
ArrayList<AllTableListBean> list1 = new ArrayList<>();
|
||||
Context mContext;
|
||||
private String userLevel;
|
||||
private int itemType;
|
||||
|
||||
public TableAllListAdapter(Context mContext, ArrayList<AllTableListBean> list1) {
|
||||
this.mContext = mContext;
|
||||
this.list1 = list1;
|
||||
}
|
||||
|
||||
|
||||
public void setList(ArrayList<AllTableListBean> list1) {
|
||||
this.list1 = list1;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
ItemViewHodler sectionViewHodler = null;
|
||||
sectionViewHodler = new ItemViewHodler(LayoutInflater.from(mContext).inflate(R.layout.table_all_list_item_layout, parent, false), viewType);
|
||||
return sectionViewHodler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) {
|
||||
ItemViewHodler itemViewHodler = (ItemViewHodler) holder;
|
||||
itemViewHodler.nameTv.setText("课程表" + (position + 1) + "\n创建时间:" + list1.get(position).getCreatedAt());
|
||||
setOnItem(itemViewHodler.nameTv, position, list1.get(position));
|
||||
}
|
||||
|
||||
private void setOnItem(TextView time1Tv, int position, AllTableListBean AllTableListBean) {
|
||||
time1Tv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
listeners.itemBean(position, AllTableListBean);
|
||||
}
|
||||
});
|
||||
// if (position % 2 == 0) {
|
||||
// time1Tv.setBackgroundResource(R.color.mistyrose);
|
||||
// } else {
|
||||
// time1Tv.setBackgroundResource(R.color.light_blue_50);
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return list1.size();
|
||||
}
|
||||
|
||||
public class ItemViewHodler extends RecyclerView.ViewHolder {
|
||||
|
||||
public TextView nameTv;
|
||||
public int viewType;
|
||||
|
||||
public ItemViewHodler(@NonNull View itemView, int viewType) {
|
||||
super(itemView);
|
||||
this.viewType = viewType;
|
||||
nameTv = itemView.findViewById(R.id.name_tv);
|
||||
}
|
||||
|
||||
public int getViewType() {
|
||||
return viewType;
|
||||
}
|
||||
}
|
||||
|
||||
public interface OnItemClickListeners {
|
||||
void itemBean(int pos, AllTableListBean AllTableListBean);
|
||||
}
|
||||
|
||||
public OnItemClickListeners listeners;
|
||||
|
||||
public void setOnItemClickListeners(OnItemClickListeners listener) {
|
||||
this.listeners = listener;
|
||||
}
|
||||
}
|
@ -0,0 +1,127 @@
|
||||
package com.stu.assistant.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RadioGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.bean.TableBean;
|
||||
import com.stu.assistant.constants.ConstansTableItemManager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
public class TableListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
ArrayList<TableBean> list1 = new ArrayList<>();
|
||||
ArrayList<TableBean> list2 = new ArrayList<>();
|
||||
ArrayList<TableBean> list3 = new ArrayList<>();
|
||||
ArrayList<TableBean> list4 = new ArrayList<>();
|
||||
ArrayList<TableBean> list5 = new ArrayList<>();
|
||||
Context mContext;
|
||||
private String userLevel;
|
||||
private int itemType;
|
||||
|
||||
public TableListAdapter(Context mContext) {
|
||||
this.mContext = mContext;
|
||||
}
|
||||
|
||||
|
||||
public void setList(ArrayList<TableBean> list1, ArrayList<TableBean> list2, ArrayList<TableBean> list3, ArrayList<TableBean> list4, ArrayList<TableBean> list5) {
|
||||
this.list1 = list1;
|
||||
this.list2 = list2;
|
||||
this.list3 = list3;
|
||||
this.list4 = list4;
|
||||
this.list5 = list5;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
ItemViewHodler sectionViewHodler = null;
|
||||
sectionViewHodler = new ItemViewHodler(LayoutInflater.from(mContext).inflate(R.layout.table_item_layout, parent, false), viewType);
|
||||
return sectionViewHodler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) {
|
||||
ItemViewHodler itemViewHodler = (ItemViewHodler) holder;
|
||||
itemViewHodler.time1Tv.setText(list1.get(position).getTableNameMsg() + "[" +list1.get(position).getTeacherName()+","+ list1.get(position).getAddress()+"]");
|
||||
itemViewHodler.time2Tv.setText(list2.get(position).getTableNameMsg() + "[" + list2.get(position).getTeacherName()+","+list2.get(position).getAddress()+"]");
|
||||
itemViewHodler.time3Tv.setText(list3.get(position).getTableNameMsg() + "[" + list3.get(position).getTeacherName()+","+list3.get(position).getAddress()+"]");
|
||||
itemViewHodler.time4Tv.setText(list4.get(position).getTableNameMsg() + "[" + list4.get(position).getTeacherName()+","+list4.get(position).getAddress()+"]");
|
||||
itemViewHodler.time5Tv.setText(list5.get(position).getTableNameMsg() + "[" + list5.get(position).getTeacherName()+","+list5.get(position).getAddress()+"]");
|
||||
itemViewHodler.timeTv.setText("" + (position + 1));
|
||||
|
||||
itemViewHodler.time1Tv.setText(itemViewHodler.time1Tv.getText().toString().replace("[,]",""));
|
||||
itemViewHodler.time2Tv.setText(itemViewHodler.time2Tv.getText().toString().replace("[,]",""));
|
||||
itemViewHodler.time3Tv.setText(itemViewHodler.time3Tv.getText().toString().replace("[,]",""));
|
||||
itemViewHodler.time4Tv.setText(itemViewHodler.time4Tv.getText().toString().replace("[,]",""));
|
||||
itemViewHodler.time5Tv.setText(itemViewHodler.time5Tv.getText().toString().replace("[,]",""));
|
||||
setOnItem(itemViewHodler.time1Tv, position,list1.get(position), ConstansTableItemManager.item_1);
|
||||
setOnItem(itemViewHodler.time2Tv, position,list2.get(position), ConstansTableItemManager.item_2);
|
||||
setOnItem(itemViewHodler.time3Tv, position,list3.get(position), ConstansTableItemManager.item_3);
|
||||
setOnItem(itemViewHodler.time4Tv, position,list4.get(position), ConstansTableItemManager.item_4);
|
||||
setOnItem(itemViewHodler.time5Tv, position, list5.get(position),ConstansTableItemManager.item_5);
|
||||
setOnItem(itemViewHodler.timeTv, position,list1.get(position), ConstansTableItemManager.item_99);
|
||||
|
||||
}
|
||||
|
||||
private void setOnItem(TextView time1Tv, int position,TableBean tableBean, int item_1) {
|
||||
time1Tv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if(item_1 != ConstansTableItemManager.item_99){
|
||||
listeners.itemBean(position,tableBean, item_1);
|
||||
}
|
||||
}
|
||||
});
|
||||
// if (position % 2 == 0) {
|
||||
// time1Tv.setBackgroundResource(R.color.mistyrose);
|
||||
// } else {
|
||||
// time1Tv.setBackgroundResource(R.color.light_blue_50);
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return list1.size();
|
||||
}
|
||||
|
||||
public class ItemViewHodler extends RecyclerView.ViewHolder {
|
||||
|
||||
public TextView time1Tv, time2Tv, time3Tv, time4Tv, time5Tv, timeTv;
|
||||
public int viewType;
|
||||
|
||||
public ItemViewHodler(@NonNull View itemView, int viewType) {
|
||||
super(itemView);
|
||||
this.viewType = viewType;
|
||||
time1Tv = itemView.findViewById(R.id.tv_time1);
|
||||
time2Tv = itemView.findViewById(R.id.tv_time2);
|
||||
time3Tv = itemView.findViewById(R.id.tv_time3);
|
||||
time4Tv = itemView.findViewById(R.id.tv_time4);
|
||||
time5Tv = itemView.findViewById(R.id.tv_time5);
|
||||
timeTv = itemView.findViewById(R.id.tv_time);
|
||||
}
|
||||
|
||||
public int getViewType() {
|
||||
return viewType;
|
||||
}
|
||||
}
|
||||
|
||||
public interface OnItemClickListeners {
|
||||
void itemBean(int pos,TableBean tableBean, int day);
|
||||
}
|
||||
|
||||
public OnItemClickListeners listeners;
|
||||
|
||||
public void setOnItemClickListeners(OnItemClickListeners listener) {
|
||||
this.listeners = listener;
|
||||
}
|
||||
}
|
@ -0,0 +1,87 @@
|
||||
package com.stu.assistant.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.bean.TaskBean;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
public class TaskAllListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
ArrayList<TaskBean> list1 = new ArrayList<>();
|
||||
Context mContext;
|
||||
private String userLevel;
|
||||
private int itemType;
|
||||
|
||||
public TaskAllListAdapter(Context mContext, ArrayList<TaskBean> list1) {
|
||||
this.mContext = mContext;
|
||||
this.list1 = list1;
|
||||
}
|
||||
|
||||
|
||||
public void setList(ArrayList<TaskBean> list1) {
|
||||
this.list1 = list1;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
ItemViewHodler sectionViewHodler = null;
|
||||
sectionViewHodler = new ItemViewHodler(LayoutInflater.from(mContext).inflate(R.layout.table_all_list_item_layout, parent, false), viewType);
|
||||
return sectionViewHodler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) {
|
||||
ItemViewHodler itemViewHodler = (ItemViewHodler) holder;
|
||||
itemViewHodler.nameTv.setText("课程名称:" + list1.get(position).getTableNameMsg() + "\n截止时间:" + list1.get(position).getTime());
|
||||
setOnItem(itemViewHodler.nameTv, position, list1.get(position));
|
||||
}
|
||||
|
||||
private void setOnItem(TextView time1Tv, int position, TaskBean TaskBean) {
|
||||
time1Tv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
listeners.itemBean(position, TaskBean);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return list1.size();
|
||||
}
|
||||
|
||||
public class ItemViewHodler extends RecyclerView.ViewHolder {
|
||||
|
||||
public TextView nameTv;
|
||||
public int viewType;
|
||||
|
||||
public ItemViewHodler(@NonNull View itemView, int viewType) {
|
||||
super(itemView);
|
||||
this.viewType = viewType;
|
||||
nameTv = itemView.findViewById(R.id.name_tv);
|
||||
}
|
||||
|
||||
public int getViewType() {
|
||||
return viewType;
|
||||
}
|
||||
}
|
||||
|
||||
public interface OnItemClickListeners {
|
||||
void itemBean(int pos, TaskBean TaskBean);
|
||||
}
|
||||
|
||||
public OnItemClickListeners listeners;
|
||||
|
||||
public void setOnItemClickListeners(OnItemClickListeners listener) {
|
||||
this.listeners = listener;
|
||||
}
|
||||
}
|
@ -0,0 +1,82 @@
|
||||
package com.stu.assistant.base;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Stack;
|
||||
|
||||
/**
|
||||
* @ClassName ActivityManage
|
||||
* @Description Activity管理
|
||||
* @Author kaiguo
|
||||
* @Date 2020/3/17 11:10
|
||||
*/
|
||||
|
||||
public class ActivityManage {
|
||||
|
||||
//保存所有创建的Activity
|
||||
// private ArrayList<Activity> allActivities = new ArrayList<>();
|
||||
private Stack<Activity> allActivities = new Stack<>();
|
||||
|
||||
/**
|
||||
* 添加Activity到管理器
|
||||
*
|
||||
* @param activity activity
|
||||
*/
|
||||
public void addActivity(Activity activity) {
|
||||
if (activity != null) {
|
||||
allActivities.add(activity);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 从管理器移除Activity
|
||||
*
|
||||
* @param activity activity
|
||||
*/
|
||||
public void removeActivity(Activity activity) {
|
||||
if (activity != null) {
|
||||
allActivities.remove(activity);
|
||||
activity.finish();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭所有Activity
|
||||
*/
|
||||
public void finishAll() {
|
||||
for (Activity activity : allActivities) {
|
||||
activity.finish();
|
||||
}
|
||||
}
|
||||
|
||||
public void finishAct() {
|
||||
for (Activity activity : allActivities) {
|
||||
Log.i("hx","--activity.getLocalClassName()-->"+activity.getLocalClassName());
|
||||
if (!"activity.SettingActivity".equals(activity.getLocalClassName())) {
|
||||
activity.finish();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭所有Activity
|
||||
*/
|
||||
public Activity getCurrentActivity() {
|
||||
return allActivities.lastElement();
|
||||
|
||||
}
|
||||
|
||||
|
||||
public ArrayList<Activity> getAllActivities() {
|
||||
ArrayList<Activity> list = new ArrayList<>();
|
||||
if (allActivities.size() > 0) {
|
||||
for (Activity a : allActivities) {
|
||||
list.add(a);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package com.stu.assistant.base;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import com.stu.assistant.BuildConfig;
|
||||
import com.stu.assistant.net.OkGoConfig;
|
||||
import com.stu.assistant.uitls.CrashHandler;
|
||||
import com.stu.assistant.uitls.CrashHandlerManage;
|
||||
import com.stu.assistant.uitls.ShowClassNameCallBack;
|
||||
import com.tencent.bugly.crashreport.CrashReport;
|
||||
|
||||
import cn.bmob.v3.Bmob;
|
||||
|
||||
public class BaseApplion extends Application {
|
||||
public static BaseApplion application;
|
||||
public static ActivityManage activityManage;
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
application = this;
|
||||
|
||||
OkGoConfig.initOkGo(this);
|
||||
if (BuildConfig.DEBUG) {
|
||||
registerActivityLifecycleCallbacks(new ShowClassNameCallBack());
|
||||
CrashHandlerManage.getInstance()
|
||||
.init(getApplicationContext());
|
||||
CrashHandler.getInstance().setDelayTime(1000 * 60 * 1).init(getApplicationContext());
|
||||
}
|
||||
CrashReport.initCrashReport(getApplicationContext(), "6e238eccba", false);
|
||||
|
||||
Bmob.initialize(this, "76a343b680dc028081fb0dd8b028a08d");
|
||||
}
|
||||
|
||||
public static ActivityManage getActivityManage() {
|
||||
if (activityManage == null) {
|
||||
activityManage = new ActivityManage();
|
||||
}
|
||||
return activityManage;
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
package com.stu.assistant.base;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import cn.bmob.v3.BmobObject;
|
||||
|
||||
public class BaseBean extends BmobObject implements Serializable {
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.stu.assistant.base;
|
||||
|
||||
|
||||
import com.stu.assistant.uitls.Config;
|
||||
|
||||
public abstract class BasePresenter {
|
||||
private Config config;
|
||||
|
||||
public Config getConfig() {
|
||||
if (config == null) {
|
||||
config = new Config();
|
||||
}
|
||||
return config;
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.stu.assistant.bean;
|
||||
|
||||
import com.stu.assistant.base.BaseBean;
|
||||
|
||||
public class AllTableListBean extends BaseBean {
|
||||
private String tableIdMsg;//整个课程表的唯一id
|
||||
private String stuId;
|
||||
|
||||
public AllTableListBean() {
|
||||
}
|
||||
|
||||
public String getStuId() {
|
||||
return stuId;
|
||||
}
|
||||
|
||||
public void setStuId(String stuId) {
|
||||
this.stuId = stuId;
|
||||
}
|
||||
|
||||
public String getTableIdMsg() {
|
||||
return tableIdMsg;
|
||||
}
|
||||
|
||||
public void setTableIdMsg(String tableIdMsg) {
|
||||
this.tableIdMsg = tableIdMsg;
|
||||
}
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package com.stu.assistant.bean;
|
||||
|
||||
/**
|
||||
* Created by stf on 2018-07-25.
|
||||
*/
|
||||
|
||||
public class MainModuleBean {
|
||||
private String name;
|
||||
private int imageView;
|
||||
private int itemFlag;
|
||||
private String other;
|
||||
|
||||
|
||||
public MainModuleBean(String name, int itemFlag, int imageView) {
|
||||
this.name = name;
|
||||
this.imageView = imageView;
|
||||
this.itemFlag = itemFlag;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public int getImageView() {
|
||||
return imageView;
|
||||
}
|
||||
|
||||
public void setImageView(int imageView) {
|
||||
this.imageView = imageView;
|
||||
}
|
||||
|
||||
public int getItemFlag() {
|
||||
return itemFlag;
|
||||
}
|
||||
|
||||
public void setItemFlag(int itemFlag) {
|
||||
this.itemFlag = itemFlag;
|
||||
}
|
||||
|
||||
public String getOther() {
|
||||
return other;
|
||||
}
|
||||
|
||||
public void setOther(String other) {
|
||||
this.other = other;
|
||||
}
|
||||
}
|
@ -0,0 +1,92 @@
|
||||
package com.stu.assistant.bean;
|
||||
|
||||
import com.stu.assistant.base.BaseBean;
|
||||
|
||||
public class TableBean extends BaseBean {
|
||||
private String tableNameMsg;
|
||||
private String teacherName;
|
||||
private String teacherId;
|
||||
private String stuId;
|
||||
private String Address;
|
||||
private int day;//周几
|
||||
private int pos;//第几节
|
||||
private String tableIdMsg;//整个课程表的唯一id
|
||||
private String mark;//注意事项
|
||||
|
||||
public TableBean() {
|
||||
}
|
||||
|
||||
public String getMark() {
|
||||
return mark;
|
||||
}
|
||||
|
||||
public void setMark(String mark) {
|
||||
this.mark = mark;
|
||||
}
|
||||
|
||||
public String getTableIdMsg() {
|
||||
return tableIdMsg;
|
||||
}
|
||||
|
||||
public void setTableIdMsg(String tableIdMsg) {
|
||||
this.tableIdMsg = tableIdMsg;
|
||||
}
|
||||
|
||||
public String getStuId() {
|
||||
return stuId;
|
||||
}
|
||||
|
||||
public void setStuId(String stuId) {
|
||||
this.stuId = stuId;
|
||||
}
|
||||
|
||||
public String getTeacherId() {
|
||||
return teacherId;
|
||||
}
|
||||
|
||||
public void setTeacherId(String teacherId) {
|
||||
this.teacherId = teacherId;
|
||||
}
|
||||
|
||||
public int getPos() {
|
||||
return pos;
|
||||
}
|
||||
|
||||
public void setPos(int pos) {
|
||||
this.pos = pos;
|
||||
}
|
||||
|
||||
public int getDay() {
|
||||
return day;
|
||||
}
|
||||
|
||||
public void setDay(int day) {
|
||||
this.day = day;
|
||||
}
|
||||
|
||||
public String getTableNameMsg() {
|
||||
return tableNameMsg;
|
||||
}
|
||||
|
||||
public void setTableNameMsg(String tableNameMsg) {
|
||||
this.tableNameMsg = tableNameMsg;
|
||||
}
|
||||
|
||||
public String getTeacherName() {
|
||||
return teacherName;
|
||||
}
|
||||
|
||||
public void setTeacherName(String teacherName) {
|
||||
this.teacherName = teacherName;
|
||||
}
|
||||
|
||||
public String getAddress() {
|
||||
return Address;
|
||||
}
|
||||
|
||||
public void setAddress(String address) {
|
||||
Address = address;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
package com.stu.assistant.bean;
|
||||
|
||||
import com.stu.assistant.base.BaseBean;
|
||||
|
||||
public class TableTimeBean extends BaseBean {
|
||||
private String time;//具体的某一天
|
||||
private String day;//周几
|
||||
private int tableMsg;//第几节
|
||||
private String mark;
|
||||
private String teacherId;
|
||||
private String teacherName;
|
||||
|
||||
public int getTableMsg() {
|
||||
return tableMsg;
|
||||
}
|
||||
|
||||
public void setTableMsg(int tableMsg) {
|
||||
this.tableMsg = tableMsg;
|
||||
}
|
||||
|
||||
public String getTime() {
|
||||
return time;
|
||||
}
|
||||
|
||||
public void setTime(String time) {
|
||||
this.time = time;
|
||||
}
|
||||
|
||||
public String getDay() {
|
||||
return day;
|
||||
}
|
||||
|
||||
public void setDay(String day) {
|
||||
this.day = day;
|
||||
}
|
||||
|
||||
public String getMark() {
|
||||
return mark;
|
||||
}
|
||||
|
||||
public void setMark(String mark) {
|
||||
this.mark = mark;
|
||||
}
|
||||
|
||||
public String getTeacherId() {
|
||||
return teacherId;
|
||||
}
|
||||
|
||||
public void setTeacherId(String teacherId) {
|
||||
this.teacherId = teacherId;
|
||||
}
|
||||
|
||||
public String getTeacherName() {
|
||||
return teacherName;
|
||||
}
|
||||
|
||||
public void setTeacherName(String teacherName) {
|
||||
this.teacherName = teacherName;
|
||||
}
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
package com.stu.assistant.bean;
|
||||
|
||||
import com.stu.assistant.base.BaseBean;
|
||||
|
||||
public class TaskBean extends BaseBean {
|
||||
private String tableNameMsg;//课程名称
|
||||
private String tableIdMsg;//课程名称 id
|
||||
private String taskMsg;//作业内容
|
||||
private String time;//时间
|
||||
private String stuId;//学生
|
||||
|
||||
public TaskBean() {
|
||||
}
|
||||
|
||||
public String getTableIdMsg() {
|
||||
return tableIdMsg;
|
||||
}
|
||||
|
||||
public void setTableIdMsg(String tableIdMsg) {
|
||||
this.tableIdMsg = tableIdMsg;
|
||||
}
|
||||
|
||||
public String getTableNameMsg() {
|
||||
return tableNameMsg;
|
||||
}
|
||||
|
||||
public void setTableNameMsg(String tableNameMsg) {
|
||||
this.tableNameMsg = tableNameMsg;
|
||||
}
|
||||
|
||||
public String getTaskMsg() {
|
||||
return taskMsg;
|
||||
}
|
||||
|
||||
public void setTaskMsg(String taskMsg) {
|
||||
this.taskMsg = taskMsg;
|
||||
}
|
||||
|
||||
public String getTime() {
|
||||
return time;
|
||||
}
|
||||
|
||||
public void setTime(String time) {
|
||||
this.time = time;
|
||||
}
|
||||
|
||||
public String getStuId() {
|
||||
return stuId;
|
||||
}
|
||||
|
||||
public void setStuId(String stuId) {
|
||||
this.stuId = stuId;
|
||||
}
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
package com.stu.assistant.bean;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import cn.bmob.v3.BmobUser;
|
||||
|
||||
public class UserInfoBean extends BmobUser {
|
||||
private String nickName;
|
||||
public String userId;
|
||||
public String age;
|
||||
public String address;
|
||||
public String userLevel;//等级
|
||||
public String userType;//用户角色
|
||||
public String evaluate;//评分
|
||||
|
||||
|
||||
public UserInfoBean() {
|
||||
}
|
||||
|
||||
public String getEvaluate() {
|
||||
return evaluate;
|
||||
}
|
||||
|
||||
public void setEvaluate(String evaluate) {
|
||||
this.evaluate = evaluate;
|
||||
}
|
||||
|
||||
public String getUserLevel() {
|
||||
return userLevel;
|
||||
}
|
||||
|
||||
public void setUserLevel(String userLevel) {
|
||||
this.userLevel = userLevel;
|
||||
}
|
||||
|
||||
public String getUserType() {
|
||||
return userType;
|
||||
}
|
||||
|
||||
public void setUserType(String userType) {
|
||||
this.userType = userType;
|
||||
}
|
||||
|
||||
|
||||
public String getNickName() {
|
||||
return nickName;
|
||||
}
|
||||
|
||||
public void setNickName(String nickName) {
|
||||
this.nickName = nickName;
|
||||
}
|
||||
|
||||
public String getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(String userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getAge() {
|
||||
return age;
|
||||
}
|
||||
|
||||
public void setAge(String age) {
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
public String getAddress() {
|
||||
return address;
|
||||
}
|
||||
|
||||
public void setAddress(String address) {
|
||||
this.address = address;
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package com.stu.assistant.constants;
|
||||
|
||||
public class ConstansItemManager {
|
||||
public static final int item_1 = 1; //课表
|
||||
public static final int item_2 = 2; //作业
|
||||
public static final int item_3 = 3; //设置
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.stu.assistant.constants;
|
||||
|
||||
public class ConstansTableItemManager {
|
||||
public static final int item_1 = 1;
|
||||
public static final int item_2 = 2;
|
||||
public static final int item_3 = 3;
|
||||
public static final int item_4 = 4;
|
||||
public static final int item_5 = 5;
|
||||
public static final int item_6 = 6;
|
||||
public static final int item_7 = 7;
|
||||
public static final int item_99 = 99;
|
||||
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package com.stu.assistant.constants;
|
||||
|
||||
public class ConstansUserManager {
|
||||
public static final String Level_1 = "10"; //管理员
|
||||
public static final String Level_2 = "20";//部门管理
|
||||
public static final String Level_3 = "30";//学生
|
||||
public static final String Level_4 = "40";//大众用户
|
||||
public static final String UserType_1 = "1";//管理员
|
||||
public static final String UserType_2 = "2";//用户
|
||||
}
|
@ -0,0 +1,318 @@
|
||||
package com.stu.assistant.dialog;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.EditText;
|
||||
import android.widget.RadioGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
//import com.bigkoo.pickerview.builder.TimePickerBuilder;
|
||||
//import com.bigkoo.pickerview.listener.OnTimeSelectListener;
|
||||
//import com.bigkoo.pickerview.view.TimePickerView;
|
||||
//import com.wwdw.easytimeapplication.R;
|
||||
//import com.wwdw.easytimeapplication.contants.AddMoneyBeanType;
|
||||
//import com.wwdw.easytimeapplication.uitls.AppTools;
|
||||
//import com.wwdw.easytimeapplication.uitls.CalendarUtil;
|
||||
//import com.wwdw.easytimeapplication.uitls.MyToast;
|
||||
//import com.wwdw.easytimeapplication.uitls.ScriptEngineUtils;
|
||||
|
||||
import com.bigkoo.pickerview.builder.TimePickerBuilder;
|
||||
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
|
||||
import com.bigkoo.pickerview.view.TimePickerView;
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
import com.stu.assistant.uitls.AppTools;
|
||||
import com.stu.assistant.uitls.CalendarUtil;
|
||||
import com.stu.assistant.uitls.MyToast;
|
||||
import com.stu.assistant.uitls.SharedConfig;
|
||||
import com.stu.assistant.uitls.SharedNoClearUtil;
|
||||
import com.stu.assistant.uitls.SharedUtil;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
public class DiaogUtil {
|
||||
private PopWindowUtils popWindowUtils;
|
||||
|
||||
public static void showInputDialog(final Activity activity, View parent_view, final String title, final OnShowInputLisenter lisenter) {
|
||||
final PopWindowUtils popWindowUtils = new PopWindowUtils(activity);
|
||||
popWindowUtils.setFocusables(true);
|
||||
// popWindowUtils.setWidthSize(AppTools.getScreenWidth(activity));
|
||||
popWindowUtils.setWidthSize(AppTools.getScreenWidth(activity) - AppTools.dip2px(activity, 20));
|
||||
popWindowUtils.setOnViewClickListener(new PopWindowUtils.ContentView() {
|
||||
@Override
|
||||
public void getContentView(View contentView, PopWindowUtils popWindow) {
|
||||
|
||||
}
|
||||
}).setConView(R.layout.input_dialog_layout).showInCenter(parent_view);
|
||||
}
|
||||
|
||||
|
||||
public static void showDelDialog(Activity activity, View parent_view, final String msg, final OnNickNameLisenter lisenter) {
|
||||
final PopWindowUtils popWindowUtils = new PopWindowUtils(activity);
|
||||
popWindowUtils.setFocusables(true);
|
||||
// popWindowUtils.setWidthSize(AppTools.getScreenWidth(activity));
|
||||
popWindowUtils.setWidthSize(AppTools.getScreenWidth(activity) - AppTools.dip2px(activity, 20));
|
||||
popWindowUtils.setOnViewClickListener(new PopWindowUtils.ContentView() {
|
||||
@Override
|
||||
public void getContentView(View contentView, final PopWindowUtils popWindow) {
|
||||
TextView canTv = contentView.findViewById(R.id.tv_can);
|
||||
TextView okTv = contentView.findViewById(R.id.tv_ok);
|
||||
final TextView editText = contentView.findViewById(R.id.mark_edit);
|
||||
if (!TextUtils.isEmpty(msg)) {
|
||||
editText.setText("确定要删除" + msg + "吗?");
|
||||
}
|
||||
canTv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
popWindow.dismiss();
|
||||
}
|
||||
});
|
||||
okTv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
popWindow.dismiss();
|
||||
lisenter.OnOkBtn(msg, popWindow);
|
||||
}
|
||||
});
|
||||
}
|
||||
}).setConView(R.layout.select_color_dialog_layout).showInCenter(parent_view);
|
||||
}
|
||||
|
||||
public static void showOutAppDialog(Activity activity, View parent_view, final String msg, final OnNickNameLisenter lisenter) {
|
||||
final PopWindowUtils popWindowUtils = new PopWindowUtils(activity);
|
||||
popWindowUtils.setFocusables(true);
|
||||
// popWindowUtils.setWidthSize(AppTools.getScreenWidth(activity));
|
||||
popWindowUtils.setWidthSize(AppTools.getScreenWidth(activity) - AppTools.dip2px(activity, 20));
|
||||
popWindowUtils.setOnViewClickListener(new PopWindowUtils.ContentView() {
|
||||
@Override
|
||||
public void getContentView(View contentView, final PopWindowUtils popWindow) {
|
||||
TextView canTv = contentView.findViewById(R.id.tv_can);
|
||||
TextView okTv = contentView.findViewById(R.id.tv_ok);
|
||||
final TextView editText = contentView.findViewById(R.id.mark_edit);
|
||||
editText.setText("确定退出?");
|
||||
canTv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
popWindow.dismiss();
|
||||
}
|
||||
});
|
||||
okTv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
popWindow.dismiss();
|
||||
lisenter.OnOkBtn(msg, popWindow);
|
||||
}
|
||||
});
|
||||
}
|
||||
}).setConView(R.layout.select_color_dialog_layout).showInCenter(parent_view);
|
||||
}
|
||||
|
||||
public static void showSelectColorDialog(Activity activity, View parent_view, final String msg, final OnNickNameLisenter lisenter) {
|
||||
final PopWindowUtils popWindowUtils = new PopWindowUtils(activity);
|
||||
popWindowUtils.setFocusables(true);
|
||||
// popWindowUtils.setWidthSize(AppTools.getScreenWidth(activity));
|
||||
popWindowUtils.setWidthSize(AppTools.getScreenWidth(activity) - AppTools.dip2px(activity, 20));
|
||||
popWindowUtils.setOnViewClickListener(new PopWindowUtils.ContentView() {
|
||||
@Override
|
||||
public void getContentView(View contentView, final PopWindowUtils popWindow) {
|
||||
TextView canTv = contentView.findViewById(R.id.tv_can);
|
||||
TextView okTv = contentView.findViewById(R.id.tv_ok);
|
||||
RadioGroup radioGroup = contentView.findViewById(R.id.rg);
|
||||
canTv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
popWindow.dismiss();
|
||||
}
|
||||
});
|
||||
okTv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
int checkedRadioButtonId = radioGroup.getCheckedRadioButtonId();
|
||||
if (checkedRadioButtonId == R.id.rb_1) {
|
||||
SharedNoClearUtil.create(BaseApplion.application).putString(SharedConfig.isTheme,SharedConfig.isThemeMy);
|
||||
lisenter.OnOkBtn(msg, popWindow);
|
||||
}
|
||||
|
||||
if (checkedRadioButtonId == R.id.rb_2) {
|
||||
SharedNoClearUtil.create(BaseApplion.application).putString(SharedConfig.isTheme,SharedConfig.isThemeSys);
|
||||
lisenter.OnOkBtn(msg, popWindow);
|
||||
}
|
||||
popWindow.dismiss();
|
||||
}
|
||||
});
|
||||
}
|
||||
}).setConView(R.layout.select_color_dialog_layout).showInCenter(parent_view);
|
||||
}
|
||||
public static void showSelectBgDialog(Activity activity, View parent_view, final OnNickNameLisenter lisenter) {
|
||||
final PopWindowUtils popWindowUtils = new PopWindowUtils(activity);
|
||||
popWindowUtils.setFocusables(true);
|
||||
// popWindowUtils.setWidthSize(AppTools.getScreenWidth(activity));
|
||||
popWindowUtils.setWidthSize(AppTools.getScreenWidth(activity) - AppTools.dip2px(activity, 20));
|
||||
popWindowUtils.setOnViewClickListener(new PopWindowUtils.ContentView() {
|
||||
@Override
|
||||
public void getContentView(View contentView, final PopWindowUtils popWindow) {
|
||||
TextView canTv = contentView.findViewById(R.id.tv_can);
|
||||
TextView okTv = contentView.findViewById(R.id.tv_ok);
|
||||
RadioGroup radioGroup = contentView.findViewById(R.id.rg);
|
||||
canTv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
popWindow.dismiss();
|
||||
}
|
||||
});
|
||||
okTv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
int checkedRadioButtonId = radioGroup.getCheckedRadioButtonId();
|
||||
if (checkedRadioButtonId == R.id.rb_1) {
|
||||
SharedNoClearUtil.create(BaseApplion.application).putString(SharedConfig.isBg,SharedConfig.isBg_1);
|
||||
}
|
||||
|
||||
if (checkedRadioButtonId == R.id.rb_2) {
|
||||
SharedNoClearUtil.create(BaseApplion.application).putString(SharedConfig.isBg,SharedConfig.isBg_2);
|
||||
}
|
||||
if (checkedRadioButtonId == R.id.rb_3) {
|
||||
SharedNoClearUtil.create(BaseApplion.application).putString(SharedConfig.isBg,SharedConfig.isBg_3);
|
||||
}
|
||||
if (checkedRadioButtonId == R.id.rb_4) {
|
||||
SharedNoClearUtil.create(BaseApplion.application).putString(SharedConfig.isBg,SharedConfig.isBg_4);
|
||||
}
|
||||
lisenter.OnOkBtn("", popWindow);
|
||||
popWindow.dismiss();
|
||||
}
|
||||
});
|
||||
}
|
||||
}).setConView(R.layout.select_bg_dialog_layout).showInCenter(parent_view);
|
||||
}
|
||||
|
||||
public static void showTipDialog(Activity activity, View parent_view, final String msg, final OnNickNameLisenter lisenter) {
|
||||
final PopWindowUtils popWindowUtils = new PopWindowUtils(activity);
|
||||
popWindowUtils.setFocusables(true);
|
||||
popWindowUtils.setEditDissmiss(false);
|
||||
// popWindowUtils.setWidthSize(AppTools.getScreenWidth(activity));
|
||||
popWindowUtils.setWidthSize(AppTools.getScreenWidth(activity) - AppTools.dip2px(activity, 20));
|
||||
popWindowUtils.setOnViewClickListener(new PopWindowUtils.ContentView() {
|
||||
@Override
|
||||
public void getContentView(View contentView, final PopWindowUtils popWindow) {
|
||||
TextView canTv = contentView.findViewById(R.id.tv_can);
|
||||
TextView okTv = contentView.findViewById(R.id.tv_ok);
|
||||
final EditText editText = contentView.findViewById(R.id.mark_edit);
|
||||
okTv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
String ymd = new CalendarUtil().getYMD3();
|
||||
Log.i("hx", "--ymd-->" + ymd);
|
||||
int num = Integer.parseInt(ymd.substring(ymd.length() - 1, ymd.length())) + 3;
|
||||
Log.i("hx", "--num-->" + num);
|
||||
String pwd = ymd + ymd.substring(ymd.length() - 2, ymd.length()) + num;
|
||||
Log.i("hx", "--pwd-->" + pwd);
|
||||
|
||||
String msgNew = editText.getText().toString();
|
||||
if (TextUtils.isEmpty(msgNew)) {
|
||||
MyToast.show("请输入密码");
|
||||
return;
|
||||
}
|
||||
String uidFromBase64 = AppTools.getUidFromBase64(msgNew);
|
||||
Log.i("hx", "--msgNew--->" + msgNew + "-uidFromBase64-->" + uidFromBase64);
|
||||
if (uidFromBase64.equals(pwd) || uidFromBase64.equals("10001")) {
|
||||
popWindowUtils.setEditDissmiss(true);
|
||||
if (uidFromBase64.equals("10001")) {
|
||||
String addDay = new CalendarUtil().setAddDay(new Date(), 365 * 10);
|
||||
SharedNoClearUtil.create(BaseApplion.application).putString(SharedConfig.initTime, addDay);
|
||||
} else {
|
||||
String addDay = new CalendarUtil().setAddDay(new Date(), 3);
|
||||
SharedNoClearUtil.create(BaseApplion.application).putString(SharedConfig.initTime, addDay);
|
||||
}
|
||||
popWindow.dismiss();
|
||||
lisenter.OnOkBtn(msgNew, popWindow);
|
||||
} else {
|
||||
MyToast.show("密码错误");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}).setConView(R.layout.tip_dialog_layout).showInCenter(parent_view);
|
||||
}
|
||||
|
||||
|
||||
public static void showSelectTimeDialog(Activity activity, final OnSelectLisenter lisenter) {
|
||||
Calendar selectedDate = Calendar.getInstance();
|
||||
CalendarUtil instance = CalendarUtil.getInstance();
|
||||
Date date1 = instance.strToDate2(instance.getYMDHM());
|
||||
Date date = instance.setAddYear2(date1, 10);
|
||||
Calendar instance1 = Calendar.getInstance();
|
||||
instance1.setTime(date);
|
||||
selectedDate.setTime(date1);
|
||||
final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
||||
boolean[] booleans = {true, true, true, true, true, false};
|
||||
TimePickerView pvTime = new TimePickerBuilder(activity, new OnTimeSelectListener() {
|
||||
@Override
|
||||
public void onTimeSelect(Date date, View v1) {
|
||||
String time = dateFormat.format(date);
|
||||
lisenter.OnOkBtn(time);
|
||||
}
|
||||
}).setDecorView((ViewGroup) activity.getWindow().getDecorView().findViewById(android.R.id.content))
|
||||
.setSubmitColor(R.color.app_yellow)
|
||||
.setCancelColor(R.color.app_yellow)
|
||||
.setDate(selectedDate)
|
||||
.setType(booleans)
|
||||
.isCyclic(true)
|
||||
.build();
|
||||
pvTime.show();
|
||||
}
|
||||
|
||||
public interface OnSelectLisenter {
|
||||
void OnOkBtn(String time);
|
||||
}
|
||||
|
||||
|
||||
private static void clickListener(final TextView callTv, final TextView moneyTv) {
|
||||
callTv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
String moneyMsg = getMoney(moneyTv);
|
||||
String s = getNum(callTv);
|
||||
String msg = moneyMsg + s;
|
||||
Log.i("stf", "-clickListener-->" + msg + "-s-->" + s + "-moneyMsg-->" + moneyMsg);
|
||||
if (!TextUtils.isEmpty(msg)) {
|
||||
if ((msg.endsWith("+")) || (msg.endsWith("-"))) {
|
||||
} else {
|
||||
setMoney(msg, moneyTv);
|
||||
}
|
||||
} else {
|
||||
setMoney(s, moneyTv);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static String getMoney(TextView textView) {
|
||||
return textView.getText().toString().trim().replace(" ", "");
|
||||
}
|
||||
|
||||
private static String getNum(TextView textView) {
|
||||
return textView.getText().toString().trim().replace(" ", "");
|
||||
}
|
||||
|
||||
private static void setMoney(String msg, TextView textView) {
|
||||
textView.setText(msg);
|
||||
}
|
||||
|
||||
|
||||
public interface OnShowInputLisenter {
|
||||
void OnOkBtn(String moneyMsg, String markMsg, String time);
|
||||
}
|
||||
|
||||
public interface OnNickNameLisenter {
|
||||
void OnOkBtn(String msg, PopWindowUtils popWindow);
|
||||
}
|
||||
|
||||
public interface OnSelectTypeLisenter {
|
||||
void OnOkBtn(int type);
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.stu.assistant.net;
|
||||
|
||||
/**
|
||||
* @ClassName Api
|
||||
* @Description 存储接口地址
|
||||
* @Author kaiguo
|
||||
* @Date 2020/3/17 11:01
|
||||
*/
|
||||
public interface Api {
|
||||
|
||||
|
||||
/**
|
||||
* 登录
|
||||
*/
|
||||
|
||||
String LOGIN = "user/login";
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description: (描述) 根据id获取货架信息
|
||||
* @author stf
|
||||
* @date 2021/11/30
|
||||
*/
|
||||
|
||||
String getShelvedById = "whManage/getShelvedById";
|
||||
|
||||
|
||||
/**
|
||||
* @Description: (描述) 根据id获取订单明细信息
|
||||
* @author stf
|
||||
* @date 2021/11/30
|
||||
*/
|
||||
|
||||
String getDetailById = "inOut/getDetailById";
|
||||
|
||||
/**
|
||||
* @Description: (描述)批量入库
|
||||
* @author stf
|
||||
* @date 2021/11/30
|
||||
*/
|
||||
|
||||
String batchWarehousing = "whApp/batchWarehousing";
|
||||
|
||||
/**
|
||||
* @Description: (描述)批量出库
|
||||
* @author stf
|
||||
* @date 2021/11/30
|
||||
*/
|
||||
|
||||
String batchExWarehouse = "whApp/batchExWarehouse";
|
||||
|
||||
/**
|
||||
* @Description: (描述)清空货架
|
||||
* @author stf
|
||||
* @date 2021/11/30
|
||||
*/
|
||||
|
||||
String emptyShelves = "whApp/emptyShelves";
|
||||
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
package com.stu.assistant.net;
|
||||
|
||||
public class NetConfig {
|
||||
/**
|
||||
* 请求授权码
|
||||
*/
|
||||
public static final String SERVER_URL = "http://47.102.116.226/api/";
|
||||
|
||||
/**
|
||||
* 响应的返回key
|
||||
*/
|
||||
public class Code {
|
||||
public static final String SUCCESS = "success";
|
||||
public static final String MSG = "errorMsg";
|
||||
public static final String CODE = "errorCode";
|
||||
public static final String MODEL = "data";
|
||||
}
|
||||
|
||||
/**
|
||||
* 网络请求Url
|
||||
*/
|
||||
public static class Url {
|
||||
|
||||
//服务器地址
|
||||
interface BaseUrl {
|
||||
/**
|
||||
* 新昌环境
|
||||
*/
|
||||
String SERVER_PRODUCTION = "http://47.102.116.226:28890/wh/";
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回服务器基础地址
|
||||
*/
|
||||
public static String getBaseUrl(String url) {
|
||||
return BaseUrl.SERVER_PRODUCTION + url;
|
||||
}
|
||||
}
|
||||
|
||||
public static final String NetError = "暂无网络连接";
|
||||
public static final String ConnectError = "服务器连接失败";
|
||||
public static final String DataError = "数据返回异常";
|
||||
public static final int Success = 200;
|
||||
public static final int OutApp = 401;
|
||||
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package com.stu.assistant.net.imp;
|
||||
|
||||
import com.lzy.okgo.model.Response;
|
||||
|
||||
public interface OnModleResultListener<T> {
|
||||
void onSuccess(T bean);
|
||||
|
||||
void onError(String e);
|
||||
|
||||
void onConnectFail(String msg, Response<String> response);
|
||||
}
|
@ -0,0 +1,77 @@
|
||||
package com.stu.assistant.presenter;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.stu.assistant.activity.LoginActivity;
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
import com.stu.assistant.base.BasePresenter;
|
||||
import com.stu.assistant.bean.UserInfoBean;
|
||||
import com.stu.assistant.uitls.LogUtils;
|
||||
import com.stu.assistant.uitls.SharedConfig;
|
||||
import com.stu.assistant.uitls.SharedUtil;
|
||||
|
||||
import cn.bmob.v3.BmobUser;
|
||||
import cn.bmob.v3.exception.BmobException;
|
||||
import cn.bmob.v3.listener.SaveListener;
|
||||
|
||||
public class LoginPresenter extends BasePresenter {
|
||||
private LoginActivity activity;
|
||||
|
||||
public LoginPresenter(LoginActivity mAct) {
|
||||
this.activity = mAct;
|
||||
}
|
||||
|
||||
public void saveUser(UserInfoBean bean) {
|
||||
SharedUtil.create(BaseApplion.application).putString(SharedConfig.loginName, bean.getUsername());
|
||||
SharedUtil.create(BaseApplion.application).putString(SharedConfig.nickName, bean.getNickName());
|
||||
SharedUtil.create(BaseApplion.application).putString(SharedConfig.whToken, bean.getSessionToken());
|
||||
SharedUtil.create(BaseApplion.application).putString(SharedConfig.objectId, bean.getObjectId());
|
||||
SharedUtil.create(BaseApplion.application).putString(SharedConfig.userLevel, bean.getUserLevel());
|
||||
SharedUtil.create(BaseApplion.application).putString(SharedConfig.userType, bean.getUserType());
|
||||
SharedUtil.create(BaseApplion.application).putBoolean(SharedConfig.isLogin, true);
|
||||
}
|
||||
|
||||
public boolean getIsLogin() {
|
||||
return SharedUtil.create(BaseApplion.application).getBoolean(SharedConfig.isLogin, false);
|
||||
}
|
||||
|
||||
public void loginIn(String usertNameEditMsg, String usertPasswordEditMsg, OnLoginResultListener loginResultListener) {
|
||||
if (TextUtils.isEmpty(usertNameEditMsg)) {
|
||||
loginResultListener.errorMsg("请输入账号");
|
||||
return;
|
||||
}
|
||||
|
||||
if (TextUtils.isEmpty(usertPasswordEditMsg)) {
|
||||
loginResultListener.errorMsg("请输入密码");
|
||||
return;
|
||||
}
|
||||
|
||||
activity.showProDialog("正在登录,请稍后...");
|
||||
|
||||
UserInfoBean userInfoBean = new UserInfoBean();
|
||||
userInfoBean.setUsername(usertNameEditMsg);
|
||||
userInfoBean.setPassword(usertPasswordEditMsg);
|
||||
userInfoBean.login(new SaveListener<UserInfoBean>() {
|
||||
@Override
|
||||
public void done(UserInfoBean userInfoBean1, BmobException e) {
|
||||
activity.dismissProDialog();
|
||||
if (e == null) {
|
||||
UserInfoBean user = BmobUser.getCurrentUser(UserInfoBean.class);
|
||||
LogUtils.i("hx","-UserInfoBean--->"+new Gson().toJson(user));
|
||||
saveUser(user);
|
||||
loginResultListener.isSucLogin(user);
|
||||
} else {
|
||||
LogUtils.i("hx","-登录失败--->"+e.getMessage());
|
||||
loginResultListener.errorMsg("用户或密码不正确");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public interface OnLoginResultListener {
|
||||
void isSucLogin(UserInfoBean bean);
|
||||
|
||||
void errorMsg(String msg);
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package com.stu.assistant.presenter;
|
||||
|
||||
import com.stu.assistant.R;
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
import com.stu.assistant.bean.MainModuleBean;
|
||||
import com.stu.assistant.constants.ConstansItemManager;
|
||||
import com.stu.assistant.constants.ConstansUserManager;
|
||||
import com.stu.assistant.uitls.SharedConfig;
|
||||
import com.stu.assistant.uitls.SharedUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class MainPresenter {
|
||||
public ArrayList<MainModuleBean> getData() {
|
||||
ArrayList moduleBeansList = new ArrayList<>();
|
||||
moduleBeansList.add(new MainModuleBean("课表", ConstansItemManager.item_1, R.mipmap.ic_timetable));
|
||||
moduleBeansList.add(new MainModuleBean("作业", ConstansItemManager.item_2, R.mipmap.ic_task));
|
||||
moduleBeansList.add(new MainModuleBean("设置", ConstansItemManager.item_3, R.mipmap.ic_setting));
|
||||
return moduleBeansList;
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package com.stu.assistant.presenter;
|
||||
|
||||
|
||||
import com.stu.assistant.activity.RegisterActivity;
|
||||
import com.stu.assistant.base.BasePresenter;
|
||||
import com.stu.assistant.bean.UserInfoBean;
|
||||
import com.stu.assistant.uitls.MyToast;
|
||||
|
||||
import cn.bmob.v3.exception.BmobException;
|
||||
import cn.bmob.v3.listener.SaveListener;
|
||||
|
||||
public class RegisterPresenter extends BasePresenter {
|
||||
RegisterActivity mActivity;
|
||||
|
||||
public RegisterPresenter(RegisterActivity mActivity) {
|
||||
this.mActivity = mActivity;
|
||||
}
|
||||
|
||||
public void registerUser(UserInfoBean userBean, OnRegisterListener listener) {
|
||||
mActivity.showProDialog("正在注册....");
|
||||
userBean.signUp(new SaveListener<UserInfoBean>() {
|
||||
@Override
|
||||
public void done(UserInfoBean objectId, BmobException e) {
|
||||
mActivity.dismissProDialog();
|
||||
if (e == null) {
|
||||
MyToast.show("注册成功");
|
||||
listener.registerListener(userBean);
|
||||
} else {
|
||||
MyToast.show("注册失败:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public interface OnRegisterListener {
|
||||
void registerListener(UserInfoBean userInfoBean);
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package com.stu.assistant.uitls;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
public class BtnClickUtil {
|
||||
// 两次点击按钮之间的点击间隔不能少于1000毫秒
|
||||
private static final int MIN_CLICK_DELAY_TIME = 1000;
|
||||
private static long lastClickTime;
|
||||
public static boolean getIsOk(){
|
||||
long curClickTime = System.currentTimeMillis();
|
||||
Log.i("stf","-BtnClickUtil--->"+(curClickTime - lastClickTime));
|
||||
if((curClickTime - lastClickTime) >= MIN_CLICK_DELAY_TIME) {
|
||||
// 超过点击间隔后再将lastClickTime重置为当前点击时间
|
||||
lastClickTime = curClickTime;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package com.stu.assistant.uitls;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
public class CodeConfig {
|
||||
private static CodeConfig newIns;
|
||||
private Context mContext;
|
||||
|
||||
private CodeConfig(Context context) {
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
public static CodeConfig newInstance(Context context) {
|
||||
if (newIns == null) {
|
||||
synchronized (CodeConfig.class) {
|
||||
if (newIns == null) {
|
||||
newIns = new CodeConfig(context);
|
||||
}
|
||||
}
|
||||
}
|
||||
return newIns;
|
||||
}
|
||||
|
||||
public void setEcitTextviewClickListener(final EditText mEditText, final OnEcitTextviewClickListener listener) {
|
||||
|
||||
mEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
|
||||
@Override
|
||||
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
|
||||
if (actionId == EditorInfo.IME_ACTION_SEND
|
||||
|| actionId == EditorInfo.IME_ACTION_DONE
|
||||
|| (event != null && KeyEvent.KEYCODE_ENTER == event.getKeyCode() && KeyEvent.ACTION_DOWN == event.getAction())) {
|
||||
listener.OnEcitTextviewClickListener(v);
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public interface OnEcitTextviewClickListener {
|
||||
void OnEcitTextviewClickListener(View view);
|
||||
}
|
||||
}
|
@ -0,0 +1,256 @@
|
||||
package com.stu.assistant.uitls;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.Environment;
|
||||
import android.os.Looper;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.io.Writer;
|
||||
import java.lang.reflect.Field;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* Created by stf on 2018-11-05.
|
||||
*/
|
||||
|
||||
public class CrashHandler implements Thread.UncaughtExceptionHandler {
|
||||
|
||||
public String TAG = "CrashHandler";
|
||||
// 系统默认的UncaughtException处理类
|
||||
private Thread.UncaughtExceptionHandler mDefaultHandler;
|
||||
// CrashHandler实例
|
||||
private static CrashHandler INSTANCE;
|
||||
// 程序的Context对象
|
||||
private Context mContext;
|
||||
// 用来存储设备信息和异常信息
|
||||
private Map<String, String> infos = new HashMap<String, String>();
|
||||
//显示时间
|
||||
private long time;
|
||||
//文件夹地址
|
||||
private String pathCrashHandler = "CrashLog";
|
||||
|
||||
/**
|
||||
* 保证只有一个CrashHandler实例
|
||||
*/
|
||||
private CrashHandler() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取CrashHandler实例 ,单例模式
|
||||
*/
|
||||
public static CrashHandler getInstance() {
|
||||
if (INSTANCE == null) {
|
||||
INSTANCE = new CrashHandler();
|
||||
}
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化
|
||||
*/
|
||||
|
||||
public CrashHandler setDelayTime(long time) {
|
||||
this.time = time;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CrashHandler setTAG(String TAG) {
|
||||
this.TAG = TAG;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CrashHandler setPath(String pathCrashHandler) {
|
||||
this.pathCrashHandler = pathCrashHandler;
|
||||
return this;
|
||||
}
|
||||
|
||||
// public CrashHandler setPath() {
|
||||
// this.pathCrashHandler = AppConfig.Path_Crash;
|
||||
// return this;
|
||||
// }
|
||||
|
||||
public void init(Context context) {
|
||||
mContext = context;
|
||||
if (isAppDeBug()) {
|
||||
Log.i("stf", "-app在-debug->");
|
||||
// 获取系统默认的UncaughtException处理器
|
||||
mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();
|
||||
// 设置该CrashHandler为程序的默认处理器
|
||||
Thread.setDefaultUncaughtExceptionHandler(this);
|
||||
} else {
|
||||
Log.i("stf", "-app在-realse->");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 当UncaughtException发生时会转入该函数来处理
|
||||
*/
|
||||
@Override
|
||||
public void uncaughtException(Thread thread, Throwable ex) {
|
||||
if (!handleException(ex) && mDefaultHandler != null) {
|
||||
// 如果用户没有处理则让系统默认的异常处理器来处理
|
||||
mDefaultHandler.uncaughtException(thread, ex);
|
||||
} else {
|
||||
try {
|
||||
Thread.sleep(time);
|
||||
} catch (InterruptedException e) {
|
||||
Log.e(TAG, " error : " + e);
|
||||
}
|
||||
// 退出程序
|
||||
android.os.Process.killProcess(android.os.Process.myPid());
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义错误处理,收集错误信息 发送错误报告等操作均在此完成.
|
||||
*
|
||||
* @param ex
|
||||
* @return true:如果处理了该异常信息;否则返回false.
|
||||
*/
|
||||
private boolean handleException(Throwable ex) {
|
||||
if (ex == null) {
|
||||
return false;
|
||||
}
|
||||
ex.printStackTrace();
|
||||
|
||||
// 使用Toast来显示异常信息
|
||||
new Thread() {
|
||||
@Override
|
||||
public void run() {
|
||||
Looper.prepare();
|
||||
try {
|
||||
Toast.makeText(mContext, "程序出现异常,清理app进程后,可清除此卡顿", Toast.LENGTH_LONG).show();
|
||||
}catch (Exception e){
|
||||
e.fillInStackTrace();
|
||||
}
|
||||
Looper.loop();
|
||||
}
|
||||
}.start();
|
||||
// 收集设备参数信息
|
||||
collectDeviceInfo(mContext);
|
||||
// 保存日志文件
|
||||
saveCrashInfo2File(ex);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 收集设备参数信息
|
||||
*
|
||||
* @param ctx
|
||||
*/
|
||||
public void collectDeviceInfo(Context ctx) {
|
||||
try {
|
||||
PackageManager pm = ctx.getPackageManager();
|
||||
PackageInfo pi = pm.getPackageInfo(ctx.getPackageName(),
|
||||
PackageManager.GET_ACTIVITIES);
|
||||
if (pi != null) {
|
||||
String versionName = pi.versionName == null ? "null" : pi.versionName;
|
||||
String versionCode = pi.versionCode + "";
|
||||
infos.put("versionName", versionName);
|
||||
infos.put("versionCode", versionCode);
|
||||
}
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.e(TAG, "an error occured when collect package info" + e);
|
||||
}
|
||||
Field[] fields = Build.class.getDeclaredFields();
|
||||
for (Field field : fields) {
|
||||
try {
|
||||
field.setAccessible(true);
|
||||
infos.put(field.getName(), field.get(null).toString());
|
||||
Log.e(TAG, field.getName() + " : " + field.get(null));
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "an error occured when collect crash info" + e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存错误信息到文件中
|
||||
*
|
||||
* @param ex
|
||||
* @return 返回文件名称, 便于将文件传送到服务器
|
||||
*/
|
||||
private String saveCrashInfo2File(Throwable ex) {
|
||||
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
|
||||
StringBuffer sb = new StringBuffer();
|
||||
for (Map.Entry<String, String> entry : infos.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
String value = entry.getValue();
|
||||
sb.append(key + "=" + value + "\n");
|
||||
}
|
||||
|
||||
Writer writer = new StringWriter();
|
||||
PrintWriter printWriter = new PrintWriter(writer);
|
||||
ex.printStackTrace(printWriter);
|
||||
Throwable cause = ex.getCause();
|
||||
while (cause != null) {
|
||||
cause.printStackTrace(printWriter);
|
||||
cause = cause.getCause();
|
||||
}
|
||||
printWriter.close();
|
||||
String result = writer.toString();
|
||||
sb.append(result);
|
||||
try {
|
||||
long timestamp = System.currentTimeMillis();
|
||||
String time = formatter.format(new Date());
|
||||
String fileName = "log-" + time + "-" + timestamp + ".log";
|
||||
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
|
||||
String path = Environment.getExternalStorageState() + "/" + pathCrashHandler + "/log";
|
||||
File dir = new File(path);
|
||||
if (!dir.exists()) {
|
||||
dir.mkdirs();
|
||||
}
|
||||
Log.e(TAG, "错误日志记录位置=" + dir.getAbsolutePath());
|
||||
FileOutputStream fos = new FileOutputStream(path + "/" + fileName);
|
||||
fos.write(sb.toString().getBytes());
|
||||
fos.close();
|
||||
}
|
||||
return fileName;
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "an error occured while writing file..." + e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// 判断app 是不是 debug模式
|
||||
public boolean isAppDeBug() {
|
||||
|
||||
if (mContext == null) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
if (TextUtils.isEmpty(mContext.getPackageName())) {
|
||||
return false;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.fillInStackTrace();
|
||||
return false;
|
||||
}
|
||||
|
||||
try {
|
||||
PackageManager pm = mContext.getPackageManager();
|
||||
ApplicationInfo ai = pm.getApplicationInfo(mContext.getPackageName(), 0);
|
||||
return ai != null && (ai.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
package com.stu.assistant.uitls;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.yanyusong.y_divideritemdecoration.Y_Divider;
|
||||
import com.yanyusong.y_divideritemdecoration.Y_DividerBuilder;
|
||||
import com.yanyusong.y_divideritemdecoration.Y_DividerItemDecoration;
|
||||
|
||||
public class DividerItemDecoration0Util extends Y_DividerItemDecoration {
|
||||
private boolean isPackage;
|
||||
private int width, height;
|
||||
|
||||
public DividerItemDecoration0Util(Context context, boolean pac) {
|
||||
super(context);
|
||||
isPackage = pac;
|
||||
if (isPackage) {
|
||||
width = 5;
|
||||
height = 10;
|
||||
} else {
|
||||
width=0;
|
||||
height = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Y_Divider getDivider(int itemPosition) {
|
||||
Y_Divider divider = null;
|
||||
switch (itemPosition % 2) {
|
||||
|
||||
case 0:
|
||||
//每一行第一个显示rignt和bottom
|
||||
divider = new Y_DividerBuilder()
|
||||
.setRightSideLine(true, 0x00F6F6F6, width, 0, 0)
|
||||
.setBottomSideLine(true, 0x00F6F6F6, height, 0, 0)
|
||||
.create();
|
||||
break;
|
||||
case 1:
|
||||
//第二个显示Left和bottom
|
||||
divider = new Y_DividerBuilder()
|
||||
.setLeftSideLine(true, 0x00F6F6F6, width, 0, 0)
|
||||
.setBottomSideLine(true, 0x00F6F6F6, height, 0, 0)
|
||||
.create();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return divider;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,53 @@
|
||||
package com.stu.assistant.uitls;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.yanyusong.y_divideritemdecoration.Y_Divider;
|
||||
import com.yanyusong.y_divideritemdecoration.Y_DividerBuilder;
|
||||
import com.yanyusong.y_divideritemdecoration.Y_DividerItemDecoration;
|
||||
|
||||
public class DividerItemDecorationUtil extends Y_DividerItemDecoration {
|
||||
private boolean isPackage;
|
||||
private int width, height;
|
||||
|
||||
public DividerItemDecorationUtil(Context context, boolean pac) {
|
||||
super(context);
|
||||
isPackage = pac;
|
||||
if (isPackage) {
|
||||
width = 5;
|
||||
height = 10;
|
||||
} else {
|
||||
width=0;
|
||||
height = 10;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Y_Divider getDivider(int itemPosition) {
|
||||
Y_Divider divider = null;
|
||||
switch (itemPosition % 2) {
|
||||
|
||||
case 0:
|
||||
//每一行第一个显示rignt和bottom
|
||||
divider = new Y_DividerBuilder()
|
||||
.setRightSideLine(true, 0x00F6F6F6, width, 0, 0)
|
||||
.setBottomSideLine(true, 0x00F6F6F6, height, 0, 0)
|
||||
.create();
|
||||
break;
|
||||
case 1:
|
||||
//第二个显示Left和bottom
|
||||
divider = new Y_DividerBuilder()
|
||||
.setLeftSideLine(true, 0x00F6F6F6, width, 0, 0)
|
||||
.setBottomSideLine(true, 0x00F6F6F6, height, 0, 0)
|
||||
.create();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return divider;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,107 @@
|
||||
package com.stu.assistant.uitls;
|
||||
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.DecelerateInterpolator;
|
||||
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
|
||||
|
||||
public class DragTextView extends AppCompatTextView {
|
||||
private int parentHeight;
|
||||
protected int parentWidth;
|
||||
private int lastX;
|
||||
private int lastY;
|
||||
private boolean isDrag;
|
||||
private ViewGroup parent;
|
||||
|
||||
public DragTextView(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public DragTextView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
public DragTextView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onTouchEvent(MotionEvent event) {
|
||||
int rawX = (int) event.getRawX();
|
||||
int rawY = (int) event.getRawY();
|
||||
switch (event.getAction() & MotionEvent.ACTION_MASK) {
|
||||
case MotionEvent.ACTION_DOWN:
|
||||
this.setAlpha(0.9F);
|
||||
this.setPressed(true);
|
||||
this.isDrag = false;
|
||||
this.getParent().requestDisallowInterceptTouchEvent(true);
|
||||
this.lastX = rawX;
|
||||
this.lastY = rawY;
|
||||
if (this.getParent() != null) {
|
||||
this.parent = (ViewGroup) this.getParent();
|
||||
this.parentHeight = this.parent.getHeight();
|
||||
this.parentWidth = this.parent.getWidth();
|
||||
}
|
||||
break;
|
||||
case MotionEvent.ACTION_UP:
|
||||
if (!this.isNotDrag()) {
|
||||
this.setPressed(false);
|
||||
this.moveHide(rawX);
|
||||
}
|
||||
break;
|
||||
case MotionEvent.ACTION_MOVE:
|
||||
if ((double) this.parentHeight > 0.2D && (double) this.parentWidth > 0.2D) {
|
||||
this.isDrag = true;
|
||||
this.setAlpha(0.9F);
|
||||
int dx = rawX - this.lastX;
|
||||
int dy = rawY - this.lastY;
|
||||
int distance = (int) Math.sqrt((double) (dx * dx + dy * dy));
|
||||
if (distance < 2) {
|
||||
this.isDrag = false;
|
||||
} else {
|
||||
float x = this.getX() + (float) dx;
|
||||
float y = this.getY() + (float) dy;
|
||||
x = x < 0.0F ? 0.0F : (x > (float) (this.parentWidth - this.getWidth()) ? (float) (this.parentWidth - this.getWidth()) : x);
|
||||
y = this.getY() < 0.0F ? 0.0F : (this.getY() + (float) this.getHeight() > (float) this.parentHeight ? (float) (this.parentHeight - this.getHeight()) : y);
|
||||
this.setX(x);
|
||||
this.setY(y);
|
||||
this.lastX = rawX;
|
||||
this.lastY = rawY;
|
||||
Log.i("aa", "isDrag=" + this.isDrag + "getX=" + this.getX() + ";getY=" + this.getY() + ";parentWidth=" + this.parentWidth);
|
||||
}
|
||||
} else {
|
||||
this.isDrag = false;
|
||||
}
|
||||
}
|
||||
|
||||
return !this.isNotDrag() || super.onTouchEvent(event);
|
||||
}
|
||||
|
||||
private boolean isNotDrag() {
|
||||
return !this.isDrag && (this.getX() == 0.0F || this.getX() == (float) (this.parentWidth - this.getWidth() - getMarginEnd()) || this.getX() == (float) (this.parentWidth - this.getWidth()));
|
||||
}
|
||||
|
||||
private int getMarginEnd() {
|
||||
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) getLayoutParams();
|
||||
int endMargin = params.getMarginEnd();
|
||||
return endMargin;
|
||||
}
|
||||
|
||||
protected void moveHide(int rawX) {
|
||||
if (rawX >= this.parentWidth / 2) {
|
||||
this.animate().setInterpolator(new DecelerateInterpolator()).setDuration(500L).xBy((float) (this.parentWidth - this.getWidth()) - this.getX()).start();
|
||||
} else {
|
||||
ObjectAnimator oa = ObjectAnimator.ofFloat(this, "x", new float[]{this.getX(), 0.0F});
|
||||
oa.setInterpolator(new DecelerateInterpolator());
|
||||
oa.setDuration(500L);
|
||||
oa.start();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.stu.assistant.uitls;
|
||||
|
||||
import android.content.Context;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.stu.assistant.base.BaseApplion;
|
||||
|
||||
public class MyToast {
|
||||
public static void show(Context context,String content){
|
||||
Toast.makeText(context, content, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
public static void show(String content){
|
||||
Toast.makeText(BaseApplion.application, content, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package com.stu.assistant.uitls;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
|
||||
/**
|
||||
* @ClassName MoneyUtils
|
||||
* @Description 网络状态工具类
|
||||
* @Author kaiguo
|
||||
* @Date 2020/3/17 14:57
|
||||
*/
|
||||
public class NetworkUtil {
|
||||
public static boolean isNetWorkAvailable2(Context context) {
|
||||
ConnectivityManager manager = (ConnectivityManager) context
|
||||
.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
if (manager != null) {
|
||||
NetworkInfo info = manager.getActiveNetworkInfo();
|
||||
if (info != null && info.isConnected()) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 是否有可用网络
|
||||
*
|
||||
* @param context context
|
||||
* @return
|
||||
*/
|
||||
public static boolean isNetworkAvailable(Context context) {
|
||||
ConnectivityManager connectivity = (ConnectivityManager) context
|
||||
.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
if (connectivity != null) {
|
||||
NetworkInfo[] info = connectivity.getAllNetworkInfo();
|
||||
if (info != null) {
|
||||
for (int i = 0; i < info.length; i++) {
|
||||
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
@ -0,0 +1,98 @@
|
||||
package com.stu.assistant.uitls;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import com.stu.assistant.bean.UserInfoBean;
|
||||
import com.stu.assistant.constants.ConstansUserManager;
|
||||
|
||||
import cn.bmob.v3.exception.BmobException;
|
||||
import cn.bmob.v3.listener.SaveListener;
|
||||
|
||||
public class SaveUserData {
|
||||
public void saveData(){
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
UserInfoBean userInfoBean = new UserInfoBean();
|
||||
userInfoBean.setUsername("100");
|
||||
userInfoBean.setPassword("123456");
|
||||
userInfoBean.setNickName("管理员");
|
||||
userInfoBean.setUserLevel(ConstansUserManager.Level_1);
|
||||
userInfoBean.setUserType(ConstansUserManager.UserType_1);
|
||||
userInfoBean.setEvaluate("");
|
||||
|
||||
userInfoBean.signUp(new SaveListener<UserInfoBean>() {
|
||||
@Override
|
||||
public void done(UserInfoBean objectId, BmobException e) {
|
||||
stringBuilder.append("添加管理员");
|
||||
if (e == null) {
|
||||
stringBuilder.append("objectId:" + objectId);
|
||||
} else {
|
||||
stringBuilder.append("创建数据失败:" + e.getMessage());
|
||||
}
|
||||
stringBuilder.append(",");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
UserInfoBean userInfoBean2 = new UserInfoBean();
|
||||
userInfoBean2.setUsername("201");
|
||||
userInfoBean2.setPassword("123456");
|
||||
userInfoBean2.setNickName("部门管理员");
|
||||
userInfoBean2.setUserLevel(ConstansUserManager.Level_2);
|
||||
userInfoBean2.setUserType(ConstansUserManager.UserType_1);
|
||||
userInfoBean2.setEvaluate("");
|
||||
userInfoBean2.signUp(new SaveListener<UserInfoBean>() {
|
||||
@Override
|
||||
public void done(UserInfoBean objectId, BmobException e) {
|
||||
stringBuilder.append("部门管理员");
|
||||
if (e == null) {
|
||||
stringBuilder.append("objectId:" + objectId);
|
||||
} else {
|
||||
stringBuilder.append("创建数据失败:" + e.getMessage());
|
||||
}
|
||||
stringBuilder.append(",");
|
||||
}
|
||||
});
|
||||
|
||||
UserInfoBean userInfoBean3 = new UserInfoBean();
|
||||
userInfoBean3.setUsername(ConstansUserManager.Level_3+"1");
|
||||
userInfoBean3.setPassword("123456");
|
||||
userInfoBean3.setNickName("学生1");
|
||||
userInfoBean3.setUserLevel(ConstansUserManager.Level_3);
|
||||
userInfoBean3.setUserType(ConstansUserManager.UserType_2);
|
||||
userInfoBean3.setEvaluate("");
|
||||
userInfoBean3.signUp(new SaveListener<UserInfoBean>() {
|
||||
@Override
|
||||
public void done(UserInfoBean objectId, BmobException e) {
|
||||
stringBuilder.append("维修员1");
|
||||
if (e == null) {
|
||||
stringBuilder.append("objectId:" + objectId);
|
||||
} else {
|
||||
stringBuilder.append("创建数据失败:" + e.getMessage());
|
||||
}
|
||||
stringBuilder.append(",");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
UserInfoBean userInfoBean4 = new UserInfoBean();
|
||||
userInfoBean4.setUsername(ConstansUserManager.Level_3 + "2");
|
||||
userInfoBean4.setPassword("123456");
|
||||
userInfoBean4.setNickName("学生2");
|
||||
userInfoBean4.setUserLevel(ConstansUserManager.Level_3);
|
||||
userInfoBean4.setUserType(ConstansUserManager.UserType_2);
|
||||
userInfoBean4.setEvaluate("");
|
||||
userInfoBean4.signUp(new SaveListener<UserInfoBean>() {
|
||||
@Override
|
||||
public void done(UserInfoBean objectId, BmobException e) {
|
||||
stringBuilder.append("维修员2");
|
||||
if (e == null) {
|
||||
stringBuilder.append("objectId:" + objectId);
|
||||
} else {
|
||||
stringBuilder.append("创建数据失败:" + e.getMessage());
|
||||
}
|
||||
stringBuilder.append(",");
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.stu.assistant.uitls;
|
||||
|
||||
public class SharedConfig {
|
||||
//用户信息
|
||||
public static String loginName = "loginName";
|
||||
public static String nickName = "nickName";
|
||||
public static String whToken = "whToken";
|
||||
public static String objectId = "objectId";
|
||||
public static String userLevel = "userLevel";
|
||||
public static String userType = "userType";
|
||||
public static String type = "type";
|
||||
public static String isLogin = "isLogin";
|
||||
public static String isPda = "isPda";
|
||||
public static String isTheme = "isTheme";
|
||||
public static String isBg = "isBg";
|
||||
public static String isBg_1 = "1";
|
||||
public static String isBg_2 = "2";
|
||||
public static String isBg_3 = "3";
|
||||
public static String isBg_4 = "4";
|
||||
public static String isThemeSys = "1";
|
||||
public static String isThemeMy = "2";
|
||||
public static String initTimeValue = "2021-12-07";
|
||||
public static String initTime = "initTime";
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
package com.stu.assistant.uitls;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Application;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
|
||||
public class ShowClassNameCallBack implements Application.ActivityLifecycleCallbacks {
|
||||
@Override
|
||||
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityStarted(@NonNull Activity activity) {
|
||||
if (activity == null) {
|
||||
return;
|
||||
}
|
||||
if (activity.getWindow() == null) {
|
||||
return;
|
||||
}
|
||||
if (activity.getWindow().getDecorView() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
String activitySimpleName = activity.getClass().getSimpleName();
|
||||
|
||||
Log.i("clazz",activity.getClass().getName());
|
||||
DragTextView textView = new DragTextView(activity);
|
||||
textView.setText(activitySimpleName);
|
||||
textView.setTextSize(18f);
|
||||
textView.setTextColor(Color.parseColor("#FF0000"));
|
||||
textView.setPadding(0, 50, 0, 0);
|
||||
|
||||
textView.setClickable(true);
|
||||
View decorView= activity.getWindow().getDecorView();
|
||||
FrameLayout frameLayout= decorView.findViewById(android.R.id.content);
|
||||
textView.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
|
||||
textView.setGravity(Gravity.CENTER);
|
||||
frameLayout.addView(textView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResumed(@NonNull Activity activity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityPaused(@NonNull Activity activity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityStopped(@NonNull Activity activity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityDestroyed(@NonNull Activity activity) {
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.stu.assistant.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import com.stu.assistant.R;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
|
||||
public class MySwipeRefreshLayout extends SwipeRefreshLayout {
|
||||
|
||||
public MySwipeRefreshLayout(@NonNull Context context) {
|
||||
super(context);
|
||||
init();
|
||||
}
|
||||
|
||||
|
||||
public MySwipeRefreshLayout(@NonNull Context context, @Nullable AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
setColorSchemeResources(
|
||||
R.color.app_yellow,
|
||||
R.color.app_yellow,
|
||||
R.color.app_yellow,
|
||||
R.color.app_yellow);
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<translate
|
||||
android:duration="200"
|
||||
android:fromYDelta="100"
|
||||
android:toYDelta="0" />
|
||||
<alpha
|
||||
android:duration="200"
|
||||
android:fromAlpha="0.0"
|
||||
android:toAlpha="1.0" />
|
||||
|
||||
</set>
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<translate
|
||||
android:duration="200"
|
||||
android:fromYDelta="0"
|
||||
android:toYDelta="100" />
|
||||
<alpha
|
||||
android:duration="200"
|
||||
android:fromAlpha="1.0"
|
||||
android:toAlpha="0.0" />
|
||||
|
||||
</set>
|
@ -0,0 +1,30 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:endX="85.84757"
|
||||
android:endY="92.4963"
|
||||
android:startX="42.9492"
|
||||
android:startY="49.59793"
|
||||
android:type="linear">
|
||||
<item
|
||||
android:color="#44000000"
|
||||
android:offset="0.0" />
|
||||
<item
|
||||
android:color="#00000000"
|
||||
android:offset="1.0" />
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
|
||||
android:strokeWidth="1"
|
||||
android:strokeColor="#00000000" />
|
||||
</vector>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:padding="20dp"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="?attr/colortheme" />
|
||||
<corners
|
||||
android:bottomLeftRadius="10dp"
|
||||
android:bottomRightRadius="10dp"
|
||||
android:topLeftRadius="10dp"
|
||||
android:topRightRadius="10dp" />
|
||||
</shape>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:padding="20dp"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="?attr/colortheme" />
|
||||
<corners android:radius="8dp" />
|
||||
</shape>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:padding="20dp"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/bg" />
|
||||
<corners
|
||||
android:bottomLeftRadius="10dp"
|
||||
android:bottomRightRadius="10dp"
|
||||
android:topLeftRadius="10dp"
|
||||
android:topRightRadius="10dp" />
|
||||
</shape>
|
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="?attr/colortheme" />
|
||||
<corners android:radius="4dp" />
|
||||
</shape>
|
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:shape="rectangle"
|
||||
tools:ignore="MissingDefaultResource">
|
||||
|
||||
<solid android:color="@color/white" />
|
||||
|
||||
<corners
|
||||
android:topLeftRadius="20dp"
|
||||
android:topRightRadius="20dp"
|
||||
android:bottomLeftRadius="0dp"
|
||||
android:bottomRightRadius="0dp"
|
||||
/>
|
||||
|
||||
|
||||
</shape>
|
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<solid android:color="@color/white" />
|
||||
|
||||
<corners android:radius="8dp" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="?attr/colortheme"/>
|
||||
</shape>
|
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<solid android:color="@color/white" />
|
||||
<corners android:radius="4dp" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="?attr/colortheme"/>
|
||||
</shape>
|
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<solid android:color="@color/white" />
|
||||
<corners android:radius="8dp" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="@color/white"/>
|
||||
</shape>
|
@ -0,0 +1,170 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:fillColor="#3DDC84"
|
||||
android:pathData="M0,0h108v108h-108z" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M9,0L9,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,0L19,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M29,0L29,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M39,0L39,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M49,0L49,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M59,0L59,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M69,0L69,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M79,0L79,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M89,0L89,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M99,0L99,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,9L108,9"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,19L108,19"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,29L108,29"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,39L108,39"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,49L108,49"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,59L108,59"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,69L108,69"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,79L108,79"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,89L108,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,99L108,99"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,29L89,29"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,39L89,39"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,49L89,49"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,59L89,59"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,69L89,69"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,79L89,79"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M29,19L29,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M39,19L39,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M49,19L49,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M59,19L59,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M69,19L69,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M79,19L79,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
</vector>
|
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="?attr/colortheme" android:state_checked="true" />
|
||||
<!-- not selected -->
|
||||
<item android:color="@color/black" android:state_checked="false" />
|
||||
</selector>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:padding="20dp"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="?attr/colortheme" />
|
||||
<corners
|
||||
android:bottomLeftRadius="10dp"
|
||||
android:bottomRightRadius="10dp"
|
||||
android:topLeftRadius="10dp"
|
||||
android:topRightRadius="10dp" />
|
||||
</shape>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:padding="20dp"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="?attr/colortheme" />
|
||||
<corners android:radius="8dp" />
|
||||
</shape>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:padding="20dp"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/bg" />
|
||||
<corners
|
||||
android:bottomLeftRadius="10dp"
|
||||
android:bottomRightRadius="10dp"
|
||||
android:topLeftRadius="10dp"
|
||||
android:topRightRadius="10dp" />
|
||||
</shape>
|
@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white"
|
||||
android:id="@+id/lay"
|
||||
android:orientation="vertical"
|
||||
tools:context=".activity.AddTableActivity">
|
||||
|
||||
<include layout="@layout/base_heard_layout" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/title_time_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="40dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:text="时间"
|
||||
android:textColor="@color/color_1e1f20_45"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white" />
|
||||
<TextView
|
||||
android:id="@+id/time1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="周一"
|
||||
android:textColor="@color/color_1e1f20_45"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="周二"
|
||||
android:textColor="@color/color_1e1f20_45"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="周三"
|
||||
android:textColor="@color/color_1e1f20_45"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time4"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="周四"
|
||||
android:textColor="@color/color_1e1f20_45"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time5"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="周五"
|
||||
android:textColor="@color/color_1e1f20_45"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/white" />
|
||||
<com.stu.assistant.view.MySwipeRefreshLayout
|
||||
android:id="@+id/swip_rf"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/mrv"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
</com.stu.assistant.view.MySwipeRefreshLayout>
|
||||
</LinearLayout>
|
@ -0,0 +1,230 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
tools:context=".activity.AddTableDialogActivity">
|
||||
|
||||
<include layout="@layout/base_heard_layout" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="课程名字"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="?attr/colortheme" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_table_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入课程名字"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="上课地点"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="?attr/colortheme" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_address"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入上课地点"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="任课老师"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="?attr/colortheme" />
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/edit_teacherName"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@null"
|
||||
android:entries="@array/teacher"
|
||||
android:gravity="center|left"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="课程周数"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="?attr/colortheme" />
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/spinner_day"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@null"
|
||||
android:entries="@array/week"
|
||||
android:gravity="center|left"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="课程节次"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="?attr/colortheme" />
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/spinner_time"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@null"
|
||||
android:entries="@array/time"
|
||||
android:gravity="center"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="注意事项"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="?attr/colortheme" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_mark"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入注意事项"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/OnPushClick"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="50dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/btn_red_bg_4"
|
||||
android:gravity="center"
|
||||
android:text="添加"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp" />
|
||||
</LinearLayout>
|
@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
tools:context=".activity.AddTableDialogActivity">
|
||||
|
||||
<include layout="@layout/base_heard_layout" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="课程名字"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="?attr/colortheme" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_task_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入课程名字"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="截止时间"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="?attr/colortheme" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_time"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="center|left"
|
||||
android:hint="请选择截止时间"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:minHeight="50dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_msg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="150dp"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="top|left"
|
||||
android:hint="请输入作业内容"
|
||||
android:paddingLeft="12dp"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingRight="12dp"
|
||||
android:paddingBottom="12dp"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/OnPushClick"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="50dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/btn_red_bg_4"
|
||||
android:gravity="center"
|
||||
android:text="添加"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp" />
|
||||
</LinearLayout>
|
@ -0,0 +1,154 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
tools:context=".activity.LoginActivity">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="30dp"
|
||||
android:background="@color/black" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/app_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="40dp"
|
||||
android:text="@string/app_name"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="24sp"
|
||||
android:textStyle="bold"
|
||||
android:visibility="invisible" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:background="@mipmap/ic_big" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="账号"
|
||||
android:visibility="gone"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:visibility="gone"
|
||||
android:background="@color/colorBlue" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/tv_username"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入账号"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="密码"
|
||||
android:visibility="gone"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:visibility="gone"
|
||||
android:background="@color/colorBlue" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/tv_userpassword"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入密码"
|
||||
android:password="true"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="right|center_vertical"
|
||||
android:onClick="OnRegister"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingRight="16dp"
|
||||
android:paddingBottom="10dp"
|
||||
android:text="注册账号" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/button_login"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginTop="40dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_marginBottom="30dp"
|
||||
android:background="@drawable/btn_red_bg_4"
|
||||
android:gravity="center"
|
||||
android:text="登录"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="技术支持"
|
||||
android:visibility="invisible"
|
||||
android:textColor="@color/text_color_999999"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/version_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="111111"
|
||||
android:visibility="invisible"
|
||||
android:textColor="@color/text_color_999999"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1" />
|
||||
</LinearLayout>
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/lay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
tools:context=".activity.MainActivity">
|
||||
|
||||
<include layout="@layout/base_heard_layout" />
|
||||
|
||||
<include layout="@layout/include_top_toolbar" android:visibility="gone"/>
|
||||
|
||||
<GridView
|
||||
android:id="@+id/main_gridview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:numColumns="3"
|
||||
android:paddingTop="10dp"
|
||||
android:verticalSpacing="10dp" />
|
||||
</LinearLayout>
|
@ -0,0 +1,219 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include layout="@layout/base_heard_layout" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingRight="16dp"
|
||||
android:textColor="?attr/colortheme"
|
||||
android:textSize="17sp"
|
||||
android:textStyle="bold"
|
||||
android:visibility="invisible" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="60dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="昵称"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="@color/colorBlue" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/tv_nickname"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入昵称"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="账号"
|
||||
android:textSize="16sp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="@color/colorBlue"
|
||||
android:visibility="gone" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/tv_username"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入账号"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="密码"
|
||||
android:textSize="16sp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="@color/colorBlue"
|
||||
android:visibility="gone" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/tv_userpassword"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入密码"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="年龄"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="@color/colorBlue" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/tv_userAge"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入年龄"
|
||||
android:inputType="number"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone">
|
||||
|
||||
<TextView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="地址"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:background="@color/colorBlue" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/tv_userAddress"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@null"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入地址"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_register"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="50dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/btn_red_bg_4"
|
||||
android:gravity="center"
|
||||
android:onClick="btnRegisterOnClick"
|
||||
android:text="注册"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp" />
|
||||
</LinearLayout>
|
@ -0,0 +1,104 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/lay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/bg"
|
||||
android:orientation="vertical"
|
||||
tools:context=".activity.SettingActivity">
|
||||
|
||||
<include layout="@layout/base_heard_layout" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginRight="12dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="@drawable/corners_org_item_with"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_account"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="12dp"
|
||||
android:text="账号:"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="16sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginRight="12dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="@drawable/corners_org_item_with"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_color"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableRight="@mipmap/ic_right"
|
||||
android:drawablePadding="16dp"
|
||||
android:onClick="OnColorClick"
|
||||
android:paddingLeft="12dp"
|
||||
android:text="主题色变更"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="16sp" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginRight="12dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="@drawable/corners_org_item_with"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableRight="@mipmap/ic_right"
|
||||
android:drawablePadding="16dp"
|
||||
android:onClick="OnBgClick"
|
||||
android:paddingLeft="12dp"
|
||||
android:text="更改课表壁纸"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="16sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_register"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="50dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/btn_red_bg_4"
|
||||
android:gravity="center"
|
||||
android:onClick="BtnOutOnClick"
|
||||
android:text="退出"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp" />
|
||||
</LinearLayout>
|
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/bg"
|
||||
android:orientation="vertical"
|
||||
tools:context=".activity.TableListActivity">
|
||||
|
||||
<include layout="@layout/base_heard_layout" />
|
||||
|
||||
<com.stu.assistant.view.MySwipeRefreshLayout
|
||||
android:id="@+id/swip_rf"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_weight="1"
|
||||
android:paddingLeft="12dp"
|
||||
android:paddingRight="12dp">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/mrv"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
</com.stu.assistant.view.MySwipeRefreshLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/white"
|
||||
android:gravity="center"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingBottom="10dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_register"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:background="@drawable/btn_red_bg_4"
|
||||
android:gravity="center"
|
||||
android:onClick="BtnAddOnClick"
|
||||
android:text="添加课表"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fitsSystemWindows="false"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include layout="@layout/fragment_base" />
|
||||
|
||||
</LinearLayout>
|
@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/title_lay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/colortheme"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="12dp"
|
||||
android:paddingRight="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginTop="30dp"
|
||||
android:gravity="center">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/back_tv"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center|left"
|
||||
android:text="返回"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
android:visibility="gone" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/back_lay"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:gravity="center|left">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:background="@mipmap/ic_back" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title_tv"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:gravity="center|left">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/other_tv"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center|right"
|
||||
android:text="其他"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
android:visibility="invisible" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/other_img"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/title_lay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/colortheme"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="12dp"
|
||||
android:paddingRight="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="40dp"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:background="@color/white"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:padding="10dp"
|
||||
android:text="温馨提示"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<include layout="@layout/line_layout" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/mark_edit"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_margin="10dp"
|
||||
android:background="@drawable/corners_orange_shape"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入处理内容"
|
||||
android:paddingLeft="10dp"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/black"
|
||||
android:textColorHint="@color/black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_can"
|
||||
style="@style/input_dialog_itemStyle"
|
||||
android:background="@color/color_1e1f20_4"
|
||||
android:text="取消" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_ok"
|
||||
style="@style/input_dialog_itemStyle"
|
||||
android:background="?attr/colortheme"
|
||||
android:text="确定"
|
||||
android:textColor="@color/white" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue