歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android中結合OrmLite for android組件對SQLite的CRUD(增刪改查)操作實例

Android中結合OrmLite for android組件對SQLite的CRUD(增刪改查)操作實例

日期:2017/3/1 10:30:05   编辑:Linux編程
本文中曾經提到過Ormlite的第三方組件包,Ormlite 是一種ORM工具,並且是一種輕量級別的工具。我們可以使用它來對Android中內嵌的sqlite數據庫進行相關的操作。Android 的應用程序應使用 Ormlite for android 版本來進行相關的開發。Ormlite是對android提供的sqlite部分的API進行了封裝。提供了更加方便的接口來供使用。

本文以一個學生的信息實例程序來展示如何使用ormlite for android的第三方組件來開發Sqlite的C[增加],R[查詢],U[更新],D[查詢]應用程序,以便更方便的對sqlite數據庫的操作。我們先看下程序的結構圖:

【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. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns: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. <?xml version="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. <?xml version="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. package com.andyidea.bean;
  2. import java.io.Serializable;
  3. import com.j256.ormlite.field.DatabaseField;
  4. public class Student implements Serializable {
  5. private static final long serialVersionUID = -5683263669918171030L;
  6. @DatabaseField(id=true)
  7. private String stuNO;
  8. @DatabaseField
  9. private String name;
  10. @DatabaseField
  11. private int age;
  12. @DatabaseField
  13. private String sex;
  14. @DatabaseField
  15. private double score;
  16. @DatabaseField
  17. private String address;
  18. public String getStuNO() {
  19. return stuNO;
  20. }
  21. public void setStuNO(String stuNO) {
  22. this.stuNO = stuNO;
  23. }
  24. public String getName() {
  25. return name;
  26. }
  27. public void setName(String name) {
  28. this.name = name;
  29. }
  30. public int getAge() {
  31. return age;
  32. }
  33. public void setAge(int age) {
  34. this.age = age;
  35. }
  36. public String getSex() {
  37. return sex;
  38. }
  39. public void setSex(String sex) {
  40. this.sex = sex;
  41. }
  42. public double getScore() {
  43. return score;
  44. }
  45. public void setScore(double score) {
  46. this.score = score;
  47. }
  48. public String getAddress() {
  49. return address;
  50. }
  51. public void setAddress(String address) {
  52. this.address = address;
  53. }
  54. }
Copyright © Linux教程網 All Rights Reserved