編輯:關於Android編程
在Android上解析XML文件可以采用SAX、DOM和Android的自帶的pull。其中pull最方便和推薦使用:
對於一個XML文件中的內容,要定制一個JAVA BEAN來接收,先看下.XML文件的內容:
liming 30zhangxiaoxiao 25
/** * 解析XML * @param xml * @return * @throws Exception */ public List測試方法:getPersons(InputStream xml)throws Exception{ List persons = null; Person person = null; XmlPullParser pullParser = Xml.newPullParser(); pullParser.setInput(xml,"UTF-8");//為pull解析器設置要解析的數據 int event = pullParser.getEventType(); while(event != XmlPullParser.END_DOCUMENT){ switch (event) { case XmlPullParser.START_DOCUMENT: persons = new ArrayList (); break; case XmlPullParser.START_TAG: if("person".equals(pullParser.getName())){ int id = new Integer(pullParser.getAttributeValue(0)); person = new Person(); person.setId(id); } if("name".equals(pullParser.getName())){ String name = pullParser.nextText(); person.setName(name); } if("age".equals(pullParser.getName())){ int age = new Integer(pullParser.nextText()); person.setAge(age); } break; case XmlPullParser.END_TAG: if("person".equals(pullParser.getName())){ persons.add(person); person = null; } break; } event = pullParser.next(); } return persons; }
public void testPerson()throws Exception{ InputStream xml = this.getClass().getClassLoader().getResourceAsStream("person.xml"); PersonService ps = new PersonService(); List再看下生成XML文件:persons = ps.getPersons(xml); for (Person person : persons) { Log.i(TAG,person.toString()); } }
/** * 保存 * @param persons * @param out * @throws Exception */ public void save(Listpersons,OutputStream out)throws Exception{ XmlSerializer serializer = Xml.newSerializer(); serializer.setOutput(out,"UTF-8"); serializer.startDocument("UTF-8", true); serializer.startTag(null, "persons"); for (Person person : persons) { serializer.startTag(null, "person"); serializer.attribute(null, "id", person.getId().toString()); serializer.startTag(null, "name"); serializer.text(person.getName()); serializer.endTag(null, "name"); serializer.startTag(null, "age"); serializer.text(person.getAge().toString()); serializer.endTag(null, "age"); serializer.endTag(null, "person"); } serializer.endTag(null, "persons"); serializer.endDocument(); out.flush(); out.close(); }
public void testSave()throws Exception{ PersonService ps = new PersonService(); Listpersons = new ArrayList (); persons.add(new Person(43,"zhangxx",80)); persons.add(new Person(12,"lili",20)); persons.add(new Person(15,"xiaoxiao",8)); File xmlFile = new File(getContext().getFilesDir(),"itcase.xml"); FileOutputStream outputStream = new FileOutputStream(xmlFile); ps.save(persons, outputStream); }
我們經常遇到一個需求,就是給別人使用我們工程的時候,為了能夠屏蔽代碼,把代碼封裝成jar包提供給第三方使用,但是這樣我們的資源文件怎麼給對方用呢? 網上有很多方法,有用C
寫在前面的話對於TextView,我想大家都已經熟的不能再熟了。但是它的用法我們真的熟麼?為了避免總是一言不合就去翻官方文檔,在這裡我總結一下我也可能是你容易忽視的一些細
Content Provider:一個組件,必須放在應用的主包或應用的子包之下;組件的配置需要在清單文件中進行配置;content provider需要在applicat
請尊重他人的勞動成果,轉載請注明出處: Android網絡編程之使用HttpClient批量上傳文件(二)AsyncTask+HttpClient並實現上傳進