Android Studio 之 ROM, Entity,DAO,DataBase

1.Entity 实体类

package com.example.roombasic;

import androidx.room.ColumnInfo;

import androidx.room.Entity;

import androidx.room.PrimaryKey;

@Entity

public class Word {

//实体类

//主键,自增长

@PrimaryKey(autoGenerate = true)

private int id;

@ColumnInfo(name="englist_word")

private String word;

@ColumnInfo(name="chinese_meaning")

private String chineseMeaning;

public Word(String word, String chineseMeaning) {

this.word = word;

this.chineseMeaning = chineseMeaning;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getWord() {

return word;

}

public void setWord(String word) {

this.word = word;

}

public String getChineseMeaning() {

return this.chineseMeaning;

}

public void setChineseMeaning(String chineseMeaning) {

this.chineseMeaning = chineseMeaning;

}

}

2.Dao  接口

package com.example.roombasic;

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 object

public interface WordDao {

@Insert

void insertWords(Word ... words); //如果只插入一条记录,用long返回值,返回id

@Update

void updateWords(Word...words);

@Delete

void deleteWords(Word...words);

@Query("Delete From WORD")

void deleteAllWords();

@Query("SELECT * FROM WORD ORDER BY ID DESC")

List getAllWords();

}

3.Database 抽象类

package com.example.roombasic;

import androidx.room.Database;

import androidx.room.RoomDatabase;

@Database(entities = {Word.class},version = 1,exportSchema = false) //如果有多个实体,再加上逗号后加实体.Class,这里版本比较重要,每次更新都要改变

public abstract class WordDatabase extends RoomDatabase {

//抽象类

public abstract WordDao getWrodDao();

}

4.MainActity 类

package com.example.roombasic;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import androidx.room.Room;

import java.util.List;

public class MainActivity extends AppCompatActivity {

WordDatabase wordDatabase;

WordDao wordDao;

Button buttonInsert,buttonUpdate,buttonClear,buttonDelete;

TextView textView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

wordDatabase = Room.databaseBuilder(this,WordDatabase.class,"word_database").allowMainThreadQueries().build(); //allowMainThreadQueries() 强制允许在主线程运行

wordDao = wordDatabase.getWrodDao();

textView = findViewById(R.id.textView);

buttonInsert = findViewById(R.id.buttonInsert);

buttonUpdate = findViewById(R.id.buttonUpdate);

buttonClear = findViewById(R.id.buttonClear);

buttonDelete = findViewById(R.id.buttonDelete);

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);

updateView();

}

});

buttonUpdate.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Word word = new Word("English","英语");

word.setId(23); //更新是用主键来更新的

wordDao.updateWords(word);

updateView();

}

});

//删除所有的记录

buttonClear.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

wordDao.deleteAllWords();

updateView();

}

});

buttonDelete.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Word word = new Word("English","英语");

word.setId(23); //删除也是用主键来更新的

wordDao.deleteWords(word);

updateView();

}

});

}

void updateView(){

List list = wordDao.getAllWords();

String text="";

textView.setText(text); //先将 textView 清空

for(int i=0;i

Word word = list.get(i);

text += word.getId() + ":" + word.getWord() + "=" + word.getChineseMeaning() + "

";

textView.setText(text);

}

}

}

