android----Room数据库的简单 *** 作(1)

android----Room数据库的简单 *** 作(1),第1张

概述android数据库 *** 作和WEB类是,都是增删改查,但是android数据库 *** 作的代码远比WEB的代码要少,而且简单不用写。如果有不懂请看代码注释1、用entity、dao、database创建数据库entity:是一个实体类dao:是一个接口(interface),用来对数据库经常 *** 作  database:继承Room

androID数据库的 *** 作和WEB类是,都是增删改查,但是androID数据库 *** 作的代码远比WEB的代码要少,而且简单不用写。如果有不懂请看代码注释

  1、用entity、dao、database创建数据库

  entity:是一个实体类

  dao:是一个接口(interface),用来对数据库经常 *** 作

    database:继承RoomDatabase,数据库。

  代码:看代码注释

  entity:

package com.example.roomtest;import androIDx.room.ColumnInfo;import androIDx.room.Entity;import androIDx.room.PrimaryKey;@Entity // 实体类public class Word {    @PrimaryKey(autoGenerate = true) // 将ID设置为主键,并且自增    private int ID;    @ColumnInfo(name = "English")   // 设置每列的名称    private String English_word;    @ColumnInfo(name = "Chinese")    private String Chinese_meaning;    // 主键不用构造函数    public  Word(){}    public Word(String english_word, String chinese_meaning) {        English_word = english_word;        Chinese_meaning = chinese_meaning;    }    public voID setID(int ID){        this.ID = ID;    }    public int getID() {        return ID;    }    public String getEnglish_word() {        return English_word;    }    public voID setEnglish_word(String english_word) {        English_word = english_word;    }    public String getChinese_meaning() {        return Chinese_meaning;    }    public voID setChinese_meaning(String chinese_meaning) {        Chinese_meaning = chinese_meaning;    }}

 

 

 

  Dao:

package com.example.roomtest;import androIDx.room.Dao;import androIDx.room.Delete;import androIDx.room.Insert;import androIDx.room.query;import androIDx.room.Update;import java.util.List;@Dao    // 访问数据库 *** 作的接口 Database access objectpublic interface WordDao {    //我们所有对数据库的 *** 作都在Dao里声明    @Insert   // 这些修饰词会在编译时候生成代码    voID insertWords(Word... words);   // 如果是一个参数就写 Word word,多个参数就这样写    @Update    voID updataWords(Word... words);    @Delete    voID deleteWords(Word... words);    @query("DELETE  FROM WORD")    voID deleteallWords();    @query("SELECT * FROM WORD ORDER BY ID DESC")  // 获取所有的WORD,并且按照ID降序排序    List<Word> getAllWords();}

 

  

    Database:

package com.example.roomtest;import androIDx.room.Database;import androIDx.room.RoomDatabase;/*    这里有个参数,第一个参数entitIEs是一个集合,因为只有一个实体类,如果有多个可以逗号隔开    第二个参数是version(版本):每一次数据库的结构发生改变,版本都得改变    第三个参数是生成数据库表:这里先选择false */@Database(entitIEs = {Word.class},version = 1,exportSchema = false)public abstract class WordDatabase extends RoomDatabase {    public abstract  WordDao  getWordDao();}

    Activity:

    

package com.example.roomtest;import androIDx.appcompat.app.AppCompatActivity;import androIDx.room.Room;import androIDx.room.RoomDatabase;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.TextVIEw;import org.w3c.dom.Text;import java.util.List;public class MainActivity extends AppCompatActivity {    WordDatabase wordDatabase;    WordDao wordDao;    TextVIEw textVIEw;    button buttonInsert,buttonDelete,buttonUpdata,buttonwClear;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        wordDatabase = Room.databaseBuilder(this, WordDatabase.class,"word_database")                .allowMainThreadQuerIEs().build(); // 强制让它在主线程运行        wordDao = wordDatabase.getWordDao();        textVIEw = findVIEwByID(R.ID.textVIEw);        buttonInsert = findVIEwByID(R.ID.button_insert);        buttonDelete= findVIEwByID(R.ID.button_delete);        buttonUpdata = findVIEwByID(R.ID.button_updata);        buttonwClear = findVIEwByID(R.ID.button_clear);        // 插入        buttonInsert.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw v) {                Word word1 = new Word("Hello", "你好");                Word word2 = new Word("World", "世界");                wordDao.insertWords(word1,word2);                updataVIEw();            }        });        // 清空        buttonwClear.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw v) {                wordDao.deleteallWords();                updataVIEw();            }        });        // 修改        buttonUpdata.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw v) {                Word word = new Word("Thanks","谢谢");                word.setID(29);                wordDao.updataWords(word);                updataVIEw();            }        });        // 删除        buttonDelete.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw v) {                Word word = new Word("aa", "bb");                word.setID(30);                wordDao.deleteWords(word);                updataVIEw();            }        });    }    // 更新界面    voID updataVIEw(){        List<Word> List = wordDao.getAllWords();        StringBuilder text = new StringBuilder();        for(int i = 0;i<List.size();i++){            Word word = List.get(i);            text.append(word.getID()).append("、").append(word.getEnglish_word()).append(":").append(word.getChinese_meaning()).append('\n');        }        textVIEw.setText(text);    }}

  

    运行结果:点击可以执行相应功能。这是最基础的功能。

  

总结

以上是内存溢出为你收集整理的android----Room数据库的简单 *** 作(1)全部内容,希望文章能够帮你解决android----Room数据库的简单 *** 作(1)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/999715.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存