0

編集:私が物事を公開しなければならないことに気付いた後、これは私が自分のPCからタブレットを接続し、そこにあるものをコピーするときに表示されるフォルダーを作成しようとしたものです:

File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) ;
    File theFile = new File(path+"/Portfolio/");
    //if(!theFile.exists())
        theFile.mkdir();

if theFile.exists()が原因で、常にtrueが返されるのでコメントアウトしました。

これで、動作しているように見えるこのフォルダーができました。エラーはスローされません。実際、このフォルダーは Adao File Manager、デバイス上で/ Pictures/Portfolioの下にあるこの場所を参照するために使用しています。

しかし、それをWindowsマシンに接続すると、/ Picturesが表示されますが、その下にフォルダーがありません。それを失っただけですか?

そして

これらの小さなDIRは、クライアントファイルを入れるために、アプリケーションからタブレットで作成されます。タブレットを接続して、PCから作成したこれらのフォルダーにファイルをコピーするだけでよいと思いました。問題は、acer iconiaを接続すると、それが表示され、いくつかのファイルを参照できるときに、File.mkdir()を使用してアプリで作成したフォルダーのように見えることです。このパスは次のとおりです。

/sdcard/Android/data/my.softwares.package.name/files/Pictures/somefolders

サードパーティのファイルブラウザアプリを使用して、このフォルダが存在することを確認できますが、Windowsからわかる限り、次の範囲でしか参照できません。

/sdcard/Android/data(私がそこにたどり着いたとしてもわからない場合)...これは本当にそうですか、それとも私は何かを逃していますか?これらのフォルダーを作成するために使用するコードは次のとおりです。

   String p = Environment.DIRECTORY_PICTURES + "/" + s.getClient().getFirstName()+s.getClient().getLastName() + "/" + s.getPackage().getName() + (mSession.getSessionDate().getMonth()+1)  +  mSession.getSessionDate().getDate() + (mSession.getSessionDate().getYear()+1900);
            File path = mContext.getExternalFilesDir(p);


            if(!path.exists())
                path.mkdir();

タブレットをPCに接続すると、ここでは運が悪いようです。ここでも、Android/データまでしか移動できません。

これはプログラムのようなポートフォリオ用です。デバイス上にフォルダーを作成します。ユーザーはPCから写真をコピーできます。その後、写真がすべてコピーされた後、フォルダーを作成した同じアプリがこのフォルダーを読み取ることができます。 、それで、WindowsがSDカード上のすべてを読み取ることができるという私の仮定が間違っているように見えるので、私は何が欠けていますか?

4

1 に答える 1

1

アプリのプライベートデータ領域に画像を作成したため、アクセスできません。それはセキュリティの問題になります。

SDカードなどの公共の場所にデータを保存します。外部ストレージを読み上げるだけです。

http://developer.android.com/guide/topics/data/data-storage.html#filesExternal

于 2011-08-10T04:36:03.117 に答える