Ответ 1
Попробуйте создать или прочитать файл в android. Работа с файлами
и создать/прочитать XML файл, попробуйте Работа с XML
Если вам нужен какой-либо демонстрационный проект, связанный с xml, чем сообщите мне, я постараюсь дать вам
Ребята, у меня проблема с тем, что мой код дает исключение как разрешенное разрешение, когда мы пишем xml в android. может ли кто-нибудь сказать, что как он будет удален.
package com.ex.createXml;
import android.app.Activity;
import android.os.Bundle;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.xmlpull.v1.XmlSerializer;
import android.os.Environment;
import android.util.Log;
import android.util.Xml;
import android.widget.TextView;
public class createXml extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File newxmlfile = new File("/data/new.xml");
try{
newxmlfile.createNewFile();
}catch(IOException e)
{
Log.e("IOException", "Exception in create new File(");
}
FileOutputStream fileos = null;
try{
fileos = new FileOutputStream(newxmlfile);
}catch(FileNotFoundException e)
{
Log.e("FileNotFoundException",e.toString());
}
XmlSerializer serializer = Xml.newSerializer();
try{
serializer.setOutput(fileos, "UTF-8");
serializer.startDocument(null, Boolean.valueOf(true));
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
serializer.startTag(null, "root");
serializer.startTag(null, "Child1");
serializer.endTag(null, "Child1");
serializer.startTag(null, "Child2");
serializer.attribute(null, "attribute", "value");
serializer.endTag(null, "Child2");
serializer.startTag(null, "Child3");
serializer.text("Some text inside child 3");
serializer.endTag(null,"Child3");
serializer.endTag(null,"root");
serializer.endDocument();
serializer.flush();
fileos.close();
//TextView tv = (TextView)findViewById(R.);
}catch(Exception e)
{
Log.e("Exception","Exception occured in wroting");
}
}
}
Попробуйте создать или прочитать файл в android. Работа с файлами
и создать/прочитать XML файл, попробуйте Работа с XML
Если вам нужен какой-либо демонстрационный проект, связанный с xml, чем сообщите мне, я постараюсь дать вам
File newxmlfile = new File("C:/new.xml");
Вы пытаетесь создать свой файл на диске C. Android - это система на основе Linux, поэтому там нет дисков. Устройства хранения могут быть установлены на корневую ( "/" ) или любую другую папку.
Для вашего приложения доступна папка /data/<pakcage-name>
. Попробуйте написать там. Кроме того, вы можете попытаться написать внешнее хранилище, но для вашей прогрмы потребуется разрешение на это:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Это должно быть указано в вашем файле манифеста.
Подробнее здесь.
Кажется, что вы пытаетесь создать файл по адресу c:/, который не является допустимым идентификатором пути в системе Android. Android поставляется из среды Linux.
http://developer.android.com/guide/topics/data/data-storage.html перейдите по этой ссылке, чтобы узнать больше о хранилище данных на android
Если вы хотите создать файл на своем локальном ПК, вам сначала нужно создать его на своем устройстве Android, а затем вытащить его с устройства (либо эмулятора, либо вашего реального телефона).
Вам не разрешено писать в это место.
File newxmlfile = new File("/data/new.xml");
Вы можете сохранить его в внутреннем хранилище или кеше.
Из-за модели безопасности Android вы не можете написать /data/new.xml
. Это попытка права на корневую файловую систему, поэтому вы получаете отказ в доступе. Попробуйте это без косой черты.
FileOutputStream fos = openFileOutput("new.xml", MODE_PRIVATE);
fos.write(...);
Это должно относиться к вашему приложению.
Вы добавили для этого необходимые разрешения?
http://developer.android.com/reference/android/Manifest.permission.html
Вы можете использовать это:
File xmlDir = new File(Environment.getExternalStorageDirectory().getPath() + "/data/new.xml");