Androidの操作アルバム
6480 ワード
携帯電話の画像の絶対パスを取得し、各フォルダの下のパスを区別します.
画像の絶対パスを格納するフォルダの名前と絶対パスを格納するListエンティティクラスは以下の通りです.
携帯電話の画像の絶対パスをパッケージ名で区切る:
未完....
画像の絶対パスを格納するフォルダの名前と絶対パスを格納するListエンティティクラスは以下の通りです.
1 import java.util.ArrayList;
2 import java.util.List;
3
4 public class ImagePath {
5 private String pakagePath;
6 private List<String> listPth = new ArrayList<String>();
7
8
9 public String getPakagePath() {
10 return pakagePath;
11 }
12 public void setPakagePath(String pakagePath) {
13 this.pakagePath = pakagePath;
14 }
15 public List<String> getListPth() {
16 return listPth;
17 }
18 public void setListPth(List<String> listPth) {
19 this.listPth = listPth;
20 }
21
22 }
携帯電話の画像の絶対パスをパッケージ名で区切る:
1 private ContentResolver contentResolver;
2 private Button button;
3 private Uri uri;
4 private List<ImagePath> imagePaths;
5 private List<ImagePath> getImgPath() {
6 imagePaths = new ArrayList<ImagePath>();
7 contentResolver = this.getContentResolver();
8 uri = Media.EXTERNAL_CONTENT_URI;
9 Cursor cursor = contentResolver.query(uri, null, null, null, null);
10 Set<String> set = new TreeSet<String>();
11 List<String> lsPsth = new ArrayList<String>();
12 while (cursor.moveToNext()) {
13 //
14 String path = cursor.getString(cursor.getColumnIndex(Media.DATA));
15 // list
16 lsPsth.add(path);
17 //
18 String pakageName = cursor.getString(cursor.getColumnIndex(Media.BUCKET_DISPLAY_NAME));
19 // set
20 set.add(pakageName);
21 }
22 //set
23 String[] str =set.toArray(new String[set.size()]);
24 //
25 for (int i = 0; i < str.length; i++) {
26 // ImagePath , ( )
27 ImagePath imagePath = new ImagePath();
28 // ImagePath , ( )
29 List<String> listpath = new ArrayList<String>();
30 // str imagePath
31 imagePath.setPakagePath(str[i]);
32 // lsPsth
33 for (int k = 0; k < lsPsth.size(); k++) {
34 // lsPathget(k) str[i]
35 if(getPakageNameByPath(lsPsth.get(k)).equals(str[i])){
36 // listpath
37 listpath.add(lsPsth.get(k));
38 }
39 }
40 // imagePath
41 imagePath.setListPth(listpath);
42 // imagePaths
43 imagePaths.add(imagePath);
44 }
45 return imagePaths;
46 }
1 /**
2 *
3 * @param path
4 * @return
5 */
6 public String getPakageNameByPath(String path){
7 String pkgName = null;
8 if(path.length()>0){
9 String[] str = path.split("/");
10 pkgName = str[str.length-2];
11 }
12 return pkgName;
13 }
14
未完....