So erstellen Sie eine benutzerdefinierte Galerie mit Bilder von einem bestimmten Ordner auf der SD-Karte?
Ich habe den API-demos von android (/ApiDemos/src/com/example/android/apis/view/Gallery1.java) , aber Sie nehmen Bilder aus dem res-Ordner in das Projekt. Ich will erstellen Sie eine Galerie der Bilder, die sind in dem Ordner: /mnt/sdcard/Android/data/com.myapp/files/Bilder/
Alles was ich tun konnte, war dieser code, die, nehme ich an, zeigt alle Bilder.
public class ExistingPicGallery extends Activity {
private Cursor cursor;
private int columnIndex;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gallery1);
Gallery g=(Gallery)findViewById(R.id.gallery1);
String[] projection = {MediaStore.Images.ImageColumns._ID,MediaStore.Images.Thumbnails.IMAGE_ID,
MediaStore.Images.Thumbnails.KIND};
//Create the cursor pointing to the SDCard
String selection = MediaStore.Images.Thumbnails.KIND +
"=" + //Select only mini's
MediaStore.Images.Thumbnails.MINI_KIND;
cursor = managedQuery( MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
projection,
selection,
null,
null);
//Get the column index of the image ID
columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID);
g.setAdapter(new ImageAdapter(this));
g.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
Toast.makeText(ExistingPicGallery.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
}
public class ImageAdapter extends BaseAdapter {
int mGalleryItemBackground;
public ImageAdapter(Context c) {
context = c;
TypedArray a = obtainStyledAttributes(R.styleable.ExistingPicGallery);
mGalleryItemBackground = a.getResourceId(
R.styleable.ExistingPicGallery_android_galleryItemBackground, 0);
a.recycle();
}
public int getCount() {
return cursor.getCount();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView i = new ImageView(context);
//Move cursor to current position
cursor.moveToPosition(position);
//Get the current value for the requested column
int imageID = cursor.getInt(columnIndex);
//obtain the image URI
Uri uri = Uri.withAppendedPath( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, Integer.toString(imageID) );
String url = uri.toString();
//Set the content of the image based on the image URI
int originalImageId = Integer.parseInt(url.substring(url.lastIndexOf("/") + 1, url.length()));
Bitmap b = MediaStore.Images.Thumbnails.getThumbnail(getContentResolver(),
originalImageId, MediaStore.Images.Thumbnails.MINI_KIND, null);
i.setImageBitmap(b);
i.setLayoutParams(new Gallery.LayoutParams(150, 100));
i.setScaleType(ImageView.ScaleType.FIT_XY);
i.setBackgroundResource(0);
return i;
}
private Context context;
;
}
}
Ich habe viel Zeit damit verbracht, auf der Suche nach Ihrer Lösung, aber kein Erfolg..
Was ist das problem mit diesem code? Alle Fehler - /exception geworfen?
Was ist das problem mit dem code? Was brauchen Sie Hilfe?
ist kein problem mit diesem code ist es perfekt. Aber ich will den code, nehmen Sie die Bilder, die sind in dem Ordner: /mnt/sdcard/Android/data/com.myapp/files/Pictures/ und zeigt in der custom-gallery.. danke im Voraus
es gibt keine Ausnahme, nur das ist nicht der code, den ich Suche.
Was ist das problem mit dem code? Was brauchen Sie Hilfe?
ist kein problem mit diesem code ist es perfekt. Aber ich will den code, nehmen Sie die Bilder, die sind in dem Ordner: /mnt/sdcard/Android/data/com.myapp/files/Pictures/ und zeigt in der custom-gallery.. danke im Voraus
es gibt keine Ausnahme, nur das ist nicht der code, den ich Suche.
InformationsquelleAutor vishalaksh | 2011-12-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich gemacht, folgende änderungen in /ApiDemos/src/com/example/android/apis/view/Gallery1.java
Somit erhalten wir array von image-Namen in diesem Ordner. In der Probe, wir haben array der IDs der drawables.
InformationsquelleAutor vishalaksh
Hier ist der code, den ich zu verwalten, zu kommen mit für Sie verwendet einen Cursor, um das abrufen der Bilder auf der SDCard...
}
Check out my Bearbeiten. Stellen Sie sicher, Sie Lesen Sie durch und sehen, wie ich Sie konstruiert haben, die den code.
Sir, ich denke, dass ich etwas zu schreiben in der 3. parameter der managedQuery() wie : cursor = managedQuery( MediaStore.Bilder.Miniaturen.EXTERNAL_CONTENT_URI, Projektion, imgpath +" WIE " /mnt/sdcard/Android/data/com.myapp/files/Bilder/%'", null, MediaStore.Bilder.Miniaturen.IMAGE_ID); Wenn dies ist, was getan werden sollte, was soll dann der Ausdruck für imgpath ?? vielen Dank im Voraus.
InformationsquelleAutor coder_For_Life22
Hi unten angegebenen link weitere details Benutzerdefinierte Galerie
http://mylearnandroid.blogspot.in/2014/02/multiple-choose-custom-gallery.html
InformationsquelleAutor Ramesh Thangaraj