Android中结合OrmLite for android组件对SQLite的CRUD(增删改查)操作实例(一)
16lz
2022-01-17
本文中曾经提到过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]
- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:Android="http://schemas.android.com/apk/res/android"
- Android:orientation="vertical"
- Android:layout_width="fill_parent"
- Android:layout_height="fill_parent"
- Android:padding="5dip">
- <TextView
- Android:layout_width="fill_parent"android:layout_height="wrap_content"
- Android:gravity="center"android:text="ORMLite-AddPage"/>
- <LinearLayout
- Android:layout_width="fill_parent"android:layout_height="wrap_content"
- Android:orientation="horizontal"android:padding="1dip"android:gravity="center_vertical">
- <TextView
- Android:layout_width="wrap_content"
- Android:layout_height="wrap_content"
- Android:text="学号:"/>
- <EditText
- Android:id="@+id/stuno"
- Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"/>
- </LinearLayout>
- <LinearLayout
- Android:layout_width="fill_parent"android:layout_height="wrap_content"
- Android:orientation="horizontal"android:padding="1dip"android:gravity="center_vertical">
- <TextView
- Android:layout_width="wrap_content"
- Android:layout_height="wrap_content"
- Android:text="姓名:"/>
- <EditText
- Android:id="@+id/name"
- Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"/>
- </LinearLayout>
- <LinearLayout
- Android:layout_width="fill_parent"android:layout_height="wrap_content"
- Android:orientation="horizontal"android:padding="1dip"android:gravity="center_vertical">
- <TextView
- Android:layout_width="wrap_content"
- Android:layout_height="wrap_content"
- Android:text="年龄:"/>
- <EditText
- Android:id="@+id/age"
- Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"/>
- </LinearLayout>
- <LinearLayout
- Android:layout_width="fill_parent"android:layout_height="wrap_content"
- Android:orientation="horizontal"android:padding="1dip"android:gravity="center_vertical">
- <TextView
- Android:layout_width="wrap_content"
- Android:layout_height="wrap_content"
- Android:text="性别:"/>
- <EditText
- Android:id="@+id/sex"
- Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"/>
- </LinearLayout>
- <LinearLayout
- Android:layout_width="fill_parent"android:layout_height="wrap_content"
- Android:orientation="horizontal"android:padding="1dip"android:gravity="center_vertical">
- <TextView
- Android:layout_width="wrap_content"
- Android:layout_height="wrap_content"
- Android:text="分数:"/>
- <EditText
- Android:id="@+id/score"
- Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"/>
- </LinearLayout>
- <LinearLayout
- Android:layout_width="fill_parent"android:layout_height="wrap_content"
- Android:orientation="horizontal"android:padding="1dip"android:gravity="center_vertical">
- <TextView
- Android:layout_width="wrap_content"
- Android:layout_height="wrap_content"
- Android:text="地址:"/>
- <EditText
- Android:id="@+id/address"
- Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"/>
- </LinearLayout>
- </LinearLayout>
[html]
- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayout
- xmlns:Android="http://schemas.android.com/apk/res/android"
- Android:orientation="vertical"
- Android:layout_width="fill_parent"
- Android:layout_height="fill_parent">
- <TextView
- Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"
- Android:gravity="center"
- Android:text="ORMLite-Students"/>
- <ListView
- Android:id="@+id/stulist"
- Android:layout_width="fill_parent"
- Android:layout_height="fill_parent"/>
- </LinearLayout>
[html]
- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayout
- xmlns:Android="http://schemas.android.com/apk/res/android"
- Android:orientation="horizontal"
- Android:layout_width="fill_parent"
- Android:layout_height="fill_parent">
- <TextView
- Android:id="@+id/itemno"
- Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"
- Android:layout_weight="1"
- Android:text="学号"
- Android:gravity="center"/>
- <TextView
- Android:id="@+id/itemname"
- Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"
- Android:layout_weight="1"
- Android:text="姓名"
- Android:gravity="center"/>
- <TextView
- Android:id="@+id/itemscore"
- Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"
- Android:layout_weight="1"
- Android:text="分数"
- Android:gravity="center"/>
- </LinearLayout>
[html]
- packagecom.andyidea.bean;
- importjava.io.Serializable;
- importcom.j256.ormlite.field.DatabaseField;
- publicclassStudentimplementsSerializable{
- privatestaticfinallongserialVersionUID=-5683263669918171030L;
- @DatabaseField(id=true)
- privateStringstuNO;
- @DatabaseField
- privateStringname;
- @DatabaseField
- privateintage;
- @DatabaseField
- privateStringsex;
- @DatabaseField
- privatedoublescore;
- @DatabaseField
- privateStringaddress;
- publicStringgetStuNO(){
- returnstuNO;
- }
- publicvoidsetStuNO(StringstuNO){
- this.stuNO=stuNO;
- }
- publicStringgetName(){
- returnname;
- }
- publicvoidsetName(Stringname){
- this.name=name;
- }
- publicintgetAge(){
- returnage;
- }
- publicvoidsetAge(intage){
- this.age=age;
- }
- publicStringgetSex(){
- returnsex;
- }
- publicvoidsetSex(Stringsex){
- this.sex=sex;
- }
- publicdoublegetScore(){
- returnscore;
- }
- publicvoidsetScore(doublescore){
- this.score=score;
- }
- publicStringgetAddress(){
- returnaddress;
- }
- publicvoidsetAddress(Stringaddress){
- this.address=address;
- }
- }
更多相关文章
- Android源码分析之WindowManager.LayoutParams属性更新过程
- Android周学习Step By Step(5)--常用widget组件
- Android官方架构组件Paging:分页库的设计美学
- [Android官方API阅读]___
- Android屏幕锁定实例源码详解教程一
- Android之Activity组件
- 如何编译Android内核源码
- 详解 Android(安卓)的 Activity 组件 -
- Android(安卓)为【apk】文件签名,增加修改系统时间等权限