Загрузите локальный файл JSON с URL-адресом изображения в Android
Я использую источник для загрузки изображения с URL. Ссылки на изображения хранятся в файле json, а файл json - для размещения на сервере. Но я хочу, чтобы файл json для локального хранения находился в активах или был доступен для рисования. Моя проблема заключается в том, что если я использую менеджер ресурсов, он должен использовать менеджер потоков, а менеджер потоков не работает с URL-адресом, который реализуется с контекстом для загрузки URL-адреса изображения. Если я изменить URL-адрес config_wallpaper_manifest_url на локальный URL-адрес активов, т.е. example.json, то же самое никогда не загружается. каково было бы возможное решение для этого? Благодарю.
public void loadData (Bundle savedInstanceState) {
// Check Network State
if (!NetworkUtil.getNetworkState(this)) {
final RetryFragment fragment = RetryFragment.getFragmentWithMessage("No connection");
this.addFragment(fragment, RetryFragment.TAG, true);
return;
}
if (savedInstanceState == null || savedInstanceState.get(KEY_LIST_DATA) == null) {
final String url = super.getResources().getString(R.string.config_wallpaper_manifest_url);
if (url != null && URLUtil.isValidUrl(url)) {
// Add Loading Fragment
final LoadingFragment fragment = new LoadingFragment();
this.addFragment(fragment, LoadingFragment.TAG, true);
// Load Data
final RestClientHandler handler = new RestClientHandler(this);
RestClient.get(this, url, handler);
}
} else {
Log.i(TAG, "Restored Instance");
this.mData = (ArrayList<NodeCategory>) savedInstanceState.get(KEY_LIST_DATA);
this.mPosition = savedInstanceState.getInt(KEY_LIST_POSITION);
if (this.mPosition != -1) {
mIgnoreSelection = true;
}
this.configureActionBar();
}
}
1 ответ
JSON - это в основном текст. сохранить его во внутренней памяти приложения. Или в базе данных SQLite. Посмотри на это:
Создание папки во внутренней памяти для сохранения файлов и последующего их получения