Реализация единого уровня доступа к данным для SQLite и веб-сервиса? - PullRequest
0 голосов
/ 07 февраля 2012

Я занимаюсь разработкой приложения, которое имеет собственный уровень доступа к данным. На уровне доступа к данным у меня есть класс для каждого объекта данных для хранения и извлечения данных в SQLite.

Теперь я хочу добавить в приложение дополнительную функцию, которая позволит мне сохранять и извлекать эти данные в Webservice. Я имею в виду, я хочу иметь 2 режима. Один режим взаимодействия с SQLite и другой режим взаимодействия Webservice на уровне доступа к данным. Я хочу сохранить свои данные в SQLite или веб-сервисе.

Предположим, что мой веб-сервис имеет свои собственные методы вставки, обновления, удаления и выбора.

Как я могу это сделать? Есть ли уроки или примеры?

Спасибо

1 Ответ

2 голосов
/ 07 февраля 2012

Вы бы создали интерфейс , который имеет все необходимые методы update \ delete и т. Д., И каждая область хранения (локальная \ 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();

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...