Android中结合OrmLite for android组件对SQLite的CRUD(增删改查)

本文中曾经提到过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(增删改查)

其中包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.       
  83. </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.   
  3. import java.io.Serializable;  
  4. import com.j256.ormlite.field.DatabaseField;  
  5.   
  6. public class Student implements Serializable {  
  7.   
  8.     private static final long serialVersionUID = -5683263669918171030L;  
  9.       
  10.     @DatabaseField(id=true)  
  11.     private String stuNO;  
  12.     @DatabaseField  
  13.     private String name;  
  14.     @DatabaseField  
  15.     private int age;  
  16.     @DatabaseField  
  17.     private String sex;  
  18.     @DatabaseField  
  19.     private double score;  
  20.     @DatabaseField  
  21.     private String address;  
  22.       
  23.     public String getStuNO() {  
  24.         return stuNO;  
  25.     }  
  26.     public void setStuNO(String stuNO) {  
  27.         this.stuNO = stuNO;  
  28.     }  
  29.       
  30.     public String getName() {  
  31.         return name;  
  32.     }  
  33.     public void setName(String name) {  
  34.         this.name = name;  
  35.     }  
  36.       
  37.     public int getAge() {  
  38.         return age;  
  39.     }  
  40.     public void setAge(int age) {  
  41.         this.age = age;  
  42.     }  
  43.       
  44.     public String getSex() {  
  45.         return sex;  
  46.     }  
  47.     public void setSex(String sex) {  
  48.         this.sex = sex;  
  49.     }  
  50.       
  51.     public double getScore() {  
  52.         return score;  
  53.     }  
  54.     public void setScore(double score) {  
  55.         this.score = score;  
  56.     }  
  57.       
  58.     public String getAddress() {  
  59.         return address;  
  60.     }  
  61.     public void setAddress(String address) {  
  62.         this.address = address;  
  63.     }  
  64.       
  65. }  

相关推荐