Search results for '2016/12'

[안드로이드] 포토 라이브러리 목록 불러오기

2016.12.09 17:15



안드로이드 내부 저장소에 저장된 사진의 썸네일 목록을 가져오는 코드입니다.


uses
  Androidapi.Helpers, Androidapi.JNI.Net, Androidapi.JNIBridge,
  Androidapi.JNI.Provider, Androidapi.JNI.GraphicsContentViewText,
  FMX.Helpers.Android, Androidapi.JNI.JavaTypes;


procedure TForm1.Button1Click(Sender: TObject);
var
  Uri: Jnet_Uri;
  Projection: TJavaObjectArray<jstring>;
  Cursor: JCursor;
  FilePath: string;
  Item: TListBoxItem;
begin
  Uri := TJImages_Thumbnails.JavaClass.EXTERNAL_CONTENT_URI;
  Projection := TJavaObjectArray<jstring>.Create(1);
  Projection[0] := TJImages_Thumbnails.JavaClass.DATA;

  Cursor := TAndroidHelper.ContentResolver.query(Uri, Projection, nil, nil, nil);

  if not  Assigned(Cursor) then
    Exit;

  try
    Cursor.moveToFirst;
    while(Cursor.moveToNext) do
    begin
      FilePath := JStringToString(Cursor.getString(Cursor.getColumnIndex(TJImages_Thumbnails.JavaClass.DATA)));

      Item := TListBoxItem.Create(ListBox1);
      Item.Parent := ListBox1;
      Item.Text := FilePath;
      Item.ItemData.Bitmap.LoadFromFile(Filepath);
      // 쓰레드로 처리해야 함(로딩이 오래 걸림)
    end;
  finally
    Cursor.close;
  end;
end;

자세한 설명은 추가하겠습니다.


저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

험프리.김현수 험프리.김현수 파이어몽키