基于Android平臺的校園信息查詢軟件
摘 要:
摘 要:隨著移動互聯網的發(fā)展,各學校都開始將校園信息進行移動平臺傳播,本文對如何在現有信息平臺的基礎上進行Android平臺軟件的開發(fā),既不影響現有信息平臺的使用,又能快捷和方便的實現提出了一種方案。
關鍵詞:
關鍵詞:Android 校園信息查詢 JSON
隨著移動互聯網技術的發(fā)展,,尤其是目前4G技術的推行,以及平板電腦、智能手機等移動設備在學生中廣泛流行,建立移動的校園網系統(tǒng)已經是各個高校都在積極運作的工作,而除了移動網絡的硬件建設,各類校園網應用APP也相應產生。在過去幾年的高校信息化建設過程中,各個院校都已經建立了大量的網絡信息平臺,比如校園網站、教務系統(tǒng)、學生管理、服務信息查詢系統(tǒng)等等。如何能對現有的系統(tǒng)進行移動客戶端的開發(fā),能在移動客戶端上使用原有系統(tǒng)的部分功能,并將校園中多個分散的信息系統(tǒng)集中在一個移動客戶端上完成應用,本文對此進行了一些研究和探索。
1 校園信息查詢系統(tǒng)的結構設計
本系統(tǒng)主要針對的用戶是學校老師和職工,故此在系統(tǒng)內容設計上主要采用了校內主要的幾個教職工信息查詢平臺,比如工作查詢、水電費查詢等。系統(tǒng)的設計主要包括兩個部分,服務器端和移動客戶端,服務器端采用ASP.net技術建立網站,使用ADO.net鏈接每個系統(tǒng)的數據庫,并建立查詢操作等web頁面。移動客戶端負責完成鏈接無線網絡,并根據查詢條件,將訪問的頁面數據綁定到控件上,完成移動客戶端的查詢、輸入等操作。系統(tǒng)的功能模塊將學,F有的部分信息系統(tǒng)進行了整合,包含有以下幾個模塊。
2 Android客戶端的系統(tǒng)實現
Android客戶端使用eclipse+Android SDK開發(fā)平臺,Java開發(fā)語言。用戶使用本機號碼和工資查詢密碼進行登錄。登陸后將用戶姓名和ID存入SharedPreferences類中,在今后的模塊中使用。
2.1 用戶使用數據流量模式訪問局域網內數據庫
很多信息查詢平臺,比如工資查詢等僅供局域網用戶使用,Android客戶端只能在局域網環(huán)境下使用wifi連接,查詢所需信息。為了讓用戶在數據流量狀態(tài)下實現訪問網數據,在設計時將服務器端程序放到了一臺在局域網環(huán)境中對外發(fā)布的web服務器上,通過服務器端ADO.net鏈接各個平臺的數據庫,并將數據處理結果以頁面的方式在互聯網上發(fā)布。移動客戶端通過讀取網頁頁面內容來獲取數據。同時,移動客戶端通過訪問web服務器內的頁面地址來提交數據處理請求,如圖所示。
2.2 用JSON字符串進行數據傳遞
在使用Android平臺上的UI控件進行數據綁定時,本系統(tǒng)采用JSON字符串來進行數據的傳遞。JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基于JavaScript的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣這些特性使JSON成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成。JSON 可以將 JavaScript 對象中表示的一組數據轉換為字符串,然后就可以在函數之間輕松地傳遞這個字符串。
在具體實現中,由ASP.net通過訪問數據庫輸出到頁面,并將查詢數據封裝成JSON字符串格式輸出,讓網頁內容以JSON字符串的形式顯示出來。比如查詢月工資頁面輸出一至三月份的工資總額字符串如下:
{“month”:1,“sum”:5000},{“month”:2,“sum”:4000},{“month”:3,“sum”:6000}
在Android端,將頁面以文本的方式讀入JSON字符串,返回一個字符串。
StringBuffersb=new StringBuffer();
String line=null;
BufferedReader buffer=null;
URL url=new URL(path);
HttpURLConnection conn=(HttpURLConnection)url.openConnection();
InputStreaminstr=conn.getInputStream();
buffer =new BufferedReader(new InputStreamReader(instr,"gb2312"));
while((line=buffer.readLine())!=null)
{
sb.append(line);
}
建立一個JSONArray對象,通過getJSONObject方法將字符串中每個數據值對取出,并實例化單個對象,將值對賦值將此頁面上的內容讀入到每個記錄的不同屬性上,將整個記錄集返回一個List對象。
List<month> persons = new ArrayList<month>();
JSONArray array = new JSONArray(str);
int length = array.length();
for(int i=0;i<length;i++){< p="">
JSONObject object = array.getJSONObject(i);
Month p=new Month();
p.setMonth(object.getString("month"));
p.setSum(object.getString("sum"));
persons.add(p);
}
return persons;
將List對象映射到HashMap,并將HashMap綁定到UI控件
persons = parseJSON(webstr);
System.out.println(persons);
for (Month person : persons) {
HashMap map1 = new HashMap();
map1.put("month", person.getMonth());
map1.put("sum", "實發(fā)合計:"+person.getSum());
maps.add(map1);
SimpleAdapter adapter = new SimpleAdapter(this,maps,R.layout.monthlistitem,
new String[]{"month","sum"},
newint[]{R.id.monthitem,R.id.monthsum});
list.setAdapter(adapter);
相對于使用XML作為數據,JSON字符串更容易閱讀,格式更容易控制。在進行Android客戶端與web頁面間傳遞數據時是一種非常優(yōu)秀的數據格式。同時因為它是一個純文本的字符串格式,可以通過各種網頁程序來實現,為系統(tǒng)的擴充提供了非常好的基礎。為系統(tǒng)的模塊化建立提供條件。
3 結語
本文介紹了校園內已有的信息系統(tǒng)的Android客戶端實現,為實現這種平臺提供一種快捷的解決方案,采用局域網內web服務器對外發(fā)布信息查詢網站,而后用JSON數據封裝格式讀取數據并綁定到UI界面控件上。只要能將現有信息系統(tǒng),無論以何種語言,發(fā)布在web服務器中,就可以實現在移動客戶端進行功能實現。
參考文獻:
[1]王曉禹,石麗.基于 JSON 實現 Android 智能終端與 Web 服務器“面向對象”的信息交換[J].數字技術與應用,2012(4):224-225.
[2]權重民,彭昕昀.利用 JSON 實現 Android 高效、安全訪 問遠程數據庫的一種方式[J].韶關學院學報,2011(12):16-20.
[3]謝文燾,董黎剛.基于 Android 的校園網移動客戶端設計與實現[J].杭州電子科技大學學報,2012(5).
[4]初雅莉,陳昌穩(wěn),崔召金,等.基于 Android 的智慧校園手機系統(tǒng)[J].微型機與應用,2013,32(15).
[5]Android 市場份額首次超過 80%.[OL].
(收稿日期:2014-11-15)
本文編號:14776
本文鏈接:http://sikaile.net/jiaoyulunwen/wangluojiaoyulunwen/14776.html