ListViewJSON 工具類的功能與實現

2022-08-04 23:51:15 字數 2793 閱讀 6588

專案原始碼結構圖:

假設現在有乙個新的專案,同樣是解析json資料,並將其顯示到listview中。

那麼現在考慮一下如何在兩個專案之間進行移植。

那麼需要重新寫的就是1、bean 2、adapter 3、以及所有和獲取列表資料有關、將資料載入到listvie文中有關的類。

mainactivity中通過

獲取列表資料。

public newslist getnewslist() throws

newslist list = null

; string key = "newslist_";

if (isnetworkconnected() && !isreaddatacache(key))

catch

list =(newslist) readobject(key);

if (list == null

)

throw

e; }

} else

return

list;

}

使用的是apiclient.getnewslist()方法,注意的是apiclient的getnewslist是乙個類方法,具體如下:

public

static

throws

string newurl =urls.news_list;

try

catch

(exception e)

}

分析apiclient.getnewslist,可以看出它是先通過http_get獲取乙個字串:

//發生致命的異常,可能是協議不對或者返回的內容有問題

e.printstacktrace();

throw

} catch

(ioexception e)

catch

(interruptedexception e1)

continue

; }

//發生網路異常

throw

} finally

} while (time

responsebody = responsebody.replaceall("\\p", "");

return

responsebody;

}在通過stringutils.tojsonarray將其轉換為乙個json陣列:

public

static jsonarray tojsonarray(string json) throws

jsonexception

//if (json.lastindexof("]") == json.length())

}

return

newjsonarray(json);

}

最後通過newslist的parse將json資料放到newslist中。

public

static newslist parse(jsonarray obj) throws

ioexception,

newslist newslist = new

newslist();

if (null !=obj)

}return

newslist;}}

在這裡可以看一下,newslist和news的成員變數。

news的成員變數。

public

class news extends

base

else

holder.title.settext(list.get(position).gettitle());

holder.time.settext(list.get(position).getpublishtime());

string imgurl =list.get(position).getfirstpicurl();

if (imgurl.endswith("portrait.gif") ||stringutils.isempty(imgurl))

else

bmpmanager.loadbitmap(imgurl, holder.img);

}return

convertview;

}

以上。

工具類 HexUtil 工具類

hexutil 源 如下 十六進製制處理工具類 public class hexutil param hex 需要轉換的16進製制字串 return 以位元組陣列返回轉換後的結果 public static byte hexstringtobyte string hex return result ...

工具類 BcdUtil 工具類

bcdutil 源 如下所示 public class bcdutil return true 功能描述 對給定的資料進行bcd轉換,如果長度為奇數,則在最前端補零 param val 待轉換資料,需滿足canbebcd return 以位元組陣列的形式返回壓縮後的內容 public static ...

集合工具類和陣列工具類

集合的工具類 collections 筆試題 說出collection與collections的區別?1.collection是乙個單列集合的跟介面,collections是操作集合物件的乙個工具類 collections常見方法 1.對list進行排序 sort listlist sort lis...