编译工具:Eclipse
首先说明一下,原来声明的方法。
项目中我们创建了一个Application,用Application来管理DaoMaster和DaoSession。这个也是官方推荐的方法。类名:App_Applicationpublic class App_Application extends Application { private static App_Application mInstance = null; ///////grendao框架用到的S/////////////////////////////////////////////////////////// private static DaoMaster daoMaster; private static DaoSession daoSession; ///////grendao框架用到的S/////////////////////////////////////////////////////////// @Override public void onCreate() { // TODO 自动生成的方法存根 super.onCreate(); if(mInstance == null) mInstance = this; } ///////grendao框架用到的S/////////////////////////////////////////////////////////// /** * 取得DaoMaster * * @param context * @return */ public static DaoMaster getDaoMaster(Context context) { if (daoMaster == null) { OpenHelper helper = new DaoMaster.DevOpenHelper(context,Focus.DATA_NAME, null); daoMaster = new DaoMaster(helper.getWritableDatabase()); } return daoMaster; } /** * 取得DaoSession * * @param context * @return */ public static DaoSession getDaoSession(Context context) { if (daoSession == null) { if (daoMaster == null) { daoMaster = getDaoMaster(context); } daoSession = daoMaster.newSession(); } return daoSession; } ///////grendao框架用到的E/////////////////////////////////////////////////////////// }
android配置文件如图
配置文件xml如下:
为了方便的操作数据库。我对表单独写了一个工具类。类名:Db_user_Operations用户信息(数据库操作)
Db_user_Operations类的代码如下:/** * 用户信息(数据库操作) * * @author aboutych * */public class Db_user_Operations { private static final String TAG = Db_user_Operations.class.getSimpleName(); private static Db_user_Operations instance; private static Context appContext; private DaoSession mDaoSession; private Db_userDao db_userDao; private Db_user_Operations() { super(); } public static Db_user_Operations getInstance(Context context) { if (instance == null) { instance = new Db_user_Operations(); if (appContext == null) { appContext = context.getApplicationContext(); } instance.mDaoSession = App_Application.getDaoSession(context); instance.db_userDao = instance.mDaoSession.getDb_userDao(); } return instance; } /** * 通过id返回Db_user * @param id * @return Db_user */ public Db_user load_Db_userDao(long id) { return db_userDao.load(id); } /** * 查询所有 * @return List
在页面类中,调用方法如下: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this;//调用Db_user_Operations的.getInstance创建daoMaster db_user_Operations = Db_user_Operations.getInstance(mContext); //给Db_user添加数据信息Db_user db_user = new Db_user(null, 'hhh', 'user_name', 'loginName', 'pwd', 'qq', 'wechat', 'phone', 'deviceno', 'type', 'school', 'version'); //执行插入方法Long return_id = db_user_Operations.save_Db_userDao(db_user); System.out.println('return_id'+return_id); }
本步骤需要一定代码基础
程序代码以代码片段的形式展示