Как получить доступ ко всем изображениям с SD-карты в HTC Desire Z

#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.