android - 删除 Sugar ORM 数据库表记录

标签 android database listview sugarorm

我有一个带有一些名称和 url 的 ListView 。在我的应用程序启动后,我检查我的本地数据库中是否有任何记录。因此,如果有,首先清除我的旧记录,然后用 ListView 数据填充表列,如果不只是插入数据……我就是这样做的:

List<LocalProduct> allAuthors = LocalProduct.listAll(LocalProduct.class);
if (allAuthors == null) {
    for (int allList=0;allList<adapter.getCount();allList++){
        Product my = adapter.getItem(allList);
        String offline_name = my.name.toString().trim();
        String offline_url = my.image_url.toString().trim();
        LocalProduct book = new LocalProduct(offline_name, offline_url);
        book.save();
        }
    }else {

        /*
        SugarContext.terminate();
        SchemaGenerator schemaGenerator = new SchemaGenerator(getContext());
        schemaGenerator.deleteTables(new SugarDb(getContext()).getDB());
        SugarContext.init(getContext());
        schemaGenerator.createDatabase(new SugarDb(getContext()).getDB());
        */

    for (int allList=0;allList<adapter.getCount();allList++){
        Product my = adapter.getItem(allList);
        String offline_name = my.name.toString().trim();
        String offline_url = my.image_url.toString().trim();
        LocalProduct book = new LocalProduct(offline_name, offline_url);
        book.save();
        }
    }

我的代码的注释区域将删除并重新创建表,这每次都会导致延迟...我怎样才能删除我的记录!?

最佳答案

重置记录:

LocalProduct.deleteAll(LocalProduct.class);

重置自动增量计数器:

LocalProduct.executeQuery("DELETE FROM SQLITE_SEQUENCE WHERE NAME = '" + tableName + "'");

关于android - 删除 Sugar ORM 数据库表记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42777632/

相关文章:

java - RecyclerView 加载数据延迟以将 ArrayList 上的 Json 数据传递给新 Activity

android - 在Android中安排重复任务

database - 通过命令行在 PostgreSQL 上创建数据库

php - php中的mysql错误

c# - Android - 使用 bool 值选中 'Custom ListView' 中的复选框

java - 单击 Imageview 并在新 Activity 中打开全屏图像

java - H2 数据库与 .NET 应用程序

jquery - ListView 上的图标,jquery mobile

listview - flutter listView.Builder 隐藏最后一个列表项的分隔符

android - Android-默认情况下,在YouTube应用中打开链接