編輯:關於Android編程
解析以下的一個XML:
77f265bb46de068e78f35afbadec62af 3 0 1195224593 3436952795 5xtaJR 3436952795 0 0 5xtaJR 馬艷麗 http://tp2.sinaimg.cn/1195224593/50/5614100014/0 1 0 13 2 11 25 00000 0 婚禮在北海美麗的北海公園舉行…好美好浪漫的地方… http://ss12.sinaimg.cn/wap240/473dae11494344debfc5b 彩信
public static Object[] getMBlogList(String content) throws HttpException {
try {
Object[] result = new Object[3];
List lst = new ArrayList();
result[1] = lst;
final XmlPullParser parser = Xml.newPullParser();
parser.setInput(new StringReader(content));
int type;
while ((type = parser.next()) != XmlPullParser.END_DOCUMENT) {
switch (type) {
case XmlPullParser.START_TAG:這裡開始讀取最外層的標簽屬性
if (parser.getName().equals(count)) {
try {
result[0] = new Integer(parseText(parser));
} catch (Exception e) {
result[0] = 0;
}
} else if (parser.getName().equals(mblog)) {
MBlog mb = parseMBlog(parser);
if (mb != null)
lst.add(mb);
} else if (parser.getName().equals(relation)) {
result[2] = new Integer(parseText(parser));
}
break;
default:
break;
}
}
return result;
} catch (NumberFormatException e) {
throw new HttpException(e);
} catch (XmlPullParserException e) {
throw new HttpException(e);
} catch (IOException e) {
throw new HttpException(e);
} catch (ParseException e) {
throw new HttpException(e);
}
}
private static String parseText(XmlPullParser parser) throws ParseException {
try {
int type = parser.next();
if (type == XmlPullParser.TEXT) {
return replaceEntityRef(parser.getText().trim());
} else {
return ;
}
} catch (Exception e) {
throw new ParseException(PARSE_ERROR, e);
}
}
public static MBlog parseMBlog(XmlPullParser parser) throws ParseException {
MBlog b = new MBlog();//這裡開始讀取每個MBlog對象
try {
int type;
LOOP: {
while ((type = parser.next()) != XmlPullParser.END_DOCUMENT) {
switch (type) {
case XmlPullParser.START_TAG:
if (parser.getName().equals(uid)) {
b.uid = parseText(parser);
if (b.uid.equals())
return null;
} else if (parser.getName().equals(favid)) {
b.favid = parseText(parser);
} else if (parser.getName().equals(mblogid)) {
b.mblogid = parseText(parser);
} else if (parser.getName().equals(nick)) {
String s = parseText(parser);
b.nick = s;
} else if (parser.getName().equals(portrait)) {
b.portrait = parseText(parser);
} else if (parser.getName().equals(vip)) {
b.vip = (parseText(parser).equals(1)) ? true : false;
} else if (parser.getName().equals(content)) {
b.content = parseText(parser);
} else if (parser.getName().equals(rtrootuid)) {
b.rtrootuid = parseText(parser);
} else if (parser.getName().equals(rtrootid)) {
b.rtrootid = parseText(parser);
} else if (parser.getName().equals(rtrootnick)) {
String s = parseText(parser);
b.rtrootnick = s;
} else if (parser.getName().equals(rtrootvip)) {
b.rtrootvip = (parseText(parser).equals(1)) ? true : false;
} else if (parser.getName().equals(rtreason)) {
b.rtreason = parseText(parser);
} else if (parser.getName().equals(rtnum)) {
b.rtnum = Integer.parseInt(parseText(parser));
} else if (parser.getName().equals(commentnum)) {
b.commentnum = Integer.parseInt(parseText(parser));
} else if (parser.getName().equals(time)) {
b.time = new Date(Long.parseLong(parseText(parser)) * 1000);
} else if (parser.getName().equals(pic)) {
b.pic = parseText(parser);
} else if (parser.getName().equals(source)) {
b.src = parseText(parser);
} else if (parser.getName().equals(longitude)) {
b.longitude = parseText(parser);
} else if (parser.getName().equals(latitude)) {
b.latitude = parseText(parser);
}
break;
case XmlPullParser.END_TAG:
if (parser.getName().equals(mblog)) {
break LOOP;
}
break;
default:
break;
}
}
}
return b;
} catch (Exception e) {
throw new ParseException(PARSE_ERROR, e);
}
}
public void parseAssertData() {
InputStream is = null;
try {
is = this.getAssets().open(11.xml, Context.MODE_PRIVATE);
int length = is.available();
byte[] buffer = new byte[length];
is.read(buffer);
String temp = new String(buffer);
try {
Object[] array = ParseData.getMBlogList(temp);
} catch (HttpException e) {
e.printStackTrace();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
安卓模仿2048小游戲
話不多說,直接開撸!剛開始進入Splash界面:1.SplashActivity.java(兩秒後進入開始界面,Splash界面的布局只有一個圖片,在博客後,會展示給大家
Android自定義View——仿滴滴出行十大司機評選活動說明
仿滴滴出行十大司機評選活動說明前言:最近在使用滴滴出行的時候發現了一個有意思的View界面,看到心動的View就會想著動手去畫一遍,本篇只是大概的模仿一下自定義的View
Android頂部粘至視圖詳解
不知從某某時間開始,這種效果開始在UI設計中流行起來了,讓我們先來看看效果:大家在支付寶、美團等很多App中都有使用,要實現這個效果,我們可以來分析下思路:我們肯定要用2
關於ListView的總結
關於ListView網上也有許多的介紹,我選了一些結合到了一起,僅供參考。在android開發中ListView是比較常用的組件官方API地址:http://www.an