作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Android 开发新手。
我正在尝试将数据从json字符串
保存到数据库
[{
"question": "Who is the 'Modern Love' rock star singer?",
"imageUrl": "https://postimg.cc/2VL1Y1jd",
"answerOptions": [
"Jimi Hendrix",
"David Bowie",
"Jim Morrison",
"Elvis Presley"
],
"correctAnswer": "David Bowie"
}]
在 mainActivity onCreate
中我有:
for (int i = 0; i < list.size(); i++) {
Quiz quiz = list.get(i);
quiz.save();
}
它工作得很好,因此当我调试时我有:
但是当我查看数据库文件时,answerOptions
的子列表丢失了:
因此,当我尝试 runOnUiThread
时,litePal.findall
中的列表与 Quiz.class
不对应
runOnUiThread(new Runnable() {
@Override
public void run() {
List<Quiz> list = LitePal.findAll(Quiz.class);
QuizAdapter quizAdapter = new QuizAdapter(list, MainActivity.this);
RecyclerView recyclerView = findViewById(R.id.recyclerView);
recyclerView.setAdapter(quizAdapter);
}
});
class Quiz extends LitePalSupport {
String question;
String imageUrl;
String [] answerOptions;
String correctAnswer;
}
这种方法有任何可能的解决方案/替代方案吗?
最佳答案
我通过更改数据结构解决了这个问题:
[{
"question": "Who is the 'Modern Love' rock star singer?",
"imageUrl": "https://postimg.cc/2VL1Y1jd",
"one": "Jimi Hendrix",
"two": "David Bowie",
"three": "Jim Morrison",
"four": "Elvis Presley",
"correctAnswer": "David Bowie"
}]
然后相应地调整我的类(class):
public class Quiz extends LitePalSupport {
String question;
String imageUrl;
String one;
String two;
String three;
String four;
String correctAnswer;
}
然后在我的适配器中,我将各个字符串添加到数组中
List<String> answerOptions = new ArrayList<>();
answerOptions.add(quiz.one);
answerOptions.add(quiz.two);
answerOptions.add(quiz.three);
answerOptions.add(quiz.four);
...
quizHolder.createRadioButtons(answerOptions.toArray(new String[0]));
...
关于java - 保存的数据与数据库内容不对应SQLite litepal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61061928/
我是 Android 开发新手。 我正在尝试将数据从json字符串保存到数据库 [{ "question": "Who is the 'Modern Love' rock star singe
我是一名优秀的程序员,十分优秀!