为SQLite和Webservice实现单个数据访问层?

时间:2012-02-07 06:43:38

标签: android web-services sqlite data-access-layer

我正在开发一个拥有自己的数据访问层的应用程序。在数据访问层中,我有一个用于在SQLite中存储和检索数据的数据对象的类。

现在我想为我的应用程序添加一个额外的功能,让我在Webservice中存储和检索这些数据。我的意思是我想拥有2种模式。一种与SQLite交互的模式和另一种在数据访问层中交互Webservice的模式。我想将我的数据存储到SQLite或webservice中。

假设我的webservice有自己的Insert,Update,delete和select方法。

我该怎么做?有没有教程或示例?

谢谢,

1 个答案:

答案 0 :(得分:2)

您将创建一个interface,其中包含所有必需的update \ delete等方法,并且您要使用的每个存储区域(local \ web)都将实现此接口。

在运行时,您将传入相关的存储区域对象并对接口进行操作。您的代码不需要知道存储的位置,只需要调用接口中定义的方法。

作为示例,这是我创建的用于实现文件\文件夹选择器的接口,该选择器在SD卡和Dropbox上运行,这与您自己的要求类似。

public interface IFileChooser {
    public List<FileSystemItem> getItems(String Path, FileSystemItemFilter filter);
    public Boolean CreateFolder(String Path, String FolderName);
    public Boolean DeleteFolder(FileSystemItem itm);
    public String getRoot();
    public String getParentPath(String path);
    public String getSeparator();
    public Boolean isRemoteSource();

}