将图像和文本一起保存在android上的数据库中

时间:2016-10-20 14:59:37

标签: android sqlite

我正在使用记事本等Android应用。

有两个部分。

  1. 纯文字
  2. 带图片的文字
  3. 一个记事本,它只能从用户那里获取文本并将其保存在db中然后检索完成。

    另一节,基本上就像MS Word一样。

    用户可以从图库中选择图像并将其保存在记事本中 但是我怎样才能实现呢?因为我想将整个数据(图像和文本)存储到数据库中。意味着用户在2行文本后添加了图像。然后应用程序应该只以该格式从db中检索它。

    有什么建议吗?请帮我。提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可以将byteArray或uri图像保存在数据库中。

位图bmp = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher); ByteArrayOutputStream stream = new ByteArrayOutputStream(); bmp.compress(Bitmap.CompressFormat.PNG,100,stream); byte [] byteArray = stream.toByteArray();

String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(),inImage,“Title”,null); Uri uri = Uri.parse(路径);

希望这会有所帮助......

答案 1 :(得分:0)

最简单的解决方案是定义标签或其他形式的标记语言,将该图像存储在文本中作为磁盘上文件的路径,例如,这比将其存储在SQLite中更好,但如果你坚持数据库,你可以存储像imageId这样的东西并保持在那里......但是,你手动做的事情,在尝试处理字节数组而不是内存中的文件时已经为你优化了。 / p>

以这种自定义标记语言存储图像后,您可以对其进行解析,并将动态填充的图像之间的文本分割为一些ViewGroup(即LinearLayout)作为单独的TextViews和ImageViews ...

最后,如果您想快速获得解决方案,可以使用一些已经开发的库,例如:https://android-arsenal.com/details/1/1696 ...但是,这种模式非常常见,您可以找到大量完全正确的库你正在寻找的东西......

如果没有必要,不要重新发明轮子。