Przeglądaj źródła

添加orm帮助类

shanmulinxi 2 lat temu
rodzic
commit
dacbd09e73

+ 2 - 0
app/src/main/java/com/sunwin/visitorapp/BaseApplication.java

@@ -3,6 +3,7 @@ package com.sunwin.visitorapp;
 import android.app.Application;
 import android.content.Context;
 
+import com.sunwin.visitorapp.manage.OrmDBHelper;
 import com.sunwin.visitorapp.utils.CacheUtil;
 import com.sunwin.visitorapp.utils.PresentationManager;
 import com.sunwin.visitorapp.utils.SystemTTS;
@@ -32,6 +33,7 @@ public class BaseApplication extends Application {
         Timber.plant(new Timber.DebugTree());
 
         CacheUtil.init(this);
+        OrmDBHelper.init(this);
 //        PresentationManager.checkAndShow(this);
     }
 

+ 132 - 0
app/src/main/java/com/sunwin/visitorapp/manage/OrmDBHelper.java

@@ -0,0 +1,132 @@
+package com.sunwin.visitorapp.manage;
+
+
+import android.content.Context;
+import android.os.Environment;
+
+
+import com.litesuits.orm.LiteOrm;
+import com.litesuits.orm.db.assit.QueryBuilder;
+
+import java.io.File;
+import java.util.List;
+
+import timber.log.Timber;
+
+/**
+ * Title:
+ * Description:
+ * <p>
+ * Created by pei
+ * Date: 2017/11/22
+ */
+public class OrmDBHelper {
+
+    private static LiteOrm mLiteOrm;
+    private static final boolean isOpenOrmLog=true;// whether open the log
+
+    //orm数据库相关
+    private static final String ORM_DB_NAME="VisitorApp/VisitorApp.db";//orm数据库文件名,默认地址
+//    private final String ORM_DB_NAME= SDCardUtil.getInnerSDCardPath()+"student.db";//orm数据库文件名,自定义地址
+
+
+    public static void init(Context context){
+        File sdPath  = Environment.getExternalStorageDirectory();
+        mLiteOrm = LiteOrm.newSingleInstance(context, sdPath.getAbsolutePath()+File.pathSeparator+ORM_DB_NAME);
+        mLiteOrm.setDebugged(isOpenOrmLog); // open the log
+    }
+
+    /**获取orm数据库对象**/
+    public static  LiteOrm getOrmDataBase(){
+        return mLiteOrm;
+    }
+
+    //插入
+    public static <T> long insert(T t) {
+        return getOrmDataBase().insert(t);
+    }
+
+    //插入or更新
+    public static <T> long save(T t) {
+        return getOrmDataBase().save(t);
+    }
+
+    /***
+     * 更新
+     */
+    public static <T> void update(T t){
+        getOrmDataBase().update(t);
+    }
+
+    /**
+     * 插入所有记录
+     * @param list
+     */
+    public static <T> void insertAll(List<T> list) {
+        getOrmDataBase().save(list);
+    }
+
+    /**
+     * 查询所有
+     * @param cla
+     * @return
+     */
+    public static <T> List<T> getQueryAll(Class<T> cla) {
+        return getOrmDataBase().query(cla);
+    }
+
+    /**
+     * 查询  某字段 等于 Value的值
+     * @param cla
+     * @param field
+     * @param value
+     * @return
+     */
+    public static <T> List<T> getQueryByWhere(Class<T> cla, String field, Object[] value) {
+        return getOrmDataBase().<T>query(new QueryBuilder(cla).where(field + "=?", value));
+    }
+
+    /**
+     * 查询  某字段 等于 Value的值  可以指定从1-20,就是分页
+     * @param cla
+     * @param field
+     * @param value
+     * @param start
+     * @param length
+     * @return
+     */
+    public static <T> List<T> getQueryByWhereLength(Class<T> cla, String field, Object[] value, int start, int length) {
+        return getOrmDataBase().<T>query(new QueryBuilder(cla).where(field + "=?", value).limit(start, length));
+    }
+
+    /**
+     * 删除一个数据
+     * @param t
+     * @param <T>
+     */
+    public static <T> void delete( T t){
+        getOrmDataBase().delete( t ) ;
+    }
+
+    /**
+     * 删除一个表
+     * @param cla
+     * @param <T>
+     */
+    public static <T> void delete( Class<T> cla ){
+        getOrmDataBase().delete( cla );
+    }
+
+    /**
+     * 删除集合中的数据
+     * @param list
+     * @param <T>
+     */
+    public static <T> void deleteList( List<T> list ){
+        getOrmDataBase().delete( list ) ;
+    }
+
+
+
+}
+

+ 3 - 0
app/src/main/java/com/sunwin/visitorapp/utils/FileUtil.java

@@ -17,6 +17,9 @@ import java.io.InputStream;
 public class FileUtil {
     private static final String TAG = "FileUtil";
 
+
+
+
     public static void copyFilesFromAssets(Context context, String assetsPath, String savePath){
         try {
             String fileNames[] = context.getAssets().list(assetsPath);// 获取assets目录下的所有文件及目录名