本文中曾经提到过Ormlite的第三方组件包, Ormlite 是一种ORM工具,并且是一种轻量级别的工具。我们可以使用它来对Android中内嵌的sqlite数据库进行相关的操作。Android 的应用程序应使用 Ormlite for android 版本来进行相关的开发。Ormlite是对android提供的sqlite部分的API进行了封装。提供了更加方便的接口来供使用。

本文以一个学生的信息实例程序来展示如何使用ormlite for Android的第三方组件来开发Sqlite的C[增加],R[查询],U[更新],D[查询]应用程序,以便更方便的对sqlite数据库的操作。我们先看下程序的结构图:

【1】.程序结构图如下:

Android中结合OrmLite for android组件对SQLite的CRUD(增删改查)操作实例(一)_第1张图片

其中包com.andyidea.bean下Student.java为实体类,包com.andyidea.db下DatabaseHelper.java为数据库辅助类,包com.andyidea.ormsqlite下的MainActivity.java和StudentListActivity.java是界面信息类。同时我们别忘了在根目录下创建一个lib的文件夹,把第三方组件包ormlite-Android-4.31.jar ,ormlite-core-4.31.jar,ormlite-jdbc-4.31.jar放到lib文件夹下,然后在项目中引用这三个包就OK了。

【2】布局文件源码如下:

main.xml源码:

[html]
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:Android="http://schemas.android.com/apk/res/android"
  3. Android:orientation="vertical"
  4. Android:layout_width="fill_parent"
  5. Android:layout_height="fill_parent"
  6. Android:padding="5dip">
  7. <TextView
  8. Android:layout_width="fill_parent"android:layout_height="wrap_content"
  9. Android:gravity="center"android:text="ORMLite-AddPage"/>
  10. <LinearLayout
  11. Android:layout_width="fill_parent"android:layout_height="wrap_content"
  12. Android:orientation="horizontal"android:padding="1dip"android:gravity="center_vertical">
  13. <TextView
  14. Android:layout_width="wrap_content"
  15. Android:layout_height="wrap_content"
  16. Android:text="学号:"/>
  17. <EditText
  18. Android:id="@+id/stuno"
  19. Android:layout_width="fill_parent"
  20. Android:layout_height="wrap_content"/>
  21. </LinearLayout>
  22. <LinearLayout
  23. Android:layout_width="fill_parent"android:layout_height="wrap_content"
  24. Android:orientation="horizontal"android:padding="1dip"android:gravity="center_vertical">
  25. <TextView
  26. Android:layout_width="wrap_content"
  27. Android:layout_height="wrap_content"
  28. Android:text="姓名:"/>
  29. <EditText
  30. Android:id="@+id/name"
  31. Android:layout_width="fill_parent"
  32. Android:layout_height="wrap_content"/>
  33. </LinearLayout>
  34. <LinearLayout
  35. Android:layout_width="fill_parent"android:layout_height="wrap_content"
  36. Android:orientation="horizontal"android:padding="1dip"android:gravity="center_vertical">
  37. <TextView
  38. Android:layout_width="wrap_content"
  39. Android:layout_height="wrap_content"
  40. Android:text="年龄:"/>
  41. <EditText
  42. Android:id="@+id/age"
  43. Android:layout_width="fill_parent"
  44. Android:layout_height="wrap_content"/>
  45. </LinearLayout>
  46. <LinearLayout
  47. Android:layout_width="fill_parent"android:layout_height="wrap_content"
  48. Android:orientation="horizontal"android:padding="1dip"android:gravity="center_vertical">
  49. <TextView
  50. Android:layout_width="wrap_content"
  51. Android:layout_height="wrap_content"
  52. Android:text="性别:"/>
  53. <EditText
  54. Android:id="@+id/sex"
  55. Android:layout_width="fill_parent"
  56. Android:layout_height="wrap_content"/>
  57. </LinearLayout>
  58. <LinearLayout
  59. Android:layout_width="fill_parent"android:layout_height="wrap_content"
  60. Android:orientation="horizontal"android:padding="1dip"android:gravity="center_vertical">
  61. <TextView
  62. Android:layout_width="wrap_content"
  63. Android:layout_height="wrap_content"
  64. Android:text="分数:"/>
  65. <EditText
  66. Android:id="@+id/score"
  67. Android:layout_width="fill_parent"
  68. Android:layout_height="wrap_content"/>
  69. </LinearLayout>
  70. <LinearLayout
  71. Android:layout_width="fill_parent"android:layout_height="wrap_content"
  72. Android:orientation="horizontal"android:padding="1dip"android:gravity="center_vertical">
  73. <TextView
  74. Android:layout_width="wrap_content"
  75. Android:layout_height="wrap_content"
  76. Android:text="地址:"/>
  77. <EditText
  78. Android:id="@+id/address"
  79. Android:layout_width="fill_parent"
  80. Android:layout_height="wrap_content"/>
  81. </LinearLayout>
  82. </LinearLayout>
