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

Пытаюсь показать все изображения с SD-карты HTC desire Z Android Mobile. Я использую эти сайты пример кода :

Но все музыкальные видео доступны с SD-карты. Но я не могу показать изображения. Там нет ошибок, нет ошибок. Просто покажи черный экран. Как я могу получить доступ к изображениям?

Любой может иметь лучшую идею. Кто-нибудь может дать мне пример кода?

Кстати, пример кода на этих сайтах работает нормально на другом мобильном телефоне. Я проверяю это.

Пожалуйста, предоставьте некоторый позитивный гид.

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Это файл 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

import java.util.ArrayList;
import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore.Images.Media;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.ImageView;
import android.widget.TextView;

public class DisplayAllImages extends Activity {
    ImageView mImageView;
    TextView mNext;
    TextView mPrev;
    Cursor mCursor;
    ArrayList list;
    int mIndex = 0;
    int mSize;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.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);
    }

    @Override
    protected void onResume() {
        mCursor = getContentResolver().query(Media.EXTERNAL_CONTENT_URI, new String[] {Media.DATA}, null, null, null);
        if(mCursor!=null && mCursor.moveToFirst()) {
            list = new ArrayList();
            mSize = mCursor.getCount();
            do {
                list.add(mCursor.getString(0));
            } while(mCursor.moveToNext());
            mImageView.setImageURI(Uri.parse(list.get(mIndex)));
        }
        mNext.bringToFront();
        mNext.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                if(mIndex == (mSize-1)) {
                    mIndex = -1;
                }
                mImageView.setImageURI(Uri.parse(list.get(++mIndex)));
            }
        });
        mPrev.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                if(mIndex == 0) {
                    mIndex = mSize;
                }
                mImageView.setImageURI(Uri.parse(list.get(--mIndex)));
            }
        });
        super.onResume();
    }
}
1 голос
/ 15 апреля 2011

Что вы можете сделать: -

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 && cursor.moveToFirst()) {
        do {
            //write your code here to show images in a view
            // you can access data through cursor.getString(0)
        } while(cursor.moveToNext());
    }

Надеюсь, что поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...