歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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】.程序結構圖如下:

其中包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. }  
Copyright © Linux教程網 All Rights Reserved