students.xml源码:

[html]
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayout
  3. xmlns:Android="http://schemas.android.com/apk/res/android"
  4. Android:orientation="vertical"
  5. Android:layout_width="fill_parent"
  6. Android:layout_height="fill_parent">
  7. <TextView
  8. Android:layout_width="fill_parent"
  9. Android:layout_height="wrap_content"
  10. Android:gravity="center"
  11. Android:text="ORMLite-Students"/>
  12. <ListView
  13. Android:id="@+id/stulist"
  14. Android:layout_width="fill_parent"
  15. Android:layout_height="fill_parent"/>
  16. </LinearLayout>
studentitem.xml源码:

[html]
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayout
  3. xmlns:Android="http://schemas.android.com/apk/res/android"
  4. Android:orientation="horizontal"
  5. Android:layout_width="fill_parent"
  6. Android:layout_height="fill_parent">
  7. <TextView
  8. Android:id="@+id/itemno"
  9. Android:layout_width="fill_parent"
  10. Android:layout_height="wrap_content"
  11. Android:layout_weight="1"
  12. Android:text="学号"
  13. Android:gravity="center"/>
  14. <TextView
  15. Android:id="@+id/itemname"
  16. Android:layout_width="fill_parent"
  17. Android:layout_height="wrap_content"
  18. Android:layout_weight="1"
  19. Android:text="姓名"
  20. Android:gravity="center"/>
  21. <TextView
  22. Android:id="@+id/itemscore"
  23. Android:layout_width="fill_parent"
  24. Android:layout_height="wrap_content"
  25. Android:layout_weight="1"
  26. Android:text="分数"
  27. Android:gravity="center"/>
  28. </LinearLayout>
【3】包com.andyidea.bean下Student.java源码:

[html]
  1. packagecom.andyidea.bean;
  2. importjava.io.Serializable;
  3. importcom.j256.ormlite.field.DatabaseField;
  4. publicclassStudentimplementsSerializable{
  5. privatestaticfinallongserialVersionUID=-5683263669918171030L;
  6. @DatabaseField(id=true)
  7. privateStringstuNO;
  8. @DatabaseField
  9. privateStringname;
  10. @DatabaseField
  11. privateintage;
  12. @DatabaseField
  13. privateStringsex;
  14. @DatabaseField
  15. privatedoublescore;
  16. @DatabaseField
  17. privateStringaddress;
  18. publicStringgetStuNO(){
  19. returnstuNO;
  20. }
  21. publicvoidsetStuNO(StringstuNO){
  22. this.stuNO=stuNO;
  23. }
  24. publicStringgetName(){
  25. returnname;
  26. }
  27. publicvoidsetName(Stringname){
  28. this.name=name;
  29. }
  30. publicintgetAge(){
  31. returnage;
  32. }
  33. publicvoidsetAge(intage){
  34. this.age=age;
  35. }
  36. publicStringgetSex(){
  37. returnsex;
  38. }
  39. publicvoidsetSex(Stringsex){
  40. this.sex=sex;
  41. }
  42. publicdoublegetScore(){
  43. returnscore;
  44. }
  45. publicvoidsetScore(doublescore){
  46. this.score=score;
  47. }
  48. publicStringgetAddress(){
  49. returnaddress;
  50. }
  51. publicvoidsetAddress(Stringaddress){
  52. this.address=address;
  53. }
  54. }

更多相关文章

  1. Android屏幕锁定实例源码详解教程一
  2. Android官方架构组件Paging:分页库的设计美学
  3. Android周学习Step By Step(5)--常用widget组件
  4. 如何编译Android内核源码
  5. 详解 Android 的 Activity 组件 -
  6. Android之Activity组件
  7. Android AsyncTask 源码分析详解
  8. Android架构组件-Navigation的使用(一)

随机推荐

  1. Android自动化测试之MonkeyRunner录制和
  2. Android(安卓)studio开发找不到HttpClien
  3. android google map key申请
  4. Android视音频录制实现步骤(Android学习随
  5. [Android]Kernel的下载和编译
  6. AndroidMenifest.xml中android:sharedUse
  7. 与屏幕有关的设置:禁止横竖屏切换;横竖屏切
  8. android获取应用内自定义权限与权限使用
  9. 一个Demo让你掌握所有的android控件
  10. Android(安卓)单独抽取 WebRtc-NS/NSX(音