xne71247
@xne71247

ManagedQuery устарел, как заменить или что делать?

Читаю книжку по андроиду и там есть пример, описываемый так:
Данный пример немного надуманный. Android уже содержит Фильтр на-мерений для выбора контакта из списка, который может предоставлять 
URI вида content://contacts/people/ внутри неявного Намерения. Цель 
этого учебного проекта состоит в демонстрации общих принципов, даже 
если пользы от этой конкретной реализации немного.

И приведен код этого маленького приложения, где в onCreate вызывается managedQuery, но androidstudio ругается, говорит, что managedQuery устаревший. Как решить эту проблему? Вот код, где это все происходит:
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent intent = getIntent();
        String dataPath = intent.getData().toString();

        final Uri data = Uri.parse(dataPath + "people/");
        final Cursor c = managedQuery(data, null, null, null);
    }
  • Вопрос задан
  • 2507 просмотров
Пригласить эксперта
Ответы на вопрос 2
@nonrblGyN4ik
Используйте context.getContentResolver().query(...)

На будущее, для таких вопросов есть официальная документация(или гугл по запросу "managedQuery deprecated", 1 ссылка)
Ответ написан
Комментировать
mbelskiy
@mbelskiy
Software Developer
Решение nonrblGyN4ik не совсем корректно, так как запрос к бд не должен выполняться в ui потоке.
Смотрите в эту сторону.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы