java-如何优化将具有多个字符串和图像的条目插入到SQLite数据库中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-如何优化将具有多个字符串和图像的条目插入到SQLite数据库中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1873字,纯文字阅读大概需要3分钟。
内容图文
我定义了一种方法,可以在数据库帮助程序类中添加一个条目,并使用该条目将数据插入数据库中,但是这种方法不起作用.这是我在databasehelper类中定义的方法:
public void createchannelEntry(ChannelPoster channel) {
openDB();
ByteArrayOutputStream out = new ByteArrayOutputStream();
channel.getPoster().compress(Bitmap.CompressFormat.PNG, 100, out);
ContentValues cv = new ContentValues();
cv.put(KEY_POSTER, out.toByteArray());
cv.put(KEY_CHANNEL, channel.getChannel());
cv.put(KEY_PATH, channel.getPath());
cv.put(KEY_DBLINK, channel.getDBlink());
mDb.insert(channelS_TABLE, null, cv);
closeDB();
}
这就是我插入数据的方式
Bitmap sherlock = BitmapFactory.decodeResource(getResources(), R.drawable.sherlock);
mDB.createchannelEntry(new ChannelPoster(sherlock, "aa" ,"ll" ,"ha" ));
而且我有一个JavaBean用于保存条目
public class ChannelPoster {
private Bitmap poster;
private String channel;
private String path;
private String dblink;
public ChannelPoster(Bitmap pi, String c, String p, String d) {
poster = pi;
channel = c;
path = p;
dblink = d;
}
public Bitmap getPoster() { return poster; }
public String getChannel() { return channel; }
public String getPath() { return path; }
public String getDBlink() { return dblink; }
}
而且由于我要一个接一个地添加条目,所以程序运行非常慢,所以有插入多个条目的较快方法吗?想让所有人都参加一次活动吗?
解决方法:
我建议不要将图像保存在数据库中,而是将它们保存为文件,并在数据库中保存它们的路径(使用普通的TEXT字段).
如果您不想这样做,那么有两点仍然可以极大地提高处理速度:
>围绕所有插入仅打开和关闭数据库一次
>使用交易
像这样:
SQLiteDatabase db = openDB();
db.beginTransaction();
try {
// Add here the loop with all your inserts
db.setTransactionSuccessful();
} finally {
db.endTransaction(); // will rollback and cancel the inserts if not marked as successful
db.close();
}
(最后可以确保关闭事务和连接,即使在插入过程中由于某种原因导致连接失败:在这种情况下,您所有的插入都将被取消)
内容总结
以上是互联网集市为您收集整理的java-如何优化将具有多个字符串和图像的条目插入到SQLite数据库中全部内容,希望文章能够帮你解决java-如何优化将具有多个字符串和图像的条目插入到SQLite数据库中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。