成千上万的ORMLite原始插件在Android上需要几分钟

成千上万的ORMLite原始插件在Android上需要几分钟,第1张

概述我正在尝试使用ORMLite预填充 Android SQLite数据库.问题是这个 *** 作太慢了.这需要几分钟.下面的代码显示了它是如何发生的. RuntimeExceptionDao<Company, Integer> companyDao = ORMLiteHelper.getInstance(context).getCompanyRuntimeDao();AssetManager am = co 我正在尝试使用Ormlite预填充 Android sqlite数据库.问题是这个 *** 作太慢了.这需要几分钟.下面的代码显示了它是如何发生的.
RuntimeExceptionDao<Company,Integer> companyDao = OrmliteHelper.getInstance(context).getCompanyRuntimeDao();AssetManager am = context.getAssets();    try {        inputStream instream = am.open("companIEs.sqlite");        if (instream != null) {            inputStreamReader inputreader = new inputStreamReader(instream);            BufferedReader buffreader = new BufferedReader(inputreader);            String line;            try {                while ((line = buffreader.readline()) != null) {                    //Log.i("sql",line);                                           if (line.startsWith("INSERT INTO CompanIEs")) {                        companyDao.executeraw(line);                    }                 }            } catch (Exception e) {                Log.i("sql",e.getMessage() + " " + e.getLocalizedMessage());            }        }    } catch (Exception e) {        Log.i("sql",e.getMessage());    }

companIEs.sqlite是一个包含数千行插入的文件,如下所示:

INSERT INTO CompanIEs (ID,name) VALUES (1,'Duff Beer');

我正在使用DatabaseConfigUtil类来避免使用注释.

解决方法 使用数据库事务.见 here和 TransactionManager.类似于:
TransactionManager.callintransaction(connectionSource,new Callable<VoID>() {        public VoID call() throws Exception {            // Your code from above        }});
总结

以上是内存溢出为你收集整理的成千上万的ORMLite原始插件在Android上需要几分钟全部内容,希望文章能够帮你解决成千上万的ORMLite原始插件在Android上需要几分钟所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1138863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存