热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

插入时冻结应用(AndroidSQLiteDB)

如何解决《插入时冻结应用(AndroidSQLiteDB)》经验,为你挑选了1个好方法。



1> Muthukrishna..:

如果您要在db中执行多项操作,最好是在其他线程中运行,并尝试使用事务,

尝试这个,

        new AsyncTask() {

            @Override
            protected Void doInBackground(Void... voids) {
                bd = helper.getWritableDatabase();
                File directorio = getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS);
                File file = new File(directorio, "art01.txt");
                try {
                    BufferedReader br = new BufferedReader(new FileReader(file));
                    String line;
                    String[] parts;
                    String sql = "delete from Articulos";
                    bd.execSQL(sql);

                    bd.beginTransaction();

                    while ((line = br.readLine()) != null) {
                        if (line.length() != 328) {
                            parts = line.split("\\#+");
                            Articulo arti = new Articulo(Integer.parseInt(parts[0]), parts[1], quitarEspaciosInt(parts[2]), quitarEspaciosInt(parts[3])
                                    , convertirDecimal(parts[4]), quitarEspaciosInt(parts[5]), quitarEspaciosInt(parts[6]), quitarEspaciosFloat(parts[7]), quitarEspaciosInt(parts[8]));
                            helper.addArticulo(arti);
                        }
                    }

                    br.close();
                    bd.setTransactionSuccessful();
                } catch (IOException e) {
//                    System.out.println(e.toString());
                } catch (Exception e) {

                } finally {
                    bd.endTransaction();
                    bd.close();
                }
                return null;
            }
        };


推荐阅读
author-avatar
piggyear
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有