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)
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en