#android #image
#Android #изображение
Вопрос:
Я пытаюсь показать все изображения с SD-карты HTC Desire Z для мобильных устройств Android. Я использую пример кода этого веб-сайта:
Но все музыкальные видео доступны с SD-карты. но я не могу показать изображения. Нет ошибок, никаких багов. Просто покажите черный экран. Как я могу получить доступ к изображениям?
У любого может быть идея получше. Кто-нибудь может дать мне какой-нибудь пример кода?
Кстати, пример кода этого веб-сайта отлично работает на другом мобильном устройстве. Я тестирую это.
Пожалуйста, предоставьте какое-нибудь положительное руководство.
Ответ №1:
Это main.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:id="@ id/imageView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="fitCenter"/>
<TextView android:id="@ id/next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/imageView"
android:layout_gravity="right|center_vertical"
android:text="Next"
android:textColor="@android:color/white"
android:textSize="30sp"/>
<TextView android:id="@ id/prev"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical"
android:text="Prev"
android:textColor="@android:color/white"
android:textSize="30sp"/>
</FrameLayout>
Это файл java
импортируйте java.util.Список массивов; импорт android.app.Activity; импортируйте android.database.Курсор; импортируйте android.net.Uri; импортируйте android.os.Bundle; импортируйте android.provider.MediaStore.Изображения.Медиа; импорт Android.просмотр.View; импортируйте Android.просмотр.View.OnClickListener; импортируйте android.view.Окно; импортируйте android.widget.Просмотр изображений; импортируйте android.widget.Просмотр текста; общедоступный класс DisplayAllImages расширяет активность { Просмотр изображений mImageView; TextView mNext; Просмотр текста в формате mPrev; Управление курсором; Список ArrayList; int mIndex = 0; int mSize; /** Вызывается при первом создании действия. */ @Переопределить общедоступная пустота при создании (пакет savedInstanceState) { super.onCreate (savedInstanceState); Функция requestWindowFeature (окно.FEATURE_NO_TITLE); setContentView (R.layout.main); mImageView = (ImageView)findViewById (R.id.ImageView); mNext = (TextView)findViewById (R.id.next); mPrev = (TextView)findViewById (R.id.prev); } @Переопределить защищенная пустота onResume () { mCursor = getContentResolver().запрос (Медиа.EXTERNAL_CONTENT_URI, новая строка[] {Media.ДАННЫЕ}, нуль, нуль, нуль); если (mCursor!=null amp;amp; mCursor.moveToFirst()) { список = новый ArrayList (); mSize = mCursor.getCount(); сделать { list.add(mCursor.getString(0)); } в то время как (mCursor.moveToNext()); mImageView.setImageURI(Uri.parse(list.get(mIndex))); } mNext.BringToFront (); mNext.setOnClickListener(новый OnClickListener() { @Переопределить общедоступная пустота при нажатии (просмотр v) { если (mIndex == (mSize-1)) { mIndex = -1; } mImageView.setImageURI(Uri.parse(list.get( mIndex))); } }); mPrev.setOnClickListener(новый OnClickListener() { @Переопределить общедоступная пустота при нажатии (просмотр v) { если (mIndex == 0) { mIndex = mSize; } mImageView.setImageURI(Uri.parse(list.get(--mIndex))); } }); super.onResume (); } }
Комментарии:
1. ПРИВЕТ, Вивек, спасибо за ответ. Я применяю ваш код. но некоторые из них отображаются в mmImageView.setImageURI(Uri.parse(list.get(—mIndex)));
2. Привет, Вивек, как я могу заполнить все изображения в виде сетки. Пожалуйста, помогите мне.
3. извините, я не знаю об этом, поэтому я ничего не делаю. Теперь я принимаю ваш ответ. Большое спасибо
Ответ №2:
Что вы можете сделать, это:-
Cursor cursor = getContentResolver().query(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{android.provider.MediaStore.Images.Media.DATA}, null, null, null);
if(cursor!=null amp;amp; cursor.moveToFirst()) {
do {
//write your code here to show images in a view
// you can access data through cursor.getString(0)
} while(cursor.moveToNext());
}
Надеюсь, это поможет
Комментарии:
1. Привет, Вивек, есть проблема. при установке этой системы происходит сбой. Можете ли вы дать мне пример кода для отображения всех изображений с SD-карты в соответствии с вашим кодом. пожалуйста, пришлите мне весь код. Я новичок в Android.