Я применил поисковые и пользовательские предложения в своем приложении. Я пытаюсь добавить изображение рядом с текстом предложения. Я использую класс SearchManager, и я заполняю данные, чтобы поместить в раскрывающийся список предложения из моей базы данных с помощью курсора.Получить изображение URI из файла с кешем
Я понимаю, что я должен добавить в строках моего курсора для столбцов, определенных SearchManager.SUGGEST_COLUMN_ICON_1
являются (как указано в documentation:
- контента (SCHEME_CONTENT)
- android.resource (SCHEME_ANDROID_RESOURCE)
- файл (SCHEME_FILE)
То, что я пытался до сих пор является следующее:
private void generateSuggestionsCursor(MatrixCursor cursor, Cursor userCursor) {
long id = cursor.getCount();
userCursor.moveToFirst();
while (!userCursor.isAfterLast()) {
String userName = userCursor.getString("username");
String uriImage = userCursor.getString("urlImage");
File imageAsNeeded = ImageLoader.getInstance().getDiscCache().get(uriImage);
Uri urlAsNeeded = Uri.parse(imageAsNeeded.toString());
cursor.newRow().add(id).add(userName).add(urlAsNeeded).add(Intent.ACTION_SEARCH).add(userName);
userCursor.moveToNext();
}
}
Проблема в том, что у меня нет изображений, которые я хочу отображать в своем выпадающем меню локально. Я загрузив их из URL, используя Android Universal Image Loader
Я также попытался использовать кэшированные версии фотографий, но URI всегда в следующей форме:
/data/data/com.app.appname/cache/1216470680
Я попытался предварять file:// or content://
, но безуспешно.
Есть ли способ достичь того, чего я хочу?
Нужно ли загружать изображения в Интернете или вы можете их загрузить и сохранить в качестве ресурса? –
В идеале, было бы лучше загрузить изображение с URL-адреса, поэтому он-лайн. Смысл заключается в том, что универсальный загрузчик изображений позволяет вам это сделать, но вам нужно указать, в каком режиме просмотра изображения вы хотите отобразить изображение после загрузки. В моем случае я не могу получить доступ к представлению изображения (afaik) –
Что именно вы хотите? Знать, как кэшировать их в своем приложении? –