在写回SQLite数据库行之前暂时存储它们

时间:2017-08-11 05:56:15

标签: android android-sqlite

我有一个场景,我的App-A需要从App-B的数据库中读取数据。 1)修改App-B的DB 2)删除一些数据和行;保存。 3)当App-A被杀时,恢复App-B的数据。

现在我关注的是保存App-B数据库数据的最佳方法,以便轻松恢复?

1 个答案:

答案 0 :(得分:1)

我建议您首先从App B获取数据并将其存储到您创建的ItemData.class数组中。 (使用应用程序A中的代码执行此操作。)

ItemData.class:

public class ItemData{
public int itemId;
public String itemText;
public boolean itemBoolean;
}

您可以将新项目添加到数组中,如下所示:

ArrayList<ItemData> items= new ArrayList<>();
ItemData item = new ItemData();
item.itemId = //you should assign id from app b database
item.itemText = //you should assign text from app b database
item.itemBoolean = //you should assign boolean from app b database
items.add(item);

然后,您可以访问应用程序中的所有数据,并在它们可用的同时进行修改。这将更快,数据不会从您的阵列中丢失。

现在使用for循环,您可以恢复所有数据并将其保存在另一个数据库中:

for (int i = 0; i < items.size(); i++) {
        int restoredID = items.get(i).itemId;
        String restoredString = items.get(i).itemText;
        boolean restoredBoolean  = items.get(i).itemBoolean;
}

我希望这会有所帮助。