以下のコードを書きましたが、Path Separator に関するエラーが何度も発生します。
btn_guardar.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
final String CP7_String = et_id.getText().toString();
final String ncontagem_String = et_ncontagem.getText().toString();
Thread thread = new Thread () {
public void run() {
String PATH=null ;
FileOutputStream fileos = null;
try{
if(fileos==null)
{
// If the file don't exists
File file = new File(Environment.getExternalStorageDirectory().toString()+"/xml_nova_contagem.xml" );
fileos = new FileOutputStream(file);
}
// If the file exists
/////////-------- THIS METHOD WON'T WORK --------///////
/* if (fileos!=null){
System.out.println("aqui vai dar bronca: " + Environment.getExternalStorageDirectory().toString());
// PATH = Environment.getExternalStorageDirectory().toString() + "/xml_nova_contagem.xml";
Context context= getApplicationContext();
fileos = context.openFileOutput("xml_nova_contagem.xml", Context.MODE_APPEND);
System.out.println("okkkkkkkkk ");
}
*/
XmlSerializer serializer = Xml.newSerializer();
try{
serializer.setOutput(fileos, "iso-8859-1");
serializer.startDocument(null, Boolean.valueOf(true));
serializer.startTag(null, "CodigoPostal");
serializer.startTag(null, "CP7");
serializer.text(CP7_String);
serializer.endTag(null,"CP7");
serializer.startTag(null,"NovaContagem");
serializer.text(ncontagem_String);
serializer.endTag(null, "NovaContagem");
serializer.endTag(null, "CodigoPostal");
serializer.endDocument();
serializer.flush();
fileos.close();
System.out.println("endddddddddda");
}catch(Exception ee)
{
System.out.println("Exception"+ee);
}
}
catch (Exception e) {
System.out.println("Erro a escrever"+e);
System.out.println("path"+PATH);
}
}
};thread.start();
}
});
}
}
SD カードのファイルを開く必要がありますが、開けません。既存のXMLファイルに新しいレコードを追加するのが目的なのですが、読み込めないので新しいレコードを追加できません。XML ファイルを作成してレコードを追加する別の方法があり、それは機能しますが、これは機能しません。