您好我已經可以用一點點幫助理解延長baseadapter的imageadapter。我在上個月一直在努力的應用程序的最後一站,我很難過。關於我的項目。它跟蹤車輛。對於任何車輛,用戶可以隨意使用相機拍攝儘可能多的照片。這部分工作。我可以拍照並將其保存在內部存儲器中。然後我保存該路徑到一個sqlite表。我的數據庫有一個圖像ID(_ID)EX。 1,車輛ID(v_id)前1,並且向圖像(i_image)前/data/data/com.okc.vinstick/files/img_20120111_090000.jpg的路徑。我驗證了圖像文件和數據庫條目正在保存正確。現在到了艱難的部分:在GridView中顯示圖像。我試圖按照ImageAdapter例子是這樣的:的Android ImageAdapter
public class ImageAdapter extends BaseAdapter {
private LayoutInflater mInflater;
public ArrayList<ImageItem> images = new ArrayList<ImageItem>();
public ImageAdapter() {
mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public void initialize() {
images.clear();
final String[] columns = { MediaStore.Images.Thumbnails._ID };
final String orderBy = MediaStore.Images.Media._ID;
Cursor imagecursor = null;
try {
ContextWrapper context = MorePhotoTesting.this;
imagecursor = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null, null, orderBy);
} catch(Exception e) {
e.printStackTrace();
}
if(imagecursor != null){
int image_column_index = imagecursor.getColumnIndex(MediaStore.Images.Media._ID);
int count = imagecursor.getCount();
for (int i = 0; i < count; i++) {
imagecursor.moveToPosition(i);
int id = imagecursor.getInt(image_column_index);
ImageItem imageItem = new ImageItem();
imageItem.id = id;
lastId = id;
imageItem.img = MediaStore.Images.Thumbnails.getThumbnail(getApplicationContext().getContentResolver(), id,
MediaStore.Images.Thumbnails.MICRO_KIND, null);
images.add(imageItem);
}
imagecursor.close();
}
notifyDataSetChanged();
}
我相信一旦我明白初始化()我可以敲定getView()。顯然這個例子是使用Mediastore,我將使用應用內部存儲。我只是迷失了,我的研究已經空了。我只是沒有看到如何用我的數據庫代碼替換Mediastore的東西。如果任何人都可以指出我的方向,那就太棒了!順便例使用類:
class ImageItem {
boolean selection;
int id;
Bitmap img;
}
從主要活動的呼籲是這個樣子:
imageAdapter = new ImageAdapter();
imageAdapter.initialize();
imagegrid = (GridView) findViewById(R.id.PhoneImageGrid);
imagegrid.setAdapter(imageAdapter);
我很抱歉,但是這是我處理這些功能的第一個項目。
好的,謝謝您的答覆。我意識到這可能不是一個直接的問題,但更多的是「任何人都可以解釋我應該做什麼」的東西。當我把它放在EXTERNAL_CONTENT_URI上時,我看到了android庫中的所有圖片。當我將其更改爲INTERNAL_CONTENT_URI時,我什麼也得不到。任何人都可以解釋那裏發生了什麼?我再次爲新手提出的問題感到抱歉,但盡力學習! – 2012-01-11 20:06:39
我onActivityResult拍攝圖像後,我嘗試在imageUri.getPath運行mediascanner()。它會掃描應用程序目錄中的任何內容嗎?/data/data .... – 2012-01-11 20:31:19
我決定暫時去一個不同的方向。謝謝你的幫助。 – 2012-01-12 15:11:23