Вставка данных Android и URI

#android #database #service #uri

#Android #База данных #Обслуживание #uri

Вопрос:

Так что я в недоумении, как решить эту проблему из-за моего полного знания Android SDK. Я создал службу, которая получает данные из сети a (назовите ее MyService). Затем другие приложения регистрируют URI в этой службе с идентификатором для типа сообщения. Когда приходит сообщение правильного типа сообщения, мне нужно, чтобы MyService вставлял данные в базу данных приложения с зарегистрированным URI.

«Другие» приложения неизвестны MyService. Итак, учитывая то, что у меня есть… как я могу заставить это работать?

Ответ №1:

Вы должны указать какое-то сопоставление между заданным URI и базой данных, в которую вы хотите поместить полученные данные. Похоже, что у вас возникли проблемы с тем, как вы указываете это сопоставление. Когда другие приложения регистрируют URI в вашей службе, почему бы им также не указать базу данных, в которую должны помещаться любые полученные сообщения для этого URI.

Комментарии:

1. Я думаю, вы неправильно поняли вопрос. У меня есть запущенная служба. Затем сторонние приложения регистрируют URI в службе через AIDL (для этого приложение привязывается к службе). Затем моя служба получает данные из сети и определяет, к какому URI принадлежат данные… Все это работает… Я застрял на том, как поместить данные в базу данных, учитывая только ее URI.

2. Проблема заключается в знании структуры зарегистрированной базы данных.

3. Почему бы также не передать информацию о макете базы данных? Или, что еще лучше, просто инкапсулируйте базу данных в контент-провайдере и включите URI, указывающий, куда должно отправляться полученное сообщение в контент-провайдере.

4. Да, я думал о передаче макета, просто не хотел беспокоиться о том, чтобы получить его через AIDL. Но это решение будет работать. Я решил просто передать необработанные данные для обработки клиентским приложением, что по сути было бы похоже на указание макета базы данных в поставщике контента. Спасибо за вашу помощь.