在Android中将图像添加到数据库

时间:2016-12-09 14:06:32

标签: java android sqlite

我正在android studio中进行测验项目,我希望每个问题都带有特定的图像。测验是帮助孩子们学习西班牙语,所以如果他们质疑如何用西班牙语说猫,就会有猫的形象。

目前,它创建了一个包含选项,问题和答案的SQL表。

String sql = "CREATE TABLE IF NOT EXISTS " + TABLE_QUEST + " ( "
                + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_QUES
                + " TEXT, " + KEY_ANSWER + " TEXT, " + KEY_OPTA + " TEXT, "
                + KEY_OPTB + " TEXT, " + KEY_OPTC + " TEXT, " + KEY_OPTD + " TEXT)";

例如设置问题1就像这样(使用加法q作为示例):

   private void addQuestion() {
       Question q1 = new Question("5+2 = ?", "7", "8", "6", "5", "7");
       this.addQuestion(q1); 
   }

我如何为此添加特定图像,即在这种情况下我可能想要将图像选为猫,在下一个问题中我可能希望图像是狗

private static final String KEY_OPTD = "optd"; //option d

我尝试使用这种格式(与问题相同),除了使用Image而不是String,但这会导致问题。

关于我如何开始这一点的任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用Andrid Assets Studio为不同的屏幕分辨率制作图像。 在res / drawable文件夹中添加thouse映像。然后在Question类和SQL Table中创建一个名为mImageId的int属性。构造函数可能如下所示:

Question q1 = new Question("5+2 = ?", "7", "8", "6", "5", "7", R.drawable.cat);

我希望你能做得更好,但无论如何......

您应该在xml UI组件中创建一个ImageView,以便将图像放入其中。

在加载测验问题的java类中,您可以使用:

ImageView image = (ImageView) findViewById(R.id.<your ImageView id>)
image.setImageResource(q1.getImageId());