John, Did you add this to your application's manifest?
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> -- Kostya 09.08.2010 21:59, john brown пишет:
Hello, Documentation source> http://developer.android.com/guide/topics/data/data-storage.html "Every Android-compatible device supports a shared "external storage" that you can use to save files. This can be a removable storage media (such as an SD card) or an internal (non-removable) storage. Files saved to the external storage are world-readable and can be modified by the user when they enable USB mass storage to transfer files on a computer." PROBLEM: I cannot write to a file on the sdcard. QUESTION: Is it possible to write to a file on the sdcard? If YES, what do I need to do to make File.canWrite = true? I am using Android 2.1 update 1, API level 7, Eclipse, and HVGA skin. I am running my app / troubleshooting on the Android SDK ADV. When the AVD is running, I check settings> sdcard total 49.21MB, available 49.07MB. Environment.getExternalStorageState() yields> MEDIA_MOUNTED getExternalStorageDirectory() to establish the sdcard root directory. I copied the files to the sdcard with "adb push source destination" I am able to successfully read other files in that directory. psudo code: // __________________________________________________ File fFile = new File(pathFile); if (fFile.exists()){ ... // returns true if (fFile.canRead()){ ... // returns true if (fFile.canWrite()){ ... // returns false try{ FileWriter Fw = new FileWriter(fFile, true); BufferedWriter Bw = new BufferedWriter(Fw); PrintWriter outPw = new PrintWriter(Bw, true); outPw.println(strRec); outPw.close(); } catch(IOException ex){ System.out.println("IO Error - " + ex.toString()); System.exit(0); } // ____________________________________________________ System.out shows: IO Error - java.io.FileNotFoundException but we know the file is there from the preceding checks: if (fFile.exists()){ ... // returns true if (fFile.canRead()){ ... // returns true What do I need to do to make the file writable? Or I want to write to the file. What am I doing wrong? Thanks, John Brown P.S. I got a command prompt via c:\Program Files\Android-SDK\tools> adb shell # ls -l /sdcard/Android/data/lms ----rwxr-x system sdcard_rw 63 2010-07-19 15:17 mpReadAbDdx201006.txt ----rwxr-x system sdcard_rw 45211 2010-07-19 15:17 mpTranAbDdx201006.txt The way I read this is that the owner's rights are ---, group is rwx, others is r-x. I'm just guessing, the application is others? But I cannot get chmod to change the attributes, i.e.: # chmode o-rwx /sdcard/Android/data/lms/mpReadAbDdx201006.txt Bad mode (I get the same file attributes when I copy file to sdcard via DDMS File Explorer.) Where can I find documentation to the Android linux (?) commands? (I mean the command line commands)
-- Kostya Vasilev -- WiFi Manager + pretty widget -- http://kmansoft.wordpress.com -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en