一.下载包

http://ormlite.com/

http://ormlite.com/releases/

把core包 和 android包   build path到项目里

二.参考资料

http://ormlite.com/

http://blog.csdn.net/joker_zhou/article/details/7869244

https://www.youtube.com/watch?v=beb-n2yq0kM&hd=1

三.自己写的

1.写一个类代表一个表

package com.example.test_ormlite;
import com.j256.ormlite.field.DatabaseField;  public class Person {  public static final String ID = "person_id";  public static final String Name = "person_name";  public static final String Info = "persin_info";  @DatabaseField(useGetSet = true , columnName = ID , generatedId = true)  private int id;  @DatabaseField(useGetSet = true , columnName = Name)  private String name;  @DatabaseField(useGetSet = true , columnName = Info)  private String info;  //必须提供一个无参数的构造函数,这个不能少  public Person() {}  //自定义构造函数  public Person( String name , String info) {  //super();  this.name = name;  this.info = info;  }  @Override  //方便输出查看  public String toString() {  return "id:" + id + " ,name:" + name + " ,info:" + info;  }  //get,set方法不能漏 之前就是漏了 结果报错无法运行  public int getId() {  return id;  }  public void setId(int id) {  this.id = id;  }  public String getName() {  return name;  }  public void setName(String name) {  this.name = name;  }  public String getInfo() {  return info;  }  public void setInfo(String info) {  this.info = info;  }  }

2.在res目录新建一个raw文件夹

继承一个OrmLiteConfigUtil类,  用来生成配置文件

package com.example.test_ormlite;  import java.io.IOException;
import java.sql.SQLException;  import com.j256.ormlite.android.apptools.OrmLiteConfigUtil;  public class MyConfigUtil extends OrmLiteConfigUtil {  public static final Class<?>[] classes = new Class[]{ Person.class };  public static void main(String[] args) throws SQLException,IOException {  writeConfigFile("my_ormlite_config.txt",classes);  }  }

  

以j2se的形式run这个类,  对MyConfigUtil.java  进行 run as  的配置

3.第2步完成后会在raw里面生成表的配置文件my_ormlite_config.txt,然后我们就可以写一个DatabaseHelper加载它

并在里面实现创建DAO的方法

package com.example.test_ormlite;  import java.sql.SQLException;  import android.R.integer;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;  import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;
import com.j256.ormlite.dao.Dao;
import com.j256.ormlite.dao.RuntimeExceptionDao;
import com.j256.ormlite.support.ConnectionSource;
import com.j256.ormlite.table.TableUtils;  public class MyDatabaseHelper extends OrmLiteSqliteOpenHelper {  public static final String DATABASE_NAME = "mydatabase.db";  public static final int DATABASE_VERSION = 1;  private Dao<Person,Integer> personDao = null;  private RuntimeExceptionDao<Person, Integer> personRuntimeDao = null;  public MyDatabaseHelper(Context context) {  //加载数据库 和  表的配置文件  super(context, DATABASE_NAME,  null , R.raw.my_ormlite_config);  }  @Override  public void onCreate(SQLiteDatabase db, ConnectionSource con) {  try {  //创建表  TableUtils.createTable(con, Person.class);  } catch (SQLException e) {  // TODO Auto-generated catch block  e.printStackTrace();  }  }  @Override  public void onUpgrade(SQLiteDatabase db, ConnectionSource con, int oldVersion,  int newVersion) {  try {  //删除表  TableUtils.dropTable(con, Person.class, true);  //重建表  TableUtils.createTable(con, Person.class);  } catch (SQLException e) {  // TODO Auto-generated catch block  e.printStackTrace();  }  }  //person类的DAO  public Dao<Person, Integer> getDao() throws SQLException {  if( personDao == null )  {  personDao = getDao(Person.class);  }  return personDao;   }  //person类的RuntimeDao  public RuntimeExceptionDao<Person, Integer> getPersonRuntimeExceptionDao() {  if( personRuntimeDao == null )  {  personRuntimeDao = getRuntimeExceptionDao(Person.class);  }  return personRuntimeDao;  }  }

  

4.然后就可以在activity里面做一些测试了

package com.example.test_ormlite;  import java.util.List;  import com.j256.ormlite.android.apptools.OpenHelperManager;
import com.j256.ormlite.dao.RuntimeExceptionDao;  import android.os.Bundle;
import android.app.Activity;
import android.database.DatabaseUtils;
import android.util.Log;
import android.view.Menu;  public class MainActivity extends Activity {  MyDatabaseHelper myDbHelper = null;  @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  doSomeTestWithOrmlite();  }  private void doSomeTestWithOrmlite() {  //建立databaseHelper  myDbHelper = OpenHelperManager.getHelper(this,MyDatabaseHelper.class);  //用databaseHelper 建立 dao  RuntimeExceptionDao<Person, Integer> personDao = myDbHelper.getPersonRuntimeExceptionDao();  //插入三条数据  personDao.create(new Person("姓名1","猜猜他是谁") );  personDao.create(new Person("姓名2","猜猜他是谁") );  personDao.create(new Person("姓名s","猜猜他是谁") );  //输出全部数据  List<Person>  list_person = personDao.queryForAll();  Log.d( "mytag", list_person.toString() );  //释放helper  OpenHelperManager.releaseHelper();  }  @Override  public boolean onCreateOptionsMenu(Menu menu) {  // Inflate the menu; this adds items to the action bar if it is present.  getMenuInflater().inflate(R.menu.main, menu);  return true;  }  }

  

转载于:https://www.cnblogs.com/sleeptothedeath/p/3681455.html

[Android学习系列8]数据库ormlite笔记相关推荐

  1. Android学习系列(15)--App列表之游标ListView(索引ListView)

    游标ListView,提供索引标签,使用户能够快速定位列表项.       也可以叫索引ListView,有的人称也为Tweaked ListView,可能更形象些吧.       一看图啥都懂了: ...

  2. Android学习系列(27)--App缓存管理

    随笔- 53 文章- 10 评论- 1064 Android学习系列(27)--App缓存管理 无论大型或小型应用,灵活的缓存可以说不仅大大减轻了服务器的压力,而且因为更快速的用户体验而方便了用户. ...

  3. Android学习系列(7)--App轮询服务器消息

    这篇文章是android开发人员的必备知识. 1.轮询服务器      一般的应用,定时通知消息可以采用轮询的方法从服务器拿取消息,当然实时消息通知的话,建议采用推送服务.     其中需要注意轮询的 ...

  4. Android学习系列(10)--App列表之拖拽ListView(上)

    研究了很久的拖拽ListView的实现,受益良多,特此与尔共飨.       鉴于这部分内容网上的资料少而简陋,而具体的实现过程或许对大家才有帮助,为了详尽而不失真,我们一步一步分析,分成两篇文章. ...

  5. Android学习系列(34)--App应用之发布各广告平台版本

    Android的广告平台是很多的,各市场对各平台的接受程度是不一样的,Android的开发者如果想集成广告基本要考虑下面两个问题: (1)集成什么广告,会赚钱? (2)集成什么广告,不会被市场拒绝? ...

  6. Android学习系列(11)--App列表之拖拽ListView(下)

    接着上篇Android学习系列(10)--App列表之拖拽ListView(上)我们继续实现ListView的拖拽效果. 7.重写onTouchEvent()方法.      在这个方法中我们主要是处 ...

  7. Android学习系列--App调试的几个命令实践

    2019独角兽企业重金招聘Python工程师标准>>> 在Android的应用开发中,我们会用到各种代码调试:其实在Android的开发之后,我们可能会碰到一些随机的问题,如cpu过 ...

  8. Android学习系列--App缓存管理

    http://www.cnblogs.com/qianxudetianxia/archive/2012/02/20/2112128.html 无论大型或小型应用,灵活的缓存可以说不仅大大减轻了服务器的 ...

  9. Android学习系列(19)--App离线下载

    宜未雨而绸缪,毋临渴而掘井.----朱用纯<治家格言> 离线下载,在有网络的情况下下载服务器数据,以便无网络时也能阅读,就是离线阅读. 离线下载的功能点如下:       1.下载管理(开 ...

最新文章

  1. ubuntu下安装ftp服务器
  2. 获取父页面URL的参数对应值及左对齐字符串
  3. 信用模型评分卡入门介绍
  4. mplus 软件_Mplus 7.4 软件及代码
  5. J2EE 中的安全第一部分 - J2EE安全介绍
  6. 计算机学院志愿公益活动,计算机学院开展学雷锋主题公益活动
  7. IDEA中找不到maven插件Plugin ‘org.apache.tomcat.maven:tomcat7-maven-plugin:2.2‘ not found
  8. 北京昌平回龙观史各庄找PHP开发人员一起做私活
  9. python 单例模式的实现方法_python中单例模式的四种实现方式
  10. C++ 写时拷贝 3
  11. ShardingSphere JDBC 分库分表 读写分离 数据加密
  12. webpack2 项目构建一
  13. C++面试题-面向对象-构造函数和析构函数
  14. 计算机内存不足黑屏怎么办,win10内存不足会黑屏怎么办
  15. php电子病历毕业设计,基于区块链的电子病历系统设计与实现(自制毕设)
  16. IBM服务器无法启动怎么恢复
  17. 猴子偷桃(Java实现)
  18. 选购发烧游戏台式计算机的内存储器,游戏发烧友福音 惠普暗影精灵5 Super游戏台式电脑评测...
  19. un7.28:redis客户端常用命令。
  20. 电脑游戏计算机哪年发明的,电子计算机发明于哪一年

热门文章

  1. 2014Esri国际用户大会ArcGIS Online
  2. struts标签传值
  3. 用js改变embed标签的src值
  4. OpenCV-Python中的两种图像通道分离法
  5. java阅读doc文件格式_java – 正确区分.xls和.doc文件的方法?
  6. SpringCloud Zuul初体验
  7. leetcode算法题--寻找两个有序数组的中位数★★
  8. linux虚拟网络设备之tun/tap(一)
  9. Windows注册表修改实例完全手册(下)
  10. PDO操作MYSQL