android studio刷rom,Android Studio 之 ROM【1】, Entity,Dao,Database相关推荐

  1. m8 windows android,M8刷M9 Android ROM完全教程

    近期魅族M9的消息铺天盖地,让广大用户看得眼花缭乱.不过,前两天国外放出来魅族M8刷M9固件,让不少用户兴奋不已.日前有国内论坛放出来魅族M9的ROM和刷机教程,笔者用自己的M8进行了刷机,并根据实际 ...

  2. android 怎么刷机,android系统怎么刷机

    安卓系统手机如何刷机?大致可以说明如下:android手机的刷机,就相当于给它重装一下系统,这和我们常见的电脑重装系统类似.刷机前先对自己手机中的一些重要内容进行备份吧,像名片,短信,日历等重要信息, ...

  3. 编译android内核刷入,Android真机内核实验环境搭建的一种简便方法(俗称:单刷内核)...

    在前面的文章中提出了如何在真机中安装自己编译内核的方法:编译内核得到zImage,再用Bootimg打包得到新的Boot.img,再zip打包成ROM最后刷机的.该方法是我和徐凌云(maxwellxx ...

  4. android线刷软件,android线刷一般用什么软件?哪一个好用一些?

    1.ROOT后,理论上能做到这一点,前提是你要很懂固件,还要有修改工具.ROOT的方式有很多种,如果是刷第三方Recovery,那么刷经过优化的固件相对更安全一些. 2.优化不大,其实安卓优化大量之类 ...

  5. android卡刷包自制rom之添加删除,添加/删除ROM内置APP的教程

    ROM闪存软件包是Android闪存中必不可少的东西删除刷机包自带软件,但是大多数ROM闪存软件包都与许多应用程序集成在一起,其中许多不是您想要的,也没有您想要的应用程序. 使用Mushroom RO ...

  6. m8+android固件,给力!魅族M8刷M9 Android ROM双系统成功!附教程

    上午发现网上已经有适合M8使用的M9 android ROM下载,就赶紧down了下来.M8刷机很简单,简单几步就成功了,刷成了自带的M8系统+M9的android系统.开机进入android系统,第 ...

  7. MIUI官方论坛 - 发烧友必刷的Android ROM

    MIUI官方论坛 - 发烧友必刷的Android ROM MIUI官方论坛 - 发烧友必刷的Android ROM 推荐版最新版本:2.8.3 (相关说明) 更新日期:2012年08月03日 温馨提示 ...

  8. note4x rom android p,红米Note4x安卓8.0刷机包

    红米Note4x安卓8.0刷机包是第三方ROM团队Lineage OS推出的一款安卓8.0刷机包,红米Note4x的米粉们解锁Bootloader以后即可刷入新系统,想要快速拥有红米Note4x安卓8 ...

  9. i909 rom android build/target/,三星 I909 刷官方ROM救砖教程

    在我们日常使用三星 I909的过程中,难免会遇到各种问题,尤其是爱为三星 I909刷机.ROOT.精简的机友.这篇教程教大家如何使用三星 I909官方ROM进行刷机,解决三星 I909系统报错.无法启 ...

最新文章

  1. HTML5 手写板签名
  2. MTDDL——美团点评分布式数据访问层中间件
  3. 抢椅子游戏java_游戏教案小班抢椅子
  4. linux 静态编译 yara
  5. redis-server.exe redis.windows.conf 报错
  6. sdutoj 2624 Contest Print Server
  7. 绑定注意事项——数据源的属性
  8. 【LeetCode笔记】56. 合并区间(Java、排序)
  9. run as date怎么用_熟词僻义 | date是一种什么水果?
  10. 阿里云的这个智能编码插件真心好用!Java 开发神器!!!
  11. 841. 钥匙和房间
  12. 更改boot.ini自动进入DSRM模式
  13. leo-校园文化户口管理系统
  14. 《Clojure Web开发实战》——第2章,第2.3节应用架构
  15. linux rm rf 无法删除文件夹,linux下的文件用root用户rm -rf命令无法删除解决方案
  16. 学遍天下所有的技术,可能吗?
  17. [停更] 微信平台上的DRL [停更]
  18. c语言中的0、‘0’、‘\0’、“0”及NULL
  19. ORAN专题系列-0: O-RAN快速索引
  20. 【CEGUI】 Window环境编译

热门文章

  1. mysql dnslog_渗透技巧:使用dnslog加快盲注速度 · C1imber’s Blog
  2. Python中字符串的startswith()和endswith()方法
  3. Linux中的Docker容器的数据卷
  4. IDEA的Debug 控制台输出窗口没有显示
  5. java 读取栅格,提取两个重叠栅格的数据
  6. ssm上传文件获取路径_ssm框架实现图片上传显示并保存地址到数据库(示例代码)...
  7. android 调用 asp.net web api,从 .NET 客户端调用 Web API (C#)
  8. 我们在电脑房里上计算机课英语怎么说,2017年英语六级作文及翻译:计算机和人...
  9. 使用git将本地仓库上传到远程仓库
  10. 267. Palindrome Permutation II --back tracking 以及palindrome 的优化方法ing