android生成xml
『壹』 android studio自動生成的兩個xml有什麼區別
activity是顯示的content_main.xml裡面的,類似於including的。
你可以將content裡面的代碼粘到activity.xml裡面
『貳』 如何利用Android XmlSerializer生成XML文件
用到的主要是XmlSerializer,利用它來寫xml文件。
private static void XmlFileCreator(List<JokeBean> data){
File newxmlfile = new File(Environment.getExternalStorageDirectory()+"/new.xml");
try{
if(!newxmlfile.exists())
newxmlfile.createNewFile();
}catch(IOException e){
Log.e("IOException", "exception in createNewFile() method");
}
//we have to bind the new file with a FileOutputStream
FileOutputStream fileos = null;
try{
fileos = new FileOutputStream(newxmlfile);
}catch(FileNotFoundException e){
Log.e("FileNotFoundException", "can't create FileOutputStream");
}
//we create a XmlSerializer in order to write xml data
XmlSerializer serializer = Xml.newSerializer();
try {
//we set the FileOutputStream as output for the serializer, using UTF-8 encoding
serializer.setOutput(fileos, "UTF-8");
//Write <?xml declaration with encoding (if encoding not null) and standalone flag (if standalone not null)
serializer.startDocument(null, Boolean.valueOf(true));
//set indentation option
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
//start a tag called "root"
serializer.startTag(null, "jokes");
for(JokeBean joke:data){
serializer.startTag(null, "joke");
//i indent code just to have a view similar to xml-tree
serializer.startTag(null, "id");
serializer.text(joke.getId());
serializer.endTag(null, "id");
serializer.startTag(null, "title");
serializer.text(joke.getTitle());
//set an attribute called "attribute" with a "value" for <child2>
//serializer.attribute(null, "attribute", "value");
serializer.endTag(null, "title");
serializer.startTag(null, "text");
//write some text inside <text>
serializer.text(joke.getText());
serializer.endTag(null, "text");
serializer.endTag(null, "joke");
}
serializer.endTag(null, "jokes");
serializer.endDocument();
//write xml data into the FileOutputStream
serializer.flush();
//finally we close the file stream
fileos.close();
} catch (Exception e) {
Log.e("Exception","error occurred while creating xml file");
}
}
『叄』 請問如何在android 開發中創建一個新的XML文件呢
你可以把你的main。xml 復制並點擊layout文件夾 選擇 粘貼,會出現一個框,你在裡面把名字重新命名一下不要重復了就好。後綴為.xml。 接著把內容改為你想要的就好了啊 。這個是最簡單的方式。
還有就是點擊你想要建的目標文件夾,右鍵新建選擇xml
『肆』 如何利用Android XmlSerializer生成XML文件
解析xml文件的的文章很多,但是Android里生成xml文件的文章就很少了。偶然機會找到一篇相關發面的文章,就分享一下了:
用到的主要是XmlSerializer,利用它來寫xml文件。
private static void XmlFileCreator(List<JokeBean> data){
File newxmlfile = new File(Environment.getExternalStorageDirectory()+"/new.xml");
try{
if(!newxmlfile.exists())
newxmlfile.createNewFile();
}catch(IOException e){
Log.e("IOException", "exception in createNewFile() method");
}
//we have to bind the new file with a FileOutputStream
FileOutputStream fileos = null;
try{
fileos = new FileOutputStream(newxmlfile);
}catch(FileNotFoundException e){
Log.e("FileNotFoundException", "can't create FileOutputStream");
}
//we create a XmlSerializer in order to write xml data
XmlSerializer serializer = Xml.newSerializer();
try {
//we set the FileOutputStream as output for the serializer, using UTF-8 encoding
serializer.setOutput(fileos, "UTF-8");
//Write <?xml declaration with encoding (if encoding not null) and standalone flag (if standalone not null)
serializer.startDocument(null, Boolean.valueOf(true));
//set indentation option
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
//start a tag called "root"
serializer.startTag(null, "jokes");
for(JokeBean joke:data){
serializer.startTag(null, "joke");
//i indent code just to have a view similar to xml-tree
serializer.startTag(null, "id");
serializer.text(joke.getId());
serializer.endTag(null, "id");
serializer.startTag(null, "title");
serializer.text(joke.getTitle());
//set an attribute called "attribute" with a "value" for <child2>
//serializer.attribute(null, "attribute", "value");
serializer.endTag(null, "title");
serializer.startTag(null, "text");
//write some text inside <text>
serializer.text(joke.getText());
serializer.endTag(null, "text");
serializer.endTag(null, "joke");
}
serializer.endTag(null, "jokes");
serializer.endDocument();
//write xml data into the FileOutputStream
serializer.flush();
//finally we close the file stream
fileos.close();
} catch (Exception e) {
Log.e("Exception","error occurred while creating xml file");
}
}
『伍』 Android中使用xml序列化器生成xml文件的步驟
Android中 XML序列化,建議使用XStream來轉換,可以輕松將對象與XML相互轉換,XStream是開源框架。
『陸』 android 創建一個XML文件,如何在讀這個XML文件時,得到讀取的時間
回答:格式自定,按照程序編寫,回即得讀取時間。
方法步驟:如下
一、布局界面
二、寫一個xml文件
[java] view plain
三、寫一個和xml相對應的bean
[java] view plain
<span style="color:#000000;">[java] view plainprint?
package com.example.lession04_pull.domain;
四、寫一個Pul的服務類
[java] view plain
<span style="color:#000000;">[java] view plainprint?
package com.example.lession04_pull.service;
// 解析文件
xmlPullParser.setInput(is, "UTF-8");
//獲取解析的事件類型
int eventType=xmlPullParser.getEventType();
//判斷文件解析的是否完畢
while(eventType!=XmlPullParser.END_DOCUMENT){
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
persons=new ArrayList<Person>();
break;
//創建person對象
currentPerson=new Person();
currentPerson.setId(Integer.parseInt(xmlPullParser
.getAttributeValue(null, "id")));
}else if("name".equals(tagName)){
currentPerson.setName(xmlPullParser.nextText());
//把person對象放到集合中去
persons.add(currentPerson);
currentPerson=null;
// 寫入
public boolean write(List<Person> persons) {
// 採用pull解析進行實現
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
// 獲取sdcard目錄 文件對象
File sdCardDir = Environment.getExternalStorageDirectory();
// 創建文件
File file = new File(sdCardDir, "mycsdn.xml");
XmlSerializer serializer = Xml.newSerializer();
FileOutputStream fos = null;
try {
// 根據文件對象創建一個文件的輸出流對象
fos = new FileOutputStream(file);
// 設置輸出的流及編碼
serializer.setOutput(fos, "UTF-8");
// 設置文件的開始
serializer.startDocument("UTF-8", true);
// persons標簽開始
serializer.startTag(null, "persons");
for (Person person : persons) {
// person標簽的開始
serializer.startTag(null, "person");
// 設置person標簽的屬性
serializer.attribute("null", "id", person.getId() + "");
// 設置person標簽的子標簽 name
serializer.startTag(null, "name");
serializer.text(person.getName());
serializer.endTag(null, "name");
// 設置person標簽的子標簽的age
serializer.startTag(null, "age");
serializer.text(person.getAge() + "");
serializer.endTag(null, "age");
// person標簽的結束
serializer.endTag(null, "person");
}
// persons標簽的結束
serializer.endTag(null, "persons");
補充說明:
有些時候,我們需要生成一個XML文件,生成XML文件的方法有很多,如:可以只使用一個StringBuilder組拼XML內容,然後把內容寫入到文件中;或者使用DOM API生成XML文件,或者也可以使用pull解析器生成XML文件,這里推薦使用Pull解析器。
『柒』 Android studio下怎麼新建 Android Xml文件
如下圖所示,在res文件夾處右鍵單擊,選擇「new」,再選擇「Androidresource directory 」 :彈出對話框命名即可。
『捌』 如何利用Android XmlSerializer生成XML文件
給你個例子:
publicstaticfinalStringLAYOUT_FILE="layout.xml";
privateContextmContext;
privateWritermWriter;
;
publicvoidcreateLayoutXML(){
Stringpath=mContext.getFilesDir()+"/"+LAYOUT_FILE;
Filefile=newFile(path);
try{
if(!file.exists()){
file.createNewFile();
startLayoutOutput(newFileWriter(file));
}
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
privatevoidstartLayoutOutput(Writerwriter){
mWriter=writer;
mLayoutserializer=newSerializer(writer);
try{
mLayoutserializer.startDocument("utf-8",true);
mLayoutserializer.setFeature("
,true);
mLayoutserializer.startTag(null,XMLConfig.XML_ITEM_CONFIG);
//---tag
mLayoutserializer.startTag(null,XMLConfig.XML_ITEM_DEVICE);
mLayoutserializer.attribute(null,XMLConfig.XML_ATTR_NAME,Build.DEVICE);
mLayoutserializer.attribute(null,XMLConfig.XML_ATTR_FINGER,Build.FINGERPRINT);
mLayoutserializer.startTag(null,XMLConfig.XML_ITEM_SCREEN);
mLayoutserializer.attribute(null,XMLConfig.XML_ATTR_COUNTX,String.valueOf(CellLayout.COUNTX));
mLayoutserializer.attribute(null,XMLConfig.XML_ATTR_COUNTY,String.valueOf(CellLayout.COUNTY));
mLayoutserializer.attribute(null,XMLConfig.XML_ATTR_CELLGAP,String.valueOf(CellLayout.MAXGAP));
mLayoutserializer.endTag(null,XMLConfig.XML_ITEM_SCREEN);
mLayoutserializer.startTag(null,XMLConfig.XML_ITEM_ITEMS);
for(intindex=0;index<mItemList.size();index++){
mLayoutserializer.startTag(null,XMLConfig.XML_ITEM_COMPONENT);
mLayoutserializer.attribute(null,XMLConfig.XML_ATTR_ID,mItemList.get(index).getViewID());
mLayoutserializer.attribute(null,XMLConfig.XML_ATTR_NAME,mItemList.get(index).getItemName());
mLayoutserializer.attribute(null,XMLConfig.XML_ATTR_WIDTH,
String.valueOf(mItemList.get(index).getCountXY()[0]));
mLayoutserializer.attribute(null,XMLConfig.XML_ATTR_HEIGHT,
String.valueOf(mItemList.get(index).getCountXY()[1]));
mLayoutserializer.endTag(null,XMLConfig.XML_ITEM_COMPONENT);
}
mLayoutserializer.endTag(null,XMLConfig.XML_ITEM_ITEMS);
mLayoutserializer.endTag(null,XMLConfig.XML_ITEM_DEVICE);
//--tagend
mLayoutserializer.startTag(null,XMLConfig.XML_ITEM_PAGE);
mLayoutserializer.endTag(null,XMLConfig.XML_ITEM_PAGE);
mLayoutserializer.endTag(null,XMLConfig.XML_ITEM_CONFIG);
mLayoutserializer.endDocument();
mLayoutserializer.flush();
mWriter.flush();
mWriter.close();
}catch(IllegalArgumentExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IllegalStateExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
(Writerwriter){
try{
XmlPullParserFactorypf=XmlPullParserFactory.newInstance();
XmlSerializerserializer=pf.newSerializer();
serializer.setOutput(writer);
returnserializer;
}catch(Exceptione){
thrownewRuntimeException(e);
}
}
『玖』 Android新建 Activity 的時候為啥不能自動生成對應的 .xml 文件
是不是activity的名字取的一樣的?在你第一次創建的時候,AndroidManifest文件裡面已經給你生成了配置,你去把那裡面配置的activity刪除了就可以自動生成了。
『拾』 Android開發中總是生成*.out.xml問題
這個我也遇到了。其實很簡單,你在打開一個 XML 文件的時候直接點了「運行」按鈕就會這樣了。
解決的方法:把生成的*.out.xml文件刪除了之後,點「運行」按鈕的向下箭頭,選擇你要運行的程序就可以了。(也可以打開你的*.java源程序後點「運行」按鈕)