2

アプリで見つけた小さな問題について、あなたの助けが必要です。

私のアプリでは、このコードを使用して、自分で作成したフォルダーにアセット フォルダーのすべてのコンテンツをコピーします。

File wallpaperDirectory = new File("/sdcard/Wallpaper/");
    wallpaperDirectory.mkdirs();

    AssetManager assetManager = getAssets();
    String[] files = null;
    try {
        files = assetManager.list("");
    } catch (IOException e) {
        Log.e("tag", e.getMessage());
    }
    for(String filename : files) {
        InputStream in = null;
        OutputStream out = null;
        try {
          in = assetManager.open(filename);
          out = new FileOutputStream("/sdcard/Wallpaper/" + filename);
          copyFile(in, out);
          in.close();
          in = null;
          out.flush();
          out.close();
          out = null;
        } catch(Exception e) {
            Log.e("tag", e.getMessage());
        }       
}

private void copyFile(InputStream in, OutputStream out) throws IOException {
    byte[] buffer = new byte[1024];
    int read;
    while((read = in.read(buffer)) != -1){
      out.write(buffer, 0, read);
    }
}

今、私が作成したこのフォルダー (/sdcard/Wallpaper/) への URI が必要です。どうもありがとうございます

4

4 に答える 4

2

SDcard 上の特定のフォルダの URI を取得します。

String sdcard = Environment.getExternalStorageDirectory().getAbsolutePath();

Uri.fromFile(new File(sdcard+"/Wallpaper/"));

または

Uri.parse(sdcard+"/Wallpaper/")
于 2012-09-07T11:48:00.383 に答える
1
Uri uri = Uri.fromFile(new File("/sdcard/Wallpaper/"));

また

Uri uri = Uri.parse("/sdcard/Wallpaper/");
于 2012-09-07T11:49:11.500 に答える
1

これを試して

ファイル パスを取得する

File path = "/sdcard/Wallpaper/";

次のコードでファイル パスを Uri に変換します。

Uri imageurl = Uri.fromFile(path); 

それが役に立てば幸い。

于 2012-09-07T11:49:13.910 に答える
0

public static Uri fromFile (File file)からメソッドを使用できますandroid.net.Uri

于 2012-09-07T12:00:00.740 に答える