android - 如何“导出保存的数据并将该数据传输到 Android 中的新活动”
问题描述
我将 SQLite 数据保存在 android 中;但是当我调用数据将其传输到另一个活动时,它只会通过另一个活动传输数据库中的最后一个数据。我需要在哪里设置编码?谢谢。
这是一个 Android Studio 3.0 和 SQLite。过去,我尝试过在 SQLite 数据库中导出保存的数据并将该数据传输到新活动。我的数据库中总是只有最后一个数据。
我在主要活动中的代码
private void xuLyXemLuotLike(View view) {
database = openOrCreateDatabase(DATABASE_NAME, MODE_PRIVATE, null);
Cursor cursor = database.query("ArirangSongList", null, null, null, null, null, null);
//dsBaiHatGoc.clear();
int soLike = 0;
int soDislike = 0;
String mabh ="";
String tenbh = "";
String casi = "";
Music music = new Music();
while (cursor.moveToNext()) {
mabh = cursor.getString(0);
tenbh = cursor.getString(1);
casi = cursor.getString(3);
soLike = cursor.getInt(6);
soDislike = cursor.getInt(7);
music.setMa(mabh);
music.setTen(tenbh);
music.setCaSi(casi);
music.setSoLike(soLike);
music.setSoDislike(soDislike);
// dsBaiHatGoc.add(music);
}
cursor.close();
Intent intent = new Intent(MainActivity.this, XemLuotLikeActivity.class);
intent.putExtra("mabh",mabh);
intent.putExtra("tenbh", tenbh);
intent.putExtra("casi", casi);
intent.putExtra("soLike", soLike);
intent.putExtra("soDislike", soDislike);
startActivity(intent);
}
我在另一个活动中的代码:
txtKetQua= (TextView) this.<View>findViewById(R.id.txtKetQua);
Intent intent =getIntent();
String mabh =intent.getStringExtra("mabh");
String tenbh =intent.getStringExtra("tenbh");
String casi =intent.getStringExtra("casi");
int soLike =intent.getIntExtra("soLike", 0);
int soDislike =intent.getIntExtra("soDislike",0);
txtKetQua.setText(mabh + " " + tenbh + " " + casi + " " + soLike+ " " + soDislike);
解决方案
尝试这个
ArrayList<Music> musicList = new ArrayList<Music>();
while (cursor.moveToNext()) {
// first add implements Serializable to Music class
// make constructor with respective parameters
Music music = new Music(cursor.getString(0), cursor.getString(1), cursor.getString(3), cursor.getString(6), cursor.getString(7));
musicList.add(music);
}
cursor.close();
Intent intent = new Intent(MainActivity.this, XemLuotLikeActivity.class);
intent.putExtra("musicList",musicList);
startActivity(intent);
然后在 XemLuotLikeActivity Activity oncreate()
ArrayList<Music> musiclist = (ArrayList<Music>) intent.getSerializable("musicList");
or
musiclist = (ArrayList<Music>) getIntent().getSerializableExtra("musicList");
推荐阅读
- php - MySQL使用来自另一个表的布尔值控制从表中过滤数据
- javascript - 如何更改制表符加载消息?
- javascript - Apache POI - 如何使用日期单元格对 Excel 进行密码保护?
- reactjs - 在图像 uri 中反应原生参数
- html - 移动响应中的 Boostrap 问题
- php - Laravel ErrorException:未定义的变量
- sql - moodle 3.8中角色老师的id号是多少
- react-native - 无法在博览会中解决 ./SafeAreaContext
- react-native - React Native clearInterval 在 componentWillUnmount() 中不起作用
- java - 将 Java 与 PostgreSQL 连接:ClassNotFoundException: org.postgresql.Driver:Slankbank