2
對於我的Flash應用程序,我需要創建一個「原生擴展」,這是一個原生的android Java調用。此擴展程序生成一個由所有圖像文件及其相應縮略圖組成的字符串,並將其返回給Flash。Android縮略圖列表
我不是一個Java程序員,這是我第一次嘗試編寫android代碼。所以挖掘後第2天,我想出了這個:
public String getThumbPaths(Uri uri, ThumbContext ctx) {
String out = "";
Cursor cursor = MediaStore.Images.Thumbnails.queryMiniThumbnails(ctx
.getActivity().getContentResolver(), uri,
MediaStore.Images.Thumbnails.MINI_KIND, null);
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
String imageId = cursor.getString(cursor
.getColumnIndex(Thumbnails.IMAGE_ID));
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor images = ctx.getActivity().managedQuery(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
filePathColumn, MediaStore.Images.Media._ID + "=?",
new String[] { imageId }, null);
String filePath = "";
if (images != null && images.moveToFirst()) {
filePath = images.getString(images.getColumnIndex(filePathColumn[0]));
}
out += cursor.getString(1) + ";" + filePath+";";
}
return out;
}
和呼叫
ThumbContext ctx = (ThumbContext) context;
Uri uri = MediaStore.Images.Thumbnails.getContentUri("external"); // content://media/external/images/thumbnails
String paths = getThumbPaths(uri, ctx);
一切運作良好,除了速度。我不知道這是因爲Flash-Java-Flash調用還是上面的代碼,我不能檢查,因爲編譯發生在Flash內部。
所以我的問題是:我可以加快此代碼?也許這樣做沒有第二個光標在「for」循環內?
謝謝大衛! :)我一定會將這些位添加到代碼中! – Fossor
哇!大衛你救了我1.7秒總共5.再次感謝!:) – Fossor
隨意標記這是你的答案:) – prprcupofcoffee