-->
当前位置:首页 > 题库 > 正文内容

移动应用开发 实验报告10 Android数据存储技术-SQLite

Luz4年前 (2021-08-08)题库1919

一、实验目的

熟悉SQLite数据库存储;

掌握SQLiteDatabaseSQLiteOpenHelper类的使用方法。

熟悉adb shell

二、实验内容

     SQLite数据库中使用SQL语句实现数据的增加、修改、删除、查询、事务控制等操作。

三、实验原理

通过SQLiteDatabase类可以执行SQL语句,完成对数据表的SQL语句的操作方法以及一些操作模式常数。SQLiteDataHelper是一个抽象类、所以使用时需要定义其子类,并且在子类腹泻相应的抽象方法。

四、实验代码及结果

package com.example.sql;

 

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

 

public class MyDatabaseHelper extends SQLiteOpenHelper {

   

    private static final String DATABASENAME = "MMMM.db";

    private static final int DATABASERVERSION = 1;

    private static final String TABLENAME = "mmm_tab";

   

    public MyDatabaseHelper(Context   context) {

        super(context,DATABASENAME,null,DATABASERVERSION);

    }

    @Override

    public void onCreate(SQLiteDatabase db)   {

        String sql = "CREATE TABLE " + TABLENAME + "("

            +   "id      INTEGER         PRIMARY KEY ,"

            +   "name     VARCHAR(50)     NOT NULL ,"

            +   "birthday DATE NOT        NULL" + ")";

        db.execSQL(sql);

        System.out.println("**** 创建:onCreate()");

    }

   

    @Override

    public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){

     String   sql = "DROP TABLE IF EXISTS"+TABLENAME;

     db.execSQL(sql);

     System.out.println("**** 更新:onUpgrade()");

     this.onCreate(db);

    }

   

}

package com.example.sql;

 

import android.os.Bundle;

import android.app.Activity;

import android.database.sqlite.SQLiteOpenHelper;

import android.view.Menu;

 

public class MainActivity extends Activity {

 

    @Override

    protected void onCreate(Bundle   savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

        SQLiteOpenHelper helper = new MyDatabaseHelper(this);

        helper.getWritableDatabase();

    }

 

 

    @Override

    public boolean onCreateOptionsMenu(Menu menu)   {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }

   

}

 

image.png

 

五、试验分析(思考)

    在编写sql语句的时候要注意是否留出空格。MyDatabaseHelper类中的回调方法onCreate()只有在使用了SQLiteOpenHelper类中的geyReadableDatabase()方法之后才会自动执行。


发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。