Commit 324121c2 by chengxiuhong

Merge remote-tracking branch 'origin/master'

parents bd5b268a 29fded3a
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="EntryPointsManager">
<entry_points version="2.0" />
</component>
<component name="NullableNotNullManager"> <component name="NullableNotNullManager">
<option name="myDefaultNullable" value="android.support.annotation.Nullable" /> <option name="myDefaultNullable" value="android.support.annotation.Nullable" />
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" /> <option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
...@@ -40,7 +43,7 @@ ...@@ -40,7 +43,7 @@
</profile-state> </profile-state>
</entry> </entry>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.8 (6)" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">
......
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
<modules> <modules>
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
<module fileurl="file://$PROJECT_DIR$/library/baselibrary/baselibrary.iml" filepath="$PROJECT_DIR$/library/baselibrary/baselibrary.iml" /> <module fileurl="file://$PROJECT_DIR$/library/baselibrary/baselibrary.iml" filepath="$PROJECT_DIR$/library/baselibrary/baselibrary.iml" />
<module fileurl="file://G:\workspace_ooyby\haihang\eye_haihang.iml" filepath="G:\workspace_ooyby\haihang\eye_haihang.iml" /> <module fileurl="file://$PROJECT_DIR$/eye_haihang.iml" filepath="$PROJECT_DIR$/eye_haihang.iml" />
<module fileurl="file://G:/workspace_ooyby/haihang/eye_haihang.iml" filepath="G:/workspace_ooyby/haihang/eye_haihang.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/haihang.iml" filepath="$PROJECT_DIR$/.idea/haihang.iml" /> <module fileurl="file://$PROJECT_DIR$/.idea/haihang.iml" filepath="$PROJECT_DIR$/.idea/haihang.iml" />
<module fileurl="file://$PROJECT_DIR$/library/library.iml" filepath="$PROJECT_DIR$/library/library.iml" /> <module fileurl="file://$PROJECT_DIR$/library/library.iml" filepath="$PROJECT_DIR$/library/library.iml" />
<module fileurl="file://$PROJECT_DIR$/library/netlibrary/netlibrary.iml" filepath="$PROJECT_DIR$/library/netlibrary/netlibrary.iml" /> <module fileurl="file://$PROJECT_DIR$/library/netlibrary/netlibrary.iml" filepath="$PROJECT_DIR$/library/netlibrary/netlibrary.iml" />
......
...@@ -37,5 +37,4 @@ dependencies { ...@@ -37,5 +37,4 @@ dependencies {
compile project(':library:netlibrary') compile project(':library:netlibrary')
compile 'com.jakewharton:butterknife:8.6.0' compile 'com.jakewharton:butterknife:8.6.0'
apt 'com.jakewharton:butterknife-compiler:8.6.0' apt 'com.jakewharton:butterknife-compiler:8.6.0'
compile 'com.github.PhilJay:MPAndroidChart:v3.0.2'
} }
...@@ -2,6 +2,7 @@ package com.oo.eye; ...@@ -2,6 +2,7 @@ package com.oo.eye;
import com.app.baselibrary.base.app.BaseApplication; import com.app.baselibrary.base.app.BaseApplication;
import com.app.baselibrary.commonUtil.LogUtil; import com.app.baselibrary.commonUtil.LogUtil;
import com.oo.seex.netlibrary.net.BaseApiConfig;
/** /**
* Created by xucon on 2018/8/30. * Created by xucon on 2018/8/30.
...@@ -12,6 +13,7 @@ public class EyeApplication extends BaseApplication { ...@@ -12,6 +13,7 @@ public class EyeApplication extends BaseApplication {
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
BaseApiConfig.setIsDebug(true);
CrashHandler crashHandler = CrashHandler.getInstance(); CrashHandler crashHandler = CrashHandler.getInstance();
crashHandler.init(getApplicationContext()); crashHandler.init(getApplicationContext());
crashHandler.setRestart(true); crashHandler.setRestart(true);
......
package com.oo.eye; package com.oo.eye;
import com.oo.eye.bean.Student; import com.oo.eye.bean.StudentBean;
import java.util.List; import java.util.List;
...@@ -19,7 +19,7 @@ public class EyeConfig { ...@@ -19,7 +19,7 @@ public class EyeConfig {
private boolean isNetData = false; private boolean isNetData = false;
private List<Student> mStudents; private List<StudentBean> mStudents;
private static EyeConfig instance = new EyeConfig(); private static EyeConfig instance = new EyeConfig();
...@@ -39,11 +39,11 @@ public class EyeConfig { ...@@ -39,11 +39,11 @@ public class EyeConfig {
isNetData = netData; isNetData = netData;
} }
public List<Student> getStudents() { public List<StudentBean> getStudents() {
return mStudents; return mStudents;
} }
public void setStudents(List<Student> students) { public void setStudents(List<StudentBean> students) {
mStudents = students; mStudents = students;
} }
} }
...@@ -17,7 +17,7 @@ import com.oo.eye.EyeConfig; ...@@ -17,7 +17,7 @@ import com.oo.eye.EyeConfig;
import com.oo.eye.R; import com.oo.eye.R;
import com.oo.eye.bean.Eye; import com.oo.eye.bean.Eye;
import com.oo.eye.bean.Eye.E; import com.oo.eye.bean.Eye.E;
import com.oo.eye.bean.Student; import com.oo.eye.bean.StudentBean;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
...@@ -66,8 +66,8 @@ public class EyeTestActivity extends BaseActivity { ...@@ -66,8 +66,8 @@ public class EyeTestActivity extends BaseActivity {
private int mLocation; private int mLocation;
private int mLevelIndex = -1; private int mLevelIndex = -1;
private LinkedHashMap<Integer, List<E>> mCollect = new LinkedHashMap<>(); private LinkedHashMap<Integer, List<E>> mCollect = new LinkedHashMap<>();
private Student measureStudent; private StudentBean measureStudent;
private List<Student> mStudentList = new ArrayList<>(); private List<StudentBean> mStudentList = new ArrayList<>();
//是否是右眼训练 //是否是右眼训练
private boolean isSecondTest; private boolean isSecondTest;
private int currentIndex; private int currentIndex;
......
...@@ -12,10 +12,7 @@ import com.app.baselibrary.commonUtil.LogUtil; ...@@ -12,10 +12,7 @@ import com.app.baselibrary.commonUtil.LogUtil;
import com.app.baselibrary.commonUtil.ToastUtil; import com.app.baselibrary.commonUtil.ToastUtil;
import com.oo.eye.EyeConfig; import com.oo.eye.EyeConfig;
import com.oo.eye.R; import com.oo.eye.R;
import com.oo.eye.bean.EyeChartsBean; import com.oo.eye.bean.StudentBean;
import com.oo.eye.bean.EyeHistroyBean;
import com.oo.eye.bean.Student;
import com.oo.eye.db.DbManager;
import com.oo.eye.mvp.PresenterFactory; import com.oo.eye.mvp.PresenterFactory;
import com.oo.eye.mvp.contract.EyeMainContract; import com.oo.eye.mvp.contract.EyeMainContract;
...@@ -55,10 +52,6 @@ public class EyeTestMainActivity extends BaseActivity implements EyeMainContract ...@@ -55,10 +52,6 @@ public class EyeTestMainActivity extends BaseActivity implements EyeMainContract
@Override @Override
protected void init() { protected void init() {
mPresenter = PresenterFactory.createEyeMainPresenter(this); mPresenter = PresenterFactory.createEyeMainPresenter(this);
if (EyeConfig.getInstance().isNetData()) {
DbManager.getDaoMaster(this).newSession().deleteAll(EyeHistroyBean.class);
DbManager.getDaoMaster(this).newSession().deleteAll(EyeChartsBean.class);
}
mPresenter.getEye(this); mPresenter.getEye(this);
} }
...@@ -117,8 +110,8 @@ public class EyeTestMainActivity extends BaseActivity implements EyeMainContract ...@@ -117,8 +110,8 @@ public class EyeTestMainActivity extends BaseActivity implements EyeMainContract
startActivity(MorePeopleTestActivity.class); startActivity(MorePeopleTestActivity.class);
break; break;
case R.id.lin_eye_test_statistics: case R.id.lin_eye_test_statistics:
ArrayList<Student> list = new ArrayList<>(); ArrayList<StudentBean> list = new ArrayList<>();
Student student = new Student(); StudentBean student = new StudentBean();
student.setRealname("游客"); student.setRealname("游客");
list.add(student); list.add(student);
EyeConfig.getInstance().setStudents(list); EyeConfig.getInstance().setStudents(list);
......
...@@ -6,7 +6,7 @@ import android.widget.TextView; ...@@ -6,7 +6,7 @@ import android.widget.TextView;
import com.app.baselibrary.base.common.BaseActivity; import com.app.baselibrary.base.common.BaseActivity;
import com.oo.eye.EyeConfig; import com.oo.eye.EyeConfig;
import com.oo.eye.R; import com.oo.eye.R;
import com.oo.eye.bean.Student; import com.oo.eye.bean.StudentBean;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -41,8 +41,8 @@ public class SinglePeopleTestActivity extends BaseActivity { ...@@ -41,8 +41,8 @@ public class SinglePeopleTestActivity extends BaseActivity {
@OnClick(R.id.begin_test) @OnClick(R.id.begin_test)
public void onClick() { public void onClick() {
ArrayList<Student> list = new ArrayList<>(); ArrayList<StudentBean> list = new ArrayList<>();
Student student = new Student(); StudentBean student = new StudentBean();
student.setRealname("游客"); student.setRealname("游客");
list.add(student); list.add(student);
EyeConfig.getInstance().setStudents(list); EyeConfig.getInstance().setStudents(list);
......
package com.oo.eye.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.app.baselibrary.commonUtil.PreferencesUtils;
import com.oo.eye.EyeConfig;
import com.oo.eye.R;
import com.oo.eye.bean.Eye;
import com.oo.eye.bean.EyeHistroyBean;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Created by gyp on 17/5/19.
*/
public class EyeHistroyListAdapter extends BaseAdapter {
private AdapterLoadMoreListener mAdapterLoadMoreListener;
private SimpleDateFormat mDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm");
private Context context;
private List<EyeHistroyBean> list = new ArrayList<>();
private int selectId;
public void updateList(List<EyeHistroyBean> list) {
this.list.clear();
if (list != null && !list.isEmpty()) {
this.list.addAll(list);
notifyDataSetChanged();
}
}
public void setAdapterLoadMoreListener(AdapterLoadMoreListener adapterLoadMoreListener) {
mAdapterLoadMoreListener = adapterLoadMoreListener;
}
public EyeHistroyListAdapter(Context context, List<EyeHistroyBean> list) {
this.context = context;
selectId = PreferencesUtils.getInt(EyeConfig.EYE_SETTING_KEY,0);
if (list != null && !list.isEmpty())
this.list.addAll(list);
}
@Override
public int getCount() {
return list == null ? 0 : list.size();
}
@Override
public Object getItem(int i) {
return list.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder holder;
if (view == null) {
holder = new ViewHolder();
LayoutInflater inflater = LayoutInflater.from(context);
view = inflater.inflate(R.layout.item_histroy, null);
holder.timeText = (TextView) view.findViewById(R.id.tv_item_histroy_time);
holder.leftVisionText = (TextView) view.findViewById(R.id.tv_item_histroy_left);
holder.rightVisionText = (TextView) view.findViewById(R.id.tv_item_histroy_right);
holder.soureText = (TextView) view.findViewById(R.id.tv_item_histroy_source);
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
view.setFocusable(true);
view.setFocusableInTouchMode(true);
EyeHistroyBean model = list.get(i);
holder.timeText.setText(mDateFormat.format(new Date(model.getCreated_time())));
if(selectId == 1){
holder.leftVisionText.setText(String.valueOf(Eye.transformSmall(model.getLeft_eye())));
holder.rightVisionText.setText(String.valueOf(Eye.transformSmall(model.getRight_eye())));
}else {
holder.leftVisionText.setText(String.valueOf(model.getLeft_eye()));
holder.rightVisionText.setText(String.valueOf(model.getRight_eye()));
}
holder.soureText.setText(model.getType()==1?"用户录入":"自动计算");
if (i > 0 && i == list.size() - 1) {
view.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
if (mAdapterLoadMoreListener != null)
mAdapterLoadMoreListener.adapterLoadMore();
}
}
});
}
return view;
}
private class ViewHolder {
public TextView timeText;
public TextView leftVisionText;
public TextView rightVisionText;
public TextView soureText;
}
public interface AdapterLoadMoreListener {
void adapterLoadMore();
}
}
package com.oo.eye.bean;
import com.app.baselibrary.bean.BaseBean;
/**
* Created by xucon on 2018/8/31.
*/
public class ClassBean extends BaseBean{
private String sid;
private String id;
private String gradeId;
private String name;
}
package com.oo.eye.bean;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.NotNull;
import org.greenrobot.greendao.annotation.Unique;
/**
* Created by xucon on 2017/12/26.
*/
@Entity
public class EyeChartsBean {
@Id(autoincrement = true)
private Long charts_id;
private double left_eye;
private double right_eye;
private int type;
@NotNull
@Unique
private String created_month;
@Generated(hash = 482229128)
public EyeChartsBean(Long charts_id, double left_eye, double right_eye,
int type, @NotNull String created_month) {
this.charts_id = charts_id;
this.left_eye = left_eye;
this.right_eye = right_eye;
this.type = type;
this.created_month = created_month;
}
@Generated(hash = 1551796263)
public EyeChartsBean() {
}
public Long getCharts_id() {
return charts_id;
}
public void setCharts_id(Long charts_id) {
this.charts_id = charts_id;
}
public double getLeft_eye() {
return left_eye;
}
public void setLeft_eye(double left_eye) {
this.left_eye = left_eye;
}
public double getRight_eye() {
return right_eye;
}
public void setRight_eye(double right_eye) {
this.right_eye = right_eye;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getCreated_month() {
return created_month;
}
public void setCreated_month(String created_month) {
this.created_month = created_month;
}
}
package com.oo.eye.bean;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.NotNull;
import org.greenrobot.greendao.annotation.Unique;
/**
* Created by xucon on 2017/12/21.
*/
@Entity
public class EyeHistroyBean{
@Id(autoincrement = true)
private Long id;
private double left_eye;
private double right_eye;
private int left_line;
private int right_line;
@NotNull
@Unique
private long created_time;
private int type;
@Generated(hash = 1086901756)
public EyeHistroyBean(Long id, double left_eye, double right_eye, int left_line,
int right_line, long created_time, int type) {
this.id = id;
this.left_eye = left_eye;
this.right_eye = right_eye;
this.left_line = left_line;
this.right_line = right_line;
this.created_time = created_time;
this.type = type;
}
@Generated(hash = 913374113)
public EyeHistroyBean() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public double getLeft_eye() {
return left_eye;
}
public void setLeft_eye(double left_eye) {
this.left_eye = left_eye;
}
public double getRight_eye() {
return right_eye;
}
public void setRight_eye(double right_eye) {
this.right_eye = right_eye;
}
public int getLeft_line() {
return left_line;
}
public void setLeft_line(int left_line) {
this.left_line = left_line;
}
public int getRight_line() {
return right_line;
}
public void setRight_line(int right_line) {
this.right_line = right_line;
}
public long getCreated_time() {
return created_time;
}
public void setCreated_time(long created_time) {
this.created_time = created_time;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
}
package com.oo.eye.bean;
import com.app.baselibrary.bean.BaseBean;
/**
* Created by xucon on 2017/12/26.
*/
public class EyeTestBean extends BaseBean {
private String deviceSN;
private boolean isNetData;
private String name;
private double firstLeftEye;
private double firstRightEye;
private double left;
private double right;
private int leftLine;
private int rightLine;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDeviceSN() {
return deviceSN;
}
public void setDeviceSN(String deviceSN) {
this.deviceSN = deviceSN;
}
public double getFirstLeftEye() {
return firstLeftEye;
}
public void setFirstLeftEye(double firstLeftEye) {
this.firstLeftEye = firstLeftEye;
}
public double getFirstRightEye() {
return firstRightEye;
}
public void setFirstRightEye(double firstRightEye) {
this.firstRightEye = firstRightEye;
}
public double getLeft() {
return left;
}
public void setLeft(double left) {
this.left = left;
}
public double getRight() {
return right;
}
public void setRight(double right) {
this.right = right;
}
public int getLeftLine() {
return leftLine;
}
public void setLeftLine(int leftLine) {
this.leftLine = leftLine;
}
public int getRightLine() {
return rightLine;
}
public void setRightLine(int rightLine) {
this.rightLine = rightLine;
}
public boolean isNetData() {
return isNetData;
}
public void setNetData(boolean netData) {
isNetData = netData;
}
}
package com.oo.eye.bean;
import com.app.baselibrary.bean.BaseBean;
/**
* Created by xucon on 2018/8/31.
*/
public class GradeBean extends BaseBean{
private String sid;
private String id;
private String name;
}
package com.oo.eye.bean;
/**
* Created by xucon on 2017/12/28.
*/
public class InitDataBean {
private EyeHistroyBean initializedEye;
private EyeHistroyBean currentEye;
public EyeHistroyBean getInitializedEye() {
return initializedEye;
}
public void setInitializedEye(EyeHistroyBean initializedEye) {
this.initializedEye = initializedEye;
}
public EyeHistroyBean getCurrentEye() {
return currentEye;
}
public void setCurrentEye(EyeHistroyBean currentEye) {
this.currentEye = currentEye;
}
}
...@@ -6,7 +6,7 @@ import com.app.baselibrary.bean.BaseBean; ...@@ -6,7 +6,7 @@ import com.app.baselibrary.bean.BaseBean;
/** /**
* Created by henry 16/1/30. * Created by henry 16/1/30.
*/ */
public class Student extends BaseBean { public class StudentBean extends BaseBean {
private String sid; private String sid;
private String uid; private String uid;
private String school; private String school;
...@@ -125,8 +125,8 @@ public class Student extends BaseBean { ...@@ -125,8 +125,8 @@ public class Student extends BaseBean {
this.distance = distance; this.distance = distance;
} }
public Student copy(){ public StudentBean copy(){
Student student = new Student(); StudentBean student = new StudentBean();
student.setSid(this.sid); student.setSid(this.sid);
student.setPid(this.pid); student.setPid(this.pid);
student.setClasses(this.classes); student.setClasses(this.classes);
...@@ -143,8 +143,8 @@ public class Student extends BaseBean { ...@@ -143,8 +143,8 @@ public class Student extends BaseBean {
return student; return student;
} }
public Student transition(int measureDis){ public StudentBean transition(int measureDis){
Student student = new Student(); StudentBean student = new StudentBean();
student.setSid(this.sid); student.setSid(this.sid);
student.setPid(this.pid); student.setPid(this.pid);
student.setClasses(this.classes); student.setClasses(this.classes);
......
package com.oo.eye.db; package com.oo.eye.db;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import com.oo.eye.gen.DaoMaster;
import com.oo.eye.gen.DaoSession;
/** /**
*/ */
public class DbManager { public class DbManager {
private static DbManager mDbManager; // private static DbManager mDbManager;
//
private static final String DB_NAME = "eye_test.db"; // private static final String DB_NAME = "eye_test.db";
private static DaoMaster.DevOpenHelper mDevOpenHelper; // private static DaoMaster.DevOpenHelper mDevOpenHelper;
private static DaoMaster mDaoMaster; // private static DaoMaster mDaoMaster;
private static DaoSession mDaoSession; // private static DaoSession mDaoSession;
//
public static DbManager getInstance(Context context) { // public static DbManager getInstance(Context context) {
if (null == mDbManager) { // if (null == mDbManager) {
synchronized (DbManager.class) { // synchronized (DbManager.class) {
if (null == mDbManager) // if (null == mDbManager)
mDbManager = new DbManager(context); // mDbManager = new DbManager(context);
} // }
} // }
//
return mDbManager; // return mDbManager;
} // }
//
private DbManager(Context context) { // private DbManager(Context context) {
mDevOpenHelper = new DaoMaster.DevOpenHelper(context,DB_NAME); // mDevOpenHelper = new DaoMaster.DevOpenHelper(context,DB_NAME);
getDaoMaster(context); // getDaoMaster(context);
getDaoSession(context); // getDaoSession(context);
} // }
//
/** // /**
* @desc 获取可读数据库 // * @desc 获取可读数据库
* @autor Tiany // * @autor Tiany
* @time 2016/8/13 // * @time 2016/8/13
**/ // **/
public static SQLiteDatabase getReadableDatabase(Context context) { // public static SQLiteDatabase getReadableDatabase(Context context) {
if (null == mDevOpenHelper) { // if (null == mDevOpenHelper) {
getInstance(context); // getInstance(context);
} // }
return mDevOpenHelper.getReadableDatabase(); // return mDevOpenHelper.getReadableDatabase();
} // }
//
/** // /**
* @desc 获取可写数据库 // * @desc 获取可写数据库
* @autor Tiany // * @autor Tiany
* @time 2016/8/13 // * @time 2016/8/13
**/ // **/
public static SQLiteDatabase getWritableDatabase(Context context) { // public static SQLiteDatabase getWritableDatabase(Context context) {
if (null == mDevOpenHelper) { // if (null == mDevOpenHelper) {
getInstance(context); // getInstance(context);
} // }
return mDevOpenHelper.getWritableDatabase(); // return mDevOpenHelper.getWritableDatabase();
} // }
//
//
/** // /**
* 获取DaoSession; // * 获取DaoSession;
* @param context // * @param context
* @return // * @return
*/ // */
public static DaoSession getDaoSession(Context context) { // public static DaoSession getDaoSession(Context context) {
//
if (null == mDaoSession) { // if (null == mDaoSession) {
synchronized (DbManager.class) { // synchronized (DbManager.class) {
if (null == mDaoSession) // if (null == mDaoSession)
mDaoSession = getDaoMaster(context).newSession(); // mDaoSession = getDaoMaster(context).newSession();
} // }
} // }
return mDaoSession; // return mDaoSession;
} // }
//
/** // /**
* 获取DaoMaster; // * 获取DaoMaster;
* @param context // * @param context
* @return // * @return
*/ // */
public static DaoMaster getDaoMaster(Context context) { // public static DaoMaster getDaoMaster(Context context) {
//
if (null == mDaoMaster) { // if (null == mDaoMaster) {
synchronized (DbManager.class) { // synchronized (DbManager.class) {
if (null == mDaoMaster) // if (null == mDaoMaster)
mDaoMaster = new DaoMaster(getWritableDatabase(context)); // mDaoMaster = new DaoMaster(getWritableDatabase(context));
} // }
} // }
return mDaoMaster; // return mDaoMaster;
} // }
} }
package com.oo.eye.gen;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.util.Log;
import org.greenrobot.greendao.AbstractDaoMaster;
import org.greenrobot.greendao.database.StandardDatabase;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.database.DatabaseOpenHelper;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* Master of DAO (schema version 1): knows all DAOs.
*/
public class DaoMaster extends AbstractDaoMaster {
public static final int SCHEMA_VERSION = 1;
/** Creates underlying database table using DAOs. */
public static void createAllTables(Database db, boolean ifNotExists) {
EyeChartsBeanDao.createTable(db, ifNotExists);
EyeHistroyBeanDao.createTable(db, ifNotExists);
}
/** Drops underlying database table using DAOs. */
public static void dropAllTables(Database db, boolean ifExists) {
EyeChartsBeanDao.dropTable(db, ifExists);
EyeHistroyBeanDao.dropTable(db, ifExists);
}
/**
* WARNING: Drops all table on Upgrade! Use only during development.
* Convenience method using a {@link DevOpenHelper}.
*/
public static DaoSession newDevSession(Context context, String name) {
Database db = new DevOpenHelper(context, name).getWritableDb();
DaoMaster daoMaster = new DaoMaster(db);
return daoMaster.newSession();
}
public DaoMaster(SQLiteDatabase db) {
this(new StandardDatabase(db));
}
public DaoMaster(Database db) {
super(db, SCHEMA_VERSION);
registerDaoClass(EyeChartsBeanDao.class);
registerDaoClass(EyeHistroyBeanDao.class);
}
public DaoSession newSession() {
return new DaoSession(db, IdentityScopeType.Session, daoConfigMap);
}
public DaoSession newSession(IdentityScopeType type) {
return new DaoSession(db, type, daoConfigMap);
}
/**
* Calls {@link #createAllTables(Database, boolean)} in {@link #onCreate(Database)} -
*/
public static abstract class OpenHelper extends DatabaseOpenHelper {
public OpenHelper(Context context, String name) {
super(context, name, SCHEMA_VERSION);
}
public OpenHelper(Context context, String name, CursorFactory factory) {
super(context, name, factory, SCHEMA_VERSION);
}
@Override
public void onCreate(Database db) {
Log.i("greenDAO", "Creating tables for schema version " + SCHEMA_VERSION);
createAllTables(db, false);
}
}
/** WARNING: Drops all table on Upgrade! Use only during development. */
public static class DevOpenHelper extends OpenHelper {
public DevOpenHelper(Context context, String name) {
super(context, name);
}
public DevOpenHelper(Context context, String name, CursorFactory factory) {
super(context, name, factory);
}
@Override
public void onUpgrade(Database db, int oldVersion, int newVersion) {
Log.i("greenDAO", "Upgrading schema from version " + oldVersion + " to " + newVersion + " by dropping all tables");
dropAllTables(db, true);
onCreate(db);
}
}
}
package com.oo.eye.gen;
import java.util.Map;
import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;
import com.oo.eye.bean.EyeChartsBean;
import com.oo.eye.bean.EyeHistroyBean;
import com.oo.eye.gen.EyeChartsBeanDao;
import com.oo.eye.gen.EyeHistroyBeanDao;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* {@inheritDoc}
*
* @see org.greenrobot.greendao.AbstractDaoSession
*/
public class DaoSession extends AbstractDaoSession {
private final DaoConfig eyeChartsBeanDaoConfig;
private final DaoConfig eyeHistroyBeanDaoConfig;
private final EyeChartsBeanDao eyeChartsBeanDao;
private final EyeHistroyBeanDao eyeHistroyBeanDao;
public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
daoConfigMap) {
super(db);
eyeChartsBeanDaoConfig = daoConfigMap.get(EyeChartsBeanDao.class).clone();
eyeChartsBeanDaoConfig.initIdentityScope(type);
eyeHistroyBeanDaoConfig = daoConfigMap.get(EyeHistroyBeanDao.class).clone();
eyeHistroyBeanDaoConfig.initIdentityScope(type);
eyeChartsBeanDao = new EyeChartsBeanDao(eyeChartsBeanDaoConfig, this);
eyeHistroyBeanDao = new EyeHistroyBeanDao(eyeHistroyBeanDaoConfig, this);
registerDao(EyeChartsBean.class, eyeChartsBeanDao);
registerDao(EyeHistroyBean.class, eyeHistroyBeanDao);
}
public void clear() {
eyeChartsBeanDaoConfig.clearIdentityScope();
eyeHistroyBeanDaoConfig.clearIdentityScope();
}
public EyeChartsBeanDao getEyeChartsBeanDao() {
return eyeChartsBeanDao;
}
public EyeHistroyBeanDao getEyeHistroyBeanDao() {
return eyeHistroyBeanDao;
}
}
package com.oo.eye.gen;
import android.database.Cursor;
import android.database.sqlite.SQLiteStatement;
import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.Property;
import org.greenrobot.greendao.internal.DaoConfig;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.database.DatabaseStatement;
import com.oo.eye.bean.EyeChartsBean;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* DAO for table "EYE_CHARTS_BEAN".
*/
public class EyeChartsBeanDao extends AbstractDao<EyeChartsBean, Long> {
public static final String TABLENAME = "EYE_CHARTS_BEAN";
/**
* Properties of entity EyeChartsBean.<br/>
* Can be used for QueryBuilder and for referencing column names.
*/
public static class Properties {
public final static Property Charts_id = new Property(0, Long.class, "charts_id", true, "_id");
public final static Property Left_eye = new Property(1, double.class, "left_eye", false, "LEFT_EYE");
public final static Property Right_eye = new Property(2, double.class, "right_eye", false, "RIGHT_EYE");
public final static Property Type = new Property(3, int.class, "type", false, "TYPE");
public final static Property Created_month = new Property(4, String.class, "created_month", false, "CREATED_MONTH");
}
public EyeChartsBeanDao(DaoConfig config) {
super(config);
}
public EyeChartsBeanDao(DaoConfig config, DaoSession daoSession) {
super(config, daoSession);
}
/** Creates the underlying database table. */
public static void createTable(Database db, boolean ifNotExists) {
String constraint = ifNotExists? "IF NOT EXISTS ": "";
db.execSQL("CREATE TABLE " + constraint + "\"EYE_CHARTS_BEAN\" (" + //
"\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: charts_id
"\"LEFT_EYE\" REAL NOT NULL ," + // 1: left_eye
"\"RIGHT_EYE\" REAL NOT NULL ," + // 2: right_eye
"\"TYPE\" INTEGER NOT NULL ," + // 3: type
"\"CREATED_MONTH\" TEXT NOT NULL UNIQUE );"); // 4: created_month
}
/** Drops the underlying database table. */
public static void dropTable(Database db, boolean ifExists) {
String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"EYE_CHARTS_BEAN\"";
db.execSQL(sql);
}
@Override
protected final void bindValues(DatabaseStatement stmt, EyeChartsBean entity) {
stmt.clearBindings();
Long charts_id = entity.getCharts_id();
if (charts_id != null) {
stmt.bindLong(1, charts_id);
}
stmt.bindDouble(2, entity.getLeft_eye());
stmt.bindDouble(3, entity.getRight_eye());
stmt.bindLong(4, entity.getType());
stmt.bindString(5, entity.getCreated_month());
}
@Override
protected final void bindValues(SQLiteStatement stmt, EyeChartsBean entity) {
stmt.clearBindings();
Long charts_id = entity.getCharts_id();
if (charts_id != null) {
stmt.bindLong(1, charts_id);
}
stmt.bindDouble(2, entity.getLeft_eye());
stmt.bindDouble(3, entity.getRight_eye());
stmt.bindLong(4, entity.getType());
stmt.bindString(5, entity.getCreated_month());
}
@Override
public Long readKey(Cursor cursor, int offset) {
return cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0);
}
@Override
public EyeChartsBean readEntity(Cursor cursor, int offset) {
EyeChartsBean entity = new EyeChartsBean( //
cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // charts_id
cursor.getDouble(offset + 1), // left_eye
cursor.getDouble(offset + 2), // right_eye
cursor.getInt(offset + 3), // type
cursor.getString(offset + 4) // created_month
);
return entity;
}
@Override
public void readEntity(Cursor cursor, EyeChartsBean entity, int offset) {
entity.setCharts_id(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0));
entity.setLeft_eye(cursor.getDouble(offset + 1));
entity.setRight_eye(cursor.getDouble(offset + 2));
entity.setType(cursor.getInt(offset + 3));
entity.setCreated_month(cursor.getString(offset + 4));
}
@Override
protected final Long updateKeyAfterInsert(EyeChartsBean entity, long rowId) {
entity.setCharts_id(rowId);
return rowId;
}
@Override
public Long getKey(EyeChartsBean entity) {
if(entity != null) {
return entity.getCharts_id();
} else {
return null;
}
}
@Override
public boolean hasKey(EyeChartsBean entity) {
return entity.getCharts_id() != null;
}
@Override
protected final boolean isEntityUpdateable() {
return true;
}
}
package com.oo.eye.gen;
import android.database.Cursor;
import android.database.sqlite.SQLiteStatement;
import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.Property;
import org.greenrobot.greendao.internal.DaoConfig;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.database.DatabaseStatement;
import com.oo.eye.bean.EyeHistroyBean;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* DAO for table "EYE_HISTROY_BEAN".
*/
public class EyeHistroyBeanDao extends AbstractDao<EyeHistroyBean, Long> {
public static final String TABLENAME = "EYE_HISTROY_BEAN";
/**
* Properties of entity EyeHistroyBean.<br/>
* Can be used for QueryBuilder and for referencing column names.
*/
public static class Properties {
public final static Property Id = new Property(0, Long.class, "id", true, "_id");
public final static Property Left_eye = new Property(1, double.class, "left_eye", false, "LEFT_EYE");
public final static Property Right_eye = new Property(2, double.class, "right_eye", false, "RIGHT_EYE");
public final static Property Left_line = new Property(3, int.class, "left_line", false, "LEFT_LINE");
public final static Property Right_line = new Property(4, int.class, "right_line", false, "RIGHT_LINE");
public final static Property Created_time = new Property(5, long.class, "created_time", false, "CREATED_TIME");
public final static Property Type = new Property(6, int.class, "type", false, "TYPE");
}
public EyeHistroyBeanDao(DaoConfig config) {
super(config);
}
public EyeHistroyBeanDao(DaoConfig config, DaoSession daoSession) {
super(config, daoSession);
}
/** Creates the underlying database table. */
public static void createTable(Database db, boolean ifNotExists) {
String constraint = ifNotExists? "IF NOT EXISTS ": "";
db.execSQL("CREATE TABLE " + constraint + "\"EYE_HISTROY_BEAN\" (" + //
"\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id
"\"LEFT_EYE\" REAL NOT NULL ," + // 1: left_eye
"\"RIGHT_EYE\" REAL NOT NULL ," + // 2: right_eye
"\"LEFT_LINE\" INTEGER NOT NULL ," + // 3: left_line
"\"RIGHT_LINE\" INTEGER NOT NULL ," + // 4: right_line
"\"CREATED_TIME\" INTEGER NOT NULL UNIQUE ," + // 5: created_time
"\"TYPE\" INTEGER NOT NULL );"); // 6: type
}
/** Drops the underlying database table. */
public static void dropTable(Database db, boolean ifExists) {
String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"EYE_HISTROY_BEAN\"";
db.execSQL(sql);
}
@Override
protected final void bindValues(DatabaseStatement stmt, EyeHistroyBean entity) {
stmt.clearBindings();
Long id = entity.getId();
if (id != null) {
stmt.bindLong(1, id);
}
stmt.bindDouble(2, entity.getLeft_eye());
stmt.bindDouble(3, entity.getRight_eye());
stmt.bindLong(4, entity.getLeft_line());
stmt.bindLong(5, entity.getRight_line());
stmt.bindLong(6, entity.getCreated_time());
stmt.bindLong(7, entity.getType());
}
@Override
protected final void bindValues(SQLiteStatement stmt, EyeHistroyBean entity) {
stmt.clearBindings();
Long id = entity.getId();
if (id != null) {
stmt.bindLong(1, id);
}
stmt.bindDouble(2, entity.getLeft_eye());
stmt.bindDouble(3, entity.getRight_eye());
stmt.bindLong(4, entity.getLeft_line());
stmt.bindLong(5, entity.getRight_line());
stmt.bindLong(6, entity.getCreated_time());
stmt.bindLong(7, entity.getType());
}
@Override
public Long readKey(Cursor cursor, int offset) {
return cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0);
}
@Override
public EyeHistroyBean readEntity(Cursor cursor, int offset) {
EyeHistroyBean entity = new EyeHistroyBean( //
cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id
cursor.getDouble(offset + 1), // left_eye
cursor.getDouble(offset + 2), // right_eye
cursor.getInt(offset + 3), // left_line
cursor.getInt(offset + 4), // right_line
cursor.getLong(offset + 5), // created_time
cursor.getInt(offset + 6) // type
);
return entity;
}
@Override
public void readEntity(Cursor cursor, EyeHistroyBean entity, int offset) {
entity.setId(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0));
entity.setLeft_eye(cursor.getDouble(offset + 1));
entity.setRight_eye(cursor.getDouble(offset + 2));
entity.setLeft_line(cursor.getInt(offset + 3));
entity.setRight_line(cursor.getInt(offset + 4));
entity.setCreated_time(cursor.getLong(offset + 5));
entity.setType(cursor.getInt(offset + 6));
}
@Override
protected final Long updateKeyAfterInsert(EyeHistroyBean entity, long rowId) {
entity.setId(rowId);
return rowId;
}
@Override
public Long getKey(EyeHistroyBean entity) {
if(entity != null) {
return entity.getId();
} else {
return null;
}
}
@Override
public boolean hasKey(EyeHistroyBean entity) {
return entity.getId() != null;
}
@Override
protected final boolean isEntityUpdateable() {
return true;
}
}
package com.oo.eye.mvp; package com.oo.eye.mvp;
import com.oo.eye.mvp.contract.EyeChartsContract;
import com.oo.eye.mvp.contract.EyeHistroyContract; import com.oo.eye.mvp.contract.EyeHistroyContract;
import com.oo.eye.mvp.contract.EyeMainContract; import com.oo.eye.mvp.contract.EyeMainContract;
import com.oo.eye.mvp.contract.EyeTestContract; import com.oo.eye.mvp.contract.EyeTestContract;
import com.oo.eye.mvp.presenter.EyeChartsPresenter;
import com.oo.eye.mvp.presenter.EyeHistroyPresenter; import com.oo.eye.mvp.presenter.EyeHistroyPresenter;
import com.oo.eye.mvp.presenter.EyeMainPresenter; import com.oo.eye.mvp.presenter.EyeMainPresenter;
import com.oo.eye.mvp.presenter.EyeTestPresenter; import com.oo.eye.mvp.presenter.EyeTestPresenter;
...@@ -23,10 +21,6 @@ public class PresenterFactory { ...@@ -23,10 +21,6 @@ public class PresenterFactory {
new EyeHistroyPresenter(view); new EyeHistroyPresenter(view);
} }
public static void createEyeChartsPresenter(EyeChartsContract.View view){
new EyeChartsPresenter(view);
}
public static EyeMainContract.Presenter createEyeMainPresenter(EyeMainContract.View view){ public static EyeMainContract.Presenter createEyeMainPresenter(EyeMainContract.View view){
return new EyeMainPresenter(view); return new EyeMainPresenter(view);
} }
......
package com.oo.eye.mvp.contract;
import android.content.Context;
import com.app.baselibrary.base.mvp.BasePresenter;
import com.app.baselibrary.base.mvp.BaseView;
import com.oo.eye.bean.EyeChartsBean;
import java.util.List;
/**
* Created by xucon on 2017/12/26.
*/
public interface EyeChartsContract {
interface View extends BaseView<Presenter> {
public void getEyeChartsSuccee(List<EyeChartsBean> beans);
public void getEyeChartsFail(String msg);
}
interface Presenter extends BasePresenter {
public void getEyeChartsData(Context context, int limit);
}
}
...@@ -4,11 +4,9 @@ import android.content.Context; ...@@ -4,11 +4,9 @@ import android.content.Context;
import com.app.baselibrary.base.mvp.BasePresenter; import com.app.baselibrary.base.mvp.BasePresenter;
import com.app.baselibrary.base.mvp.BaseView; import com.app.baselibrary.base.mvp.BaseView;
import com.oo.eye.bean.EyeHistroyBean; import com.oo.eye.bean.StudentBean;
import com.oo.seex.netlibrary.net.response.Page;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
/** /**
* Created by xucon on 2017/12/26. * Created by xucon on 2017/12/26.
...@@ -16,12 +14,11 @@ import java.util.List; ...@@ -16,12 +14,11 @@ import java.util.List;
public interface EyeHistroyContract { public interface EyeHistroyContract {
interface View extends BaseView<Presenter> { interface View extends BaseView<Presenter> {
public void getEyeHistroyDBSuccee(List<EyeHistroyBean> beans, int page, int count); public void getEyeHistroyNetSuccee(ArrayList<StudentBean> beans);
public void getEyeHistroyNetSuccee(ArrayList<EyeHistroyBean> beans, Page page);
public void getEyeHistroyFail(String msg); public void getEyeHistroyFail(String msg);
} }
interface Presenter extends BasePresenter { interface Presenter extends BasePresenter {
public void getEyeHistroy(Context context, boolean isNet, int page, int limit); public void getEyeHistroy(Context context);
} }
} }
package com.oo.eye.mvp.presenter;
import android.content.Context;
import com.app.baselibrary.commonUtil.SnUtils;
import com.oo.eye.EyeConfig;
import com.oo.eye.bean.EyeChartsBean;
import com.oo.eye.db.DbManager;
import com.oo.eye.gen.EyeChartsBeanDao;
import com.oo.eye.mvp.contract.EyeChartsContract;
import com.oo.eye.net.EyeDataManager;
import com.oo.seex.netlibrary.net.response.NewResponseImpl;
import com.oo.seex.netlibrary.net.response.RxCallback;
import org.greenrobot.greendao.query.QueryBuilder;
import java.util.ArrayList;
import java.util.List;
/**
* Created by xucon on 2017/12/26.
*/
public class EyeChartsPresenter implements EyeChartsContract.Presenter {
private EyeChartsContract.View mView;
public EyeChartsPresenter(EyeChartsContract.View view){
this.mView = view;
}
public void getEyeChartsData(Context context, int limit){
if(EyeConfig.getInstance().isNetData()){
getEyeChartsNet(limit);
}else{
getEyeChartsDB(context,limit);
}
}
private void getEyeChartsDB(Context context, int limit){
try {
QueryBuilder builder = DbManager.getDaoMaster(context).newSession().getEyeChartsBeanDao().queryBuilder();
List<EyeChartsBean> beans = builder.orderDesc(EyeChartsBeanDao.Properties.Created_month).limit(limit).build().list();
if (mView != null && mView.isActive()) {
mView.getEyeChartsSuccee(beans);
}
}catch (Exception e){
e.printStackTrace();
if (mView != null && mView.isActive()) {
mView.getEyeChartsFail("数据加载失败");
}
}
}
private void getEyeChartsNet(int limit){
EyeDataManager.getInstance().getEyeTestCharts(SnUtils.getSN(),limit)
.subscribe(new RxCallback<NewResponseImpl<ArrayList<EyeChartsBean>>>() {
@Override
public void onSuccess(NewResponseImpl<ArrayList<EyeChartsBean>> response) {
if(mView != null && mView.isActive()){
if(response.isSuccess()){
mView.getEyeChartsSuccee(response.getData());
}else{
mView.getEyeChartsFail("数据获取失败");
}
}
}
@Override
public void onError(int errorCode, String errorMessage) {
if(mView != null && mView.isActive()){
mView.getEyeChartsFail("数据获取失败");
}
}
});
}
}
...@@ -2,18 +2,7 @@ package com.oo.eye.mvp.presenter; ...@@ -2,18 +2,7 @@ package com.oo.eye.mvp.presenter;
import android.content.Context; import android.content.Context;
import com.app.baselibrary.commonUtil.SnUtils;
import com.oo.eye.bean.EyeHistroyBean;
import com.oo.eye.db.DbManager;
import com.oo.eye.mvp.contract.EyeHistroyContract; import com.oo.eye.mvp.contract.EyeHistroyContract;
import com.oo.eye.net.EyeDataManager;
import com.oo.seex.netlibrary.net.response.NewResponseImpl;
import com.oo.seex.netlibrary.net.response.RxCallback;
import org.greenrobot.greendao.query.QueryBuilder;
import java.util.ArrayList;
import java.util.List;
/** /**
* Created by xucon on 2017/12/26. * Created by xucon on 2017/12/26.
...@@ -28,50 +17,29 @@ public class EyeHistroyPresenter implements EyeHistroyContract.Presenter { ...@@ -28,50 +17,29 @@ public class EyeHistroyPresenter implements EyeHistroyContract.Presenter {
} }
private void getEyeHistroyDB(Context context, int page, int limit){ public void getEyeHistroy(Context context){
try {
QueryBuilder builder = DbManager.getDaoMaster(context).newSession().getEyeHistroyBeanDao().queryBuilder();
List<EyeHistroyBean> beans = builder.limit(page * limit).build().list();
int count = builder.build().list().size();
if (mView != null && mView.isActive()) {
mView.getEyeHistroyDBSuccee(beans, page, count);
}
}catch (Exception e){
e.printStackTrace();
if (mView != null && mView.isActive()) {
mView.getEyeHistroyFail("数据加载失败");
}
}
}
public void getEyeHistroy(Context context, boolean isNet, int page, int limit){
if(isNet){
getEyeHistroyNet(page,limit);
}else{
getEyeHistroyDB(context,page,limit);
}
} }
private void getEyeHistroyNet(int page,int limit){ private void getEyeHistroyNet(int page,int limit){
EyeDataManager.getInstance().getEyeTestData(SnUtils.getSN(),page,limit) // EyeDataManager.getInstance().getEyeTestData(SnUtils.getSN(),page,limit)
.subscribe(new RxCallback<NewResponseImpl<ArrayList<EyeHistroyBean>>>() { // .subscribe(new RxCallback<NewResponseImpl<ArrayList<EyeHistroyBean>>>() {
@Override // @Override
public void onSuccess(NewResponseImpl<ArrayList<EyeHistroyBean>> response) { // public void onSuccess(NewResponseImpl<ArrayList<EyeHistroyBean>> response) {
if(mView != null && mView.isActive()){ // if(mView != null && mView.isActive()){
if(response.isSuccess()){ // if(response.isSuccess()){
mView.getEyeHistroyNetSuccee(response.getData(),response.getPage()); // mView.getEyeHistroyNetSuccee(response.getData(),response.getPage());
}else{ // }else{
mView.getEyeHistroyFail("数据获取失败"); // mView.getEyeHistroyFail("数据获取失败");
} // }
} // }
} // }
//
@Override // @Override
public void onError(int errorCode, String errorMessage) { // public void onError(int errorCode, String errorMessage) {
if(mView != null && mView.isActive()){ // if(mView != null && mView.isActive()){
mView.getEyeHistroyFail("数据获取失败"); // mView.getEyeHistroyFail("数据获取失败");
} // }
} // }
}); // });
} }
} }
...@@ -2,17 +2,7 @@ package com.oo.eye.mvp.presenter; ...@@ -2,17 +2,7 @@ package com.oo.eye.mvp.presenter;
import android.content.Context; import android.content.Context;
import com.oo.eye.EyeConfig;
import com.oo.eye.bean.EyeChartsBean;
import com.oo.eye.bean.EyeHistroyBean;
import com.oo.eye.db.DbManager;
import com.oo.eye.mvp.contract.EyeTestContract; import com.oo.eye.mvp.contract.EyeTestContract;
import com.oo.eye.net.EyeDataManager;
import com.oo.seex.netlibrary.net.response.NewResponseImpl;
import com.oo.seex.netlibrary.net.response.RxCallback;
import java.text.SimpleDateFormat;
import java.util.Date;
/** /**
* Created by xucon on 2017/12/26. * Created by xucon on 2017/12/26.
...@@ -28,42 +18,42 @@ public class EyeTestPresenter implements EyeTestContract.Presenter { ...@@ -28,42 +18,42 @@ public class EyeTestPresenter implements EyeTestContract.Presenter {
public void postEyeTestData(Context context, String sn, double leftEye, double rightEye, public void postEyeTestData(Context context, String sn, double leftEye, double rightEye,
int leftLine, int rightLine) { int leftLine, int rightLine) {
if (EyeConfig.getInstance().isNetData()) { // if (EyeConfig.getInstance().isNetData()) {
EyeDataManager.getInstance() // EyeDataManager.getInstance()
.postEyeTestData(sn, String.valueOf(leftEye), String.valueOf(rightEye), String.valueOf(leftLine), String.valueOf(rightLine)) // .postEyeTestData(sn, String.valueOf(leftEye), String.valueOf(rightEye), String.valueOf(leftLine), String.valueOf(rightLine))
.subscribe(new RxCallback<NewResponseImpl<String>>() { // .subscribe(new RxCallback<NewResponseImpl<String>>() {
@Override // @Override
public void onSuccess(NewResponseImpl<String> stringEyeResponse) { // public void onSuccess(NewResponseImpl<String> stringEyeResponse) {
if (mView != null && mView.isActive()) // if (mView != null && mView.isActive())
mView.postEyeTestDataSuccee(); // mView.postEyeTestDataSuccee();
} // }
//
@Override // @Override
public void onError(int errorCode, String errorMessage) { // public void onError(int errorCode, String errorMessage) {
if (mView != null && mView.isActive()) // if (mView != null && mView.isActive())
mView.postEyeTestDataFail(errorMessage); // mView.postEyeTestDataFail(errorMessage);
} // }
}); // });
} else { // } else {
Date date = new Date(); // Date date = new Date();
EyeHistroyBean histroyBean = new EyeHistroyBean(); // EyeHistroyBean histroyBean = new EyeHistroyBean();
histroyBean.setLeft_eye(leftEye); // histroyBean.setLeft_eye(leftEye);
histroyBean.setRight_eye(rightEye); // histroyBean.setRight_eye(rightEye);
histroyBean.setLeft_line(leftLine); // histroyBean.setLeft_line(leftLine);
histroyBean.setRight_line(rightLine); // histroyBean.setRight_line(rightLine);
histroyBean.setCreated_time(date.getTime()); // histroyBean.setCreated_time(date.getTime());
histroyBean.setType(2); // histroyBean.setType(2);
DbManager.getDaoMaster(context).newSession().insert(histroyBean); // DbManager.getDaoMaster(context).newSession().insert(histroyBean);
EyeChartsBean chartsBean = new EyeChartsBean(); // EyeChartsBean chartsBean = new EyeChartsBean();
chartsBean.setLeft_eye(leftEye); // chartsBean.setLeft_eye(leftEye);
chartsBean.setRight_eye(rightEye); // chartsBean.setRight_eye(rightEye);
chartsBean.setType(2); // chartsBean.setType(2);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM"); // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
chartsBean.setCreated_month(simpleDateFormat.format(date)); // chartsBean.setCreated_month(simpleDateFormat.format(date));
DbManager.getDaoMaster(context).newSession().insertOrReplace(chartsBean); // DbManager.getDaoMaster(context).newSession().insertOrReplace(chartsBean);
if (mView != null) { // if (mView != null) {
mView.postEyeTestDataSuccee(); // mView.postEyeTestDataSuccee();
} // }
} // }
} }
} }
package com.oo.eye.net; package com.oo.eye.net;
import com.app.baselibrary.bean.UserInfo;
import com.oo.eye.bean.EyeChartsBean;
import com.oo.eye.bean.EyeHistroyBean; import com.oo.eye.bean.EyeHistroyBean;
import com.oo.eye.bean.InitDataBean; import com.oo.eye.bean.StudentBean;
import com.oo.seex.netlibrary.net.response.NewResponseImpl; import com.oo.seex.netlibrary.net.response.OldResponseImpl;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import retrofit2.http.Field; import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded; import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST; import retrofit2.http.POST;
import retrofit2.http.Query;
import rx.Observable; import rx.Observable;
/** /**
...@@ -25,33 +23,16 @@ public interface EyeApiService { ...@@ -25,33 +23,16 @@ public interface EyeApiService {
* 上传视力测试结果 * 上传视力测试结果
*/ */
@FormUrlEncoded @FormUrlEncoded
@POST("/SeexApi/Vision/add") @POST(NetConfig.ADD_EYE)
Observable<NewResponseImpl<String>> postEyeTestData(@Field("deviceSN") String deviceSn Observable<OldResponseImpl<String>> postEyeTestData(@FieldMap Map<String ,String> params);
, @Field("left") String leftEye, @Field("right") String rightEye
, @Field("leftLine") String leftLine, @Field("rightLine") String rightLine);
/** /**
* 获取视力测试历史结果 * 获取视力测试历史结果
*/ */
@GET("/SeexApi/Vision") @POST(NetConfig.GET_STUDENT_TEST_HISTORY)
Observable<NewResponseImpl<ArrayList<EyeHistroyBean>>> getEyeTestData(@Query("deviceSN") String deviceSn Observable<OldResponseImpl<ArrayList<EyeHistroyBean>>> getEyeTestData(@FieldMap Map<String ,String> params);
, @Query("page") int page, @Query("limit") int limit);
/**
* 获取视力测试历史结果
*/
@GET("/SeexApi/Vision/charts")
Observable<NewResponseImpl<ArrayList<EyeChartsBean>>> getEyeTestCharts(@Query("deviceSN") String deviceSn
, @Query("limit") int limit);
/**
* @param deviceSN
* @return
*/
@GET("/SeexApi/Device/status")
Observable<NewResponseImpl<UserInfo>> getUserInfo(@Query("deviceSN") String deviceSN);
/** /**
* 获取初始数据 * 获取学生信息
*/ */
@GET("/SeexApi/Teenage/default") @POST(NetConfig.CLASS_STUDENT)
Observable<NewResponseImpl<InitDataBean>> getEyeInit(@Query("deviceSN") String deviceSn); Observable<OldResponseImpl<List<StudentBean>>> getEyeInit(@FieldMap Map<String ,String> params);
} }
...@@ -3,17 +3,6 @@ package com.oo.eye.net; ...@@ -3,17 +3,6 @@ package com.oo.eye.net;
import android.content.Context; import android.content.Context;
import com.app.baselibrary.base.app.BaseApplication; import com.app.baselibrary.base.app.BaseApplication;
import com.app.baselibrary.bean.UserInfo;
import com.oo.eye.bean.EyeChartsBean;
import com.oo.eye.bean.EyeHistroyBean;
import com.oo.eye.bean.InitDataBean;
import com.oo.seex.netlibrary.net.response.NewResponseImpl;
import java.util.ArrayList;
import rx.Observable;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
/** /**
* Desc:app管理类;(网络本地管理) * Desc:app管理类;(网络本地管理)
...@@ -38,43 +27,4 @@ public class EyeDataManager { ...@@ -38,43 +27,4 @@ public class EyeDataManager {
mContext = BaseApplication.getAppContext(); mContext = BaseApplication.getAppContext();
} }
/**
* 上传视力测试结果
*/
public Observable<NewResponseImpl<String>> postEyeTestData(String deviceSn, String leftEye, String rightEye, String leftLine, String rightLine) {
return EyeNetManager.getInstance().getApiService(EyeApiService.class).postEyeTestData(deviceSn,leftEye,rightEye,leftLine,rightLine).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 获取用户信息
*/
public Observable<NewResponseImpl<UserInfo>> getUserInfo(String deviceSN) {
return EyeNetManager.getInstance().getApiService(EyeApiService.class).getUserInfo(deviceSN).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 获取初始数据
*/
public Observable<NewResponseImpl<InitDataBean>> getEyeInit(String deviceSn) {
return EyeNetManager.getInstance().getApiService(EyeApiService.class).getEyeInit(deviceSn).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
*获取视力测试历史结果
* @return
*/
public Observable<NewResponseImpl<ArrayList<EyeHistroyBean>>>getEyeTestData(String deviceSn, int page, int limit) {
return EyeNetManager.getInstance().getApiService(EyeApiService.class).getEyeTestData(deviceSn,page,limit).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 获取视力测试历史结果
*/
public Observable<NewResponseImpl<ArrayList<EyeChartsBean>>> getEyeTestCharts(String deviceSn, int limit) {
return EyeNetManager.getInstance().getApiService(EyeApiService.class).getEyeTestCharts(deviceSn,limit).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
} }
package com.oo.eye.net; package com.oo.eye.net;
import com.oo.seex.netlibrary.net.BaseApiConfig;
import com.oo.seex.netlibrary.net.BaseNetManager; import com.oo.seex.netlibrary.net.BaseNetManager;
/** /**
...@@ -21,8 +22,8 @@ public class EyeNetManager extends BaseNetManager { ...@@ -21,8 +22,8 @@ public class EyeNetManager extends BaseNetManager {
@Override @Override
protected void setBaseNet() { protected void setBaseNet() {
// BaseApiConfig.setReleaseHost("https://seex.dev.iouou.cn"); BaseApiConfig.setReleaseHost(NetConfig.REALY_HOST);
// BaseApiConfig.setDebugHost("https://seex.inner.iouou.cn"); BaseApiConfig.setDebugHost(NetConfig.DEBUG_HOST);
} }
} }
package com.oo.eye.net;
/**
* Created by xucon on 2018/8/31.
*/
public class NetConfig {
public static final String REALY_HOST = "https://seex.dev.iouou.cn";
public static final String DEBUG_HOST ="https://seex.roll.iouou.cn";
/**
* 获取班级学生
*/
public static final String CLASS_STUDENT = "/Api/Vision/getStudentInfo";
/**
* 上传视力测量信息
*/
public static final String ADD_EYE = "/Api/Vision/add";
/**
* 获取所以学生视力记录
*/
public static final String GET_STUDENT_TEST_HISTORY = "/Api/Vision/getVisionHistory";
}
package com.oo.eye.widget;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.view.View;
import com.oo.eye.bean.ChartsBean;
import com.oo.eye.bean.EyeChartsBean;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by xucon on 2017/12/28.
*/
public class ChartsView extends View {
private List<ChartsBean> mChartsBeen;
private int height;
private int width;
private int yTextWidth = 100;
private float xSpace;
private float ySpace;
private float XTextPintSize = 40f;
private int radius = 30;
private Paint mGesturePaint = new Paint();
private Paint circlePaint = new Paint();
private Paint xTextPaint = new Paint();
private Paint linePaint = new Paint();
public static final float TOP_DP = 20f; // 坐标系距离顶部的间距
public static final float BOTTOM_DP = 20f; // 坐标系距离底部的间距
public static final float LEFT_DP = 20f; // 坐标系距离左边的间距
public static final float RIGHT_DP = 20f; // 坐标系距离右边的间距
public ChartsView(Context context, int width, int height){
super(context);
this.width = width;
this.height = height;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if(mChartsBeen != null && mChartsBeen.size() > 0) {
xTextPaint.setColor(Color.WHITE);
xTextPaint.setAntiAlias(true);
xTextPaint.setStrokeWidth(1);
xTextPaint.setTextSize(XTextPintSize);
linePaint.setColor(Color.WHITE);
linePaint.setAntiAlias(true);
linePaint.setStrokeWidth(3);
circlePaint.setColor(Color.parseColor("#FFF67F"));
circlePaint.setAntiAlias(true);
circlePaint.setStrokeWidth(3);
mGesturePaint.setAntiAlias(true);
mGesturePaint.setStyle(Paint.Style.STROKE);
mGesturePaint.setStrokeWidth(5);
mGesturePaint.setColor(Color.parseColor("#FFF67F"));
/* 绘制x,y */
canvas.drawLine(LEFT_DP+yTextWidth, height - BOTTOM_DP - XTextPintSize ,width- RIGHT_DP,height - BOTTOM_DP - XTextPintSize,linePaint);
canvas.drawLine(LEFT_DP+yTextWidth, TOP_DP ,LEFT_DP+yTextWidth,height - BOTTOM_DP - XTextPintSize,linePaint);
Path path = null;
for (int i = mChartsBeen.size()-1; i >= 0; i--) {
ChartsBean energy = mChartsBeen.get(i);
if(path == null){
path = new Path();
path.moveTo(energy.x, energy.y); //原点
}else{
path.lineTo(energy.x, energy.y);
}
float tSize = xTextPaint.measureText(energy.xText);
canvas.drawCircle(energy.x, energy.y, radius/2, circlePaint);
// 绘制y的 文字
canvas.drawText(energy.yText, LEFT_DP,energy.y , xTextPaint);
// 绘制x的 文字
canvas.drawText(energy.xText, energy.x - tSize/2,height - BOTTOM_DP , xTextPaint);
//画横线
canvas.drawLine(LEFT_DP+yTextWidth, energy.y, width-RIGHT_DP, energy.y, linePaint);
//画竖线
canvas.drawLine(energy.x, TOP_DP, energy.x, height - BOTTOM_DP - XTextPintSize, linePaint);
}
if( mChartsBeen.size() > 1) {
canvas.drawPath(path, mGesturePaint);
}
}
}
public void setData(List<EyeChartsBean> data, boolean isLeft){
if(data == null || data.size() == 0)return;
List<EyeChartsBean> beans = new ArrayList<>();
for(int i = data.size()-1; i>= 0;i--){
if(data.get(i) != null && data.get(i).getCreated_month() != null){
beans.add(data.get(i));
}
}
if(beans == null || beans.size() == 0)return;
ArrayList<Double> values = new ArrayList<>();
Map<Double,Float> map = new HashMap<>();
ArrayList<String> vs = new ArrayList<>();
int count = 0;
for(EyeChartsBean bean : beans ){
if(isLeft){
if(!vs.contains(String.valueOf(bean.getLeft_eye()))){
count++;
values.add(bean.getLeft_eye());
vs.add(String.valueOf(bean.getLeft_eye()));
}
}else{
if(!vs.contains(String.valueOf(bean.getRight_eye()))){
count++;
values.add(bean.getRight_eye());
vs.add(String.valueOf(bean.getRight_eye()));
}
}
}
xSpace = (width - LEFT_DP - yTextWidth - RIGHT_DP)/(beans.size()+ 1);
ySpace = (height - TOP_DP - BOTTOM_DP - XTextPintSize)/(count+1);
float h = height - BOTTOM_DP - XTextPintSize;
Collections.sort(values);
for(int i = 0 ; i < values.size() ; i ++){
map.put(values.get(i),h - (i+1)*ySpace);
}
mChartsBeen = new ArrayList<>();
for(int j = 0; j < beans.size(); j++){
try {
EyeChartsBean bean = beans.get(j);
ChartsBean chartsBean = new ChartsBean();
chartsBean.x = LEFT_DP + yTextWidth + (j + 1) * xSpace;
if (isLeft) {
chartsBean.y = map.get(bean.getLeft_eye());
chartsBean.yText = String.valueOf(bean.getLeft_eye());
} else {
chartsBean.y = map.get(bean.getRight_eye());
chartsBean.yText = String.valueOf(bean.getRight_eye());
}
chartsBean.xText = bean.getCreated_month().substring(
bean.getCreated_month().indexOf("-") + 1, bean.getCreated_month().length()) + "月";
mChartsBeen.add(chartsBean);
}catch (Exception e){
e.printStackTrace();
}
}
invalidate();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment