2017-08-11 53 views
0

我有一个场景,我的App-A需要从App-B的数据库读取数据。 1)修改App-B的DB 2)删除一些数据行&保存。 3)当App-A遇害时,恢复App-B的数据。在写回之前临时存储SQLite数据库行

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

回答

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; 
} 

我希望这有助于。

+0

谢谢@ @特斯拉的建议,我会给它一个去检查,似乎对我的情况好。 –

+0

如果这有助于不要忘记投我的答案。我会很感激。 –

+0

@特斯拉勋爵,我们可以直接保存从APP-B的数据库检索到的Cursor对象并使用它来填充数据吗?首先将数据存储到数组的任何特定原因? –

相关问题