我应该把保存在手机sd卡上的txt文件放在Android的数据库SQLite中,但我不知道该怎么做,帮帮我,我慷慨地写了几行代码来做到这一点?在数据库SQLite(for Android)中添加一个txt文件,怎么样?
回答
将File
转换为byte[]
,然后将其作为BLOB
数据添加到sqlite中。也许你应该将它们转换为Base64
格式来优化空间,你应该没问题。
正如你所看到的,实现类似这样的事情有多个步骤,所以我只是添加了总体概述。如果您遇到困难,请询问更多细节。编号: 我将提供关键点的代码。
用于转换文件为byte []使用这个片段:
InputStream is = new FileInputStream(file); // where file is the .txt you want to convert
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024];
while ((int bytesRead = is.read(b)) != -1) {
bos.write(b, 0, bytesRead);
}
byte[] bytes = bos.toByteArray();
转换字节[]为Base64字符串:
String dataToSave = Base64.encodeToString(bytes, Base64.DEFAULT);
OR
byte[] dataToSave = Base64.encode(bytes, Base64.DEFAULT);
虽然你必须有最低版本2.2支持base 64编码。
如果您选择了第一个实现,那么sqlite表中的任何TEXT字段就足够了,否则在您的表中创建一个与BLOB类似的列。在创建要插入的ContentValues
时,请添加values.put(KEY, dataToSave);
。
获取数据:
做反向操作:1)得到sqlite的数据,2)转换为byte [],3)转换为文件。
转换byte[]
到File
:
FileOutputStream out = new FileOutputStream(path); //file path as string
out.write(data); //data is the byte[]
out.flush();
out.close();
在我看来,你的方法很有意思,你可以写几行代码来说明怎么做?谢谢! – user1547027 2012-07-24 04:45:28
我编辑了我的答案 – 10s 2012-07-24 09:59:08
非常好,你会如此友善地插入代码将文件字节转换为txt文件,反向操作?再次感谢! – user1547027 2012-07-24 10:50:04
如果文本文件包含数据行。例如,
<ISBN>, <Title>, <Author>, <Price>
然后,您应该将此存储为sqLite中的表。为什么?因为无论如何SQLIte实际上是一个文件数据库,并且一旦您在SQLite中存储为表格,您就可以使用SQLite的强大功能以各种方式查询数据。添加删除行等。
按照这里的步骤,并告诉我们你卡在哪里。 http://www.vogella.com/articles/AndroidSQLite/article.html
如果您只是想简单地保存文本的值,您应该将其读入String并使用SharePreferences保存String。
无论如何,第1步是从SD卡读取文件。
- 1. 如何在android mobile中添加.apk和sqlite数据库文件?
- 2. 怎么样在Android SQLite中多线程?
- 3. 在Android中使用Fragment在SQLite数据库中添加数据
- 4. Android-我怎样才能在SQL应用程序中附加SQLite数据库
- 5. EF数据库第一&WCF:DataContracts怎么样?
- 6. 如何添加一个新的列到Android SQLite数据库
- 7. 在sqlite数据库中添加图像
- 8. Java的TXT到SQLite数据库的数据传输怎么可以更快
- 9. 在android中多次访问数据库。表演怎么样?
- 10. 我怎样才能在android中添加填充矢量文件
- 11. 加速SQLite数据库android
- 12. iOS中的多语言文档(RTF):文件,SQLite,核心数据?怎么样?
- 13. 将HTML文件添加到SQLite数据库中
- 14. 将数据添加到SQLite数据库
- 15. 如何将一个数据库表中的数据添加到SQLite中另一个数据库的表中
- 16. Sqlite文件已加密或不在Android上的数据库
- 17. 在Android中加密数据库文件
- 18. 我怎样才能加快在SQL数据库表中插入文本文件?
- 19. sqlite多表加入...怎么样?
- 20. Android SQLite数据库包含一个数据库的单个表
- 21. 怎样从一个表中的SQLite
- 22. 如何在sqlite中添加数据库中的第二个表?
- 23. SQLite的PCL - SQLite.SQLiteException:文件加密或不是一个数据库
- 24. 在Python中加载一个txt文件
- 25. 在.Net中附加一个txt文件
- 26. 在列表视图中添加和从SQLite数据库中检索数据Android
- 27. 通过使用SQLite数据库我怎么能检索的Android
- 28. 黑鱼数据库怎么样
- 29. BlackBerry SQLite:将一个SQLite数据库附加到另一个
- 30. 我怎样才能在SQLite数据库列将与由用户
什么目的做u需要它?数据是表格格式吗? – chaitanya 2012-07-23 21:57:16
txt是一个包含无序(不能用逗号分隔)的表格数据的文件。我会理解是否有一种简单的方法可以从txt SD卡中删除此文件并将其插入到表格的一行中!没有太多复杂的东西,比如JPG图片! – user1547027 2012-07-23 22:03:11
按照这个确切的教程,并告诉我们,如果/当你卡住http://www.vogella.com/articles/AndroidSQLite/article。html – 2012-07-23 22:44:27