使用GreenDao添加数据-查询数据
来源:互联网 发布:java开发微信的步骤 编辑:程序博客网 时间:2024/05/16 07:28
//首先先敲一个Util类备用
GreenDaoHelper//代码在这里import android.app.Application;import android.content.Context;import android.content.ContextWrapper;import android.database.DatabaseErrorHandler;import android.database.sqlite.SQLiteDatabase;import android.util.Log;import com.baway.admin.zhoukaoonelianxi.gen.DaoMaster;import com.baway.admin.zhoukaoonelianxi.gen.DaoSession;import com.facebook.drawee.backends.pipeline.Fresco;import java.io.File;import java.io.IOException;/** * Created by Administrator on 2017/12/2. */public class GreenDaoHelper extends Application { private GreenDaoHelper Instance; private static DaoMaster daoMaster; private static DaoSession daoSession; public GreenDaoHelper getInstance() { if (Instance == null) { Instance = this; } return Instance; } @Override public void onCreate() { super.onCreate(); Fresco.initialize(this); } /** * 获取DaoMaster * * @param context * @return */ public static DaoMaster getDaoMaster(Context context) { if (daoMaster == null) { try{ ContextWrapper wrapper = new ContextWrapper(context) { /** * 获得数据库路径,如果不存在,则创建对象对象 * * @param name */ @Override public File getDatabasePath(String name) { // 判断是否存在sd卡 boolean sdExist = android.os.Environment.MEDIA_MOUNTED.equals(android.os.Environment.getExternalStorageState()); if (!sdExist) {// 如果不存在, Log.e("SD卡管理:", "SD卡不存在,请加载SD卡"); return null; } else {// 如果存在 // 获取sd卡路径 String dbDir = android.os.Environment.getExternalStorageDirectory().getAbsolutePath(); dbDir += "/Android";// 数据库所在目录 String dbPath = dbDir + "/" + name;// 数据库路径 // 判断目录是否存在,不存在则创建该目录 File dirFile = new File(dbDir); if (!dirFile.exists()) dirFile.mkdirs(); // 数据库文件是否创建成功 boolean isFileCreateSuccess = false; // 判断文件是否存在,不存在则创建该文件 File dbFile = new File(dbPath); if (!dbFile.exists()) { try { isFileCreateSuccess = dbFile.createNewFile();// 创建文件 } catch (IOException e) { e.printStackTrace(); } } else isFileCreateSuccess = true; // 返回数据库文件对象 if (isFileCreateSuccess) return dbFile; else return super.getDatabasePath(name); } } /** * 重载这个方法,是用来打开SD卡上的数据库的,android 2.3及以下会调用这个方法。 * * @param name * @param mode * @param factory */ @Override public SQLiteDatabase openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory) { return SQLiteDatabase.openOrCreateDatabase(getDatabasePath(name), null); } /** * Android 4.0会调用此方法获取数据库。 * * @see ContextWrapper#openOrCreateDatabase(String, * int, * SQLiteDatabase.CursorFactory, * DatabaseErrorHandler) * @param name * @param mode * @param factory * @param errorHandler */ @Override public SQLiteDatabase openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory, DatabaseErrorHandler errorHandler) { return SQLiteDatabase.openOrCreateDatabase(getDatabasePath(name), null); } }; DaoMaster.OpenHelper helper = new DaoMaster.DevOpenHelper(wrapper,"test.db",null); daoMaster = new DaoMaster(helper.getWritableDatabase()); //获取未加密的数据库 }catch (Exception e){ e.printStackTrace(); } } return daoMaster; } /** * 获取DaoSession对象 * * @param context * @return */ public static DaoSession getDaoSession(Context context) { if (daoSession == null) { if (daoMaster == null) { getDaoMaster(context); } daoSession = daoMaster.newSession(); } return daoSession; }}//好了下面开始操作吧//因为我在做这个的时候多了一个网络判断下面这块的存数据库的操作是在有网络的状态下书写的如果有不会的朋友可以参考一下下面这个地址//存值到数据库for(int i=0;i< results.size();i++){ System.out.println("==========走这儿了没走这儿了没=========="); MyBean.ResultsBean r=results.get(i); User userBean=new User(System.currentTimeMillis(),r.getDesc()); System.out.println("=============userBean============="+userBean.getDesc()); session.insert(userBean);}
//在没有网络的时候做一个数据库查询//查询记录List<User> users = session.getUserDao().loadAll();System.out.println("=====users======="+users.get(0).get_id());System.out.println("============usersusers=========="+users.get(0).getDesc());MyAdapter myAdapter=new MyAdapter(getActivity(),users);mRv.setAdapter(myAdapter);
//当然做这些操作的前提是将GreenDao集成成功啦!!!
http://blog.csdn.net/inter_native/article/details/78603256
//好了大概就是这样了
阅读全文
0 0
- 使用GreenDao添加数据-查询数据
- GreenDao + 请求网络数据添加到数据库 + 新增+删除 +查询
- GreenDao查询数据带缓存
- Greendao 查询不到真实数据的解决方法 清除greendao缓存
- greendao 查询之数据去重
- GreenDao源码分析及使用GreenDao实现静态数据缓存
- 使用Greendao进行批量添加数据(Android Studio读取assets下的数据库文件)
- 使用greenDao根据条件查询数据的时候碰到的问题
- 使用Struts2+Hibernate(HQL)添加数据、查询数据
- greendao数据的使用,简单形
- 使用GreenDao存储list集合数据
- GreenDao查询,有时会查不到数据,解决方法。
- Greendao 插入数据失败
- CoreData添加数据和查询数据
- mysql-查询并且添加数据
- Android中轻松使用greenDao实现数据持久化
- 使用JDBC查询数据
- 使用反射查询数据
- hdoj-2700Parity
- HDOJ 2700 Parity(水)
- spring教程--事务管理
- STM32入门学习之_SysTick_Config()函数的SysTick时钟配置
- Esp8266学习之旅⑦ 了解softAP热点配网模式原理,仿“机智云”定义自己的热点配网模式协议。(带Demo)
- 使用GreenDao添加数据-查询数据
- LightOJ
- 【二分+最大流】BZOJ1305 [CQOI2009]dance跳舞
- MVP+banner+banner点击事件+webview
- 机器学习-KMeans聚类 K值以及初始类簇中心点的选取
- ros 安装及基础学习
- linux中的防火墙管理之firewall
- Lct
- 访问者模式(Visitor)-----基于JAVA语言