Таким образом, есть несколько элементов в этом вопросе.Я отвечу в трех частях.
1.Web (REST)
Вам понадобится (как вы упомянули) служба RESTful для подключения внешних запросов к локальному серверу SQL.Я полагаю, что вы можете использовать .NET (.asmx) для создания такого API (есть много руководств, которые вы можете найти в Интернете).Вы также можете использовать что-то вроде ASP .NET Core или более современные технологии, такие как Node.js, Ruby on Rails и т. Д.
Вам понадобится одна конечная точка для "C" CRUD.Будет ли это конечная точка PUT или POST, будет зависеть от конкретных деталей вашей реализации и варианта использования.Смотрите этот SO-ответ: PUT против POST в REST
Вам также, вероятно, понадобится какая-то система аутентификации, чтобы гарантировать доступ к вашей базе данных только авторизованным лицам.Для этого вы можете попробовать что-то вроде Microsoft Identity Framework, более индивидуальную схему аутентификации (см. this ) или другие библиотеки.
2.Android
На стороне Android вам потребуется доступ к API через Интернет.Самый простой способ сделать это - использовать какую-то сетевую библиотеку (я бы порекомендовал OkHttp ).Поскольку сетевые запросы (использование API) могут занимать время, настоятельно рекомендуется делать это вне основного потока / потока пользовательского интерфейса.Делать это в Android стало намного проще благодаря использованию библиотеки потоков, такой как RxJava .Существует множество примеров использования OkHttp с RxJava (см., Например, this answer).
3.Кэширование
Это своего рода дополнительная часть кредита.Если вы хотите кэшировать операции создания на устройстве Android (например, если у вас нет сети), вам необходимо использовать постоянное хранилище на устройстве.Если это не является обязательным требованием, вы можете пропустить это.Для постоянного хранения на устройстве я бы порекомендовал заглянуть в постоянную библиотеку Android Room (которая также отлично интегрируется с RxJava).
Просто чтобы прояснить ситуацию, вам нужно будет только сохранитьданные в локальную базу данных SqLite в том случае, когда вы хотите кэшировать операции создания.
Удачи!