Методы класса DBWorker.java
Метод | Описание |
public void onCreate(SQLiteDatabase db) | Создание структуры базы данных |
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) | Изменение структуры базы данных |
public UserContext authUser(String email, String pass) | Авторизация пользователя |
public UserContext registerUser(UserContext user) | Регистрация пользователя |
public void Exit() | Выход пользователя из системы |
public int newTask(TaskContext task) | Добавление новой задачи |
public void changeTask(TaskContext task) | Изменение задачи |
public void deleteTask(TaskContext task) | Удаление задачи |
public ArrayList<TaskContext> getAllTasks(UserContext user) | Возвращает список всех задач пользователя |
public TaskContext getTaskById (int id) | Возвращает задачу по id |
public ArrayList<SubtaskContext> getSubTaskListByTaskID (int taskID) | Возвращает список подзадач по id задачи |
public void addSubTask(SubtaskContext subtask) | Добавление подзадачи |
public int addContext(ContextContext cnt) | Добавление контекста |
public ArrayList<ContextContext> getAllContexts(int userID) | Возвращает список всех контекстов пользователя |
public ContextContext getContextByID(int cntID) | Возвращает контекст по id |
public void removeContext(int id) | Удаление контекста |
public void saveTaskContext(ArrayList<String> titles, TaskContext task) | Сохранение привязки задачи к контексту |
public void updateContext(ContextContext context) | Изменение контекста |
public ArrayList<ContextContext> getAllUnsyncContexts (UserContext user) | Возвращает список всех контекстов, не синхронизированных с сервером |
public int addPoint(PointContext point) | Добавление координат на карте |
public PointContext getPointByID(int id) | Получение координат по id |
public void removePoint(int id) | Удаление координат |
public ArrayList<PointContext> getAllPoints() | Возвращает список всех координат пользователя |
public ArrayList<PointContext> getPointsByContextID(int id) | Возвращает список точек, привязанных к определенному контексту по id контекста |
public void updatePoint(PointContext point) | Обновление координат |
Работа с сервером
В приложении организован обмен данными с удаленным сервером по протоколу HTTP с использованием HTTP Basic Authentication. Сервер имеет REST-архитектуру [9, c. 481].
Все файлы, необходимые для взаимодействия с сервером, расположены в директории /app/main/com.example.matia.todo/RestAPI/.
Класс RequestContext.java описывает структуру объекта, необходимого для формирования запроса. Атрибуты класса представлены в таблице 9.
Таблица 9.
Атрибуты класса RequestContext.java
Метод | Описание |
private String method; | Метод запроса: GET, POST, PUT, DELETE |
private String login; | Логин пользователя, для авторизации на сервере |
private String pass; | Пароль пользователя для авторизации на сервере |
private String url; | URL запроса |
private JSONObject jsonData; | Тело запроса в формате JSON |
Класс ResponseContext.java описывает структуру объекта, представляющего ответ с сервера. Атрибуты класса описаны в таблице 10.
Таблица 10.
Атрибуты класса ResponseContext.java
Метод | Описание |
private int responseCode; | Код ответа |
private JSONObject response; | Тело ответа в формате JSON |
Для формирования и отправки запроса используется специальный класс, расширенный от AsyncTask, AsyncRequest.java . Методы этого класса выполняются в отдельном потоке.
В классе WebWorker.java содержатся методы, формирующие запрос, обрабатывающие ответ с сервера и выполняющие процедуру синхронизации. В таблице 11 представлены методы класса.
Таблица 11.