999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JSON的Android校園助手研究與設計

2016-02-05 08:05:31李海平陳榮征李海文
電腦與電信 2016年10期
關鍵詞:校園

李海平 陳榮征 李海文

(廣東職業(yè)技術學院信息工程系,廣東 佛山 528041)

基于JSON的Android校園助手研究與設計

李海平 陳榮征 李海文

(廣東職業(yè)技術學院信息工程系,廣東 佛山 528041)

本文設計了一款Android校園助手軟件,客戶端采用Android Studio作為開發(fā)平臺,以JSON數(shù)據(jù)格式為載體。詳細闡述了JSON數(shù)據(jù)格式的使用,Gson在校園助手中數(shù)據(jù)JSON格式化及JSON數(shù)據(jù)對象化的應用,以及客戶端和服務端的交互,這些實現(xiàn)技術對開發(fā)相關項目具有現(xiàn)實的參考價值。

Android Studio;JSON;Gson;AsyncHttpClient;PHP

1 引言

隨著手機網絡的發(fā)展,開發(fā)針對學生服務的手機App的需求越來越強烈。本文設計的校園助手App得到廣東大學生科技創(chuàng)新培育專項資金支持,校園助手主要有以下功能:登錄、校園新聞瀏覽、就業(yè)、信息圈、課表、成績查詢等。本文重點介紹了JSON數(shù)據(jù)格式的使用,主要包括JSON基本語法、校園助手中數(shù)據(jù)JSON格式化、JSON數(shù)據(jù)對象化,以及校園助手客戶端和服務端的JSON數(shù)據(jù)交互。

2 JSON技術

2.1 選擇JSON原因

JSON即JavaScript Object Notation[1],是一種輕量級的數(shù)據(jù)格式,有意義的字符串,是由特定字符組成不同含義的數(shù)據(jù)格式。雖然它是輕量級的,但是其數(shù)據(jù)描述能力強大,不僅能夠表示常見的數(shù)據(jù)類型,如String,Boolean,Number,還可以表示數(shù)組以及一些復雜的對象。

JSON數(shù)據(jù)格式不像XML描述那樣有太多冗余的內容,用它作為網絡數(shù)據(jù)交互,能夠減少流量,加快網絡訪問速度,所以在本校園助手中選用JSON作為數(shù)據(jù)交互格式。

2.2 JSON語法

2.2.1 JSON值(value)標識

圖1 值(Value)標識

圖2 值(Value)標識示例

如圖1所示,值(Value)可以表示的類型為:字符(string)、數(shù)值(number)、對象(object)、數(shù)組(array)、布爾型(true,false),空(null);圖2所示是相應的示例。

2.2.2 JSON對象(object)標識

JSON對象(object)用大括號{}標識(如圖3所示),一個對象每一項用加雙引號的字符串作為key標識項名稱;中間加冒號標識取值;右邊是這個key所對應的值(value);項與項之間用逗號區(qū)分。一個學生及其家里聯(lián)系方式等基本信息可以用以下對象表示:

{

“Name”:“小明”,

“Age”:19,

“Num”:2014001,

“Interests”:[“跑步”,“健身”],

“HomeContact”:{

“HomeContactName”:“曉紅”,

“HomePhone”:“138**********”,

“HomeAddress”:“廣東省******”

}

}

圖3 對象(object)標識

2.2.3 JSON數(shù)組(array)標識

數(shù)組(array)用方括號[]標識數(shù)組(如圖4所示),一個學生Interests信息數(shù)組表示如下:

[“跑步”,“健身”]

圖4 數(shù)組(array)標識

3 校園助手中數(shù)據(jù)JSON格式化及JSON格式數(shù)據(jù)解析

3.1 Android Studio配置Gson庫環(huán)境

Gson是Google提供的用來進行數(shù)據(jù)JSON格式化和JSON數(shù)據(jù)解析的開源庫[2],從 http://code.google.com/p/google-gson/下載對應jar包,校園助手項目采用gson-2.2.4. jar。

在已經建好的校園助手項目中添加jar包:把下載好的gson-2.2.4.jar文件拷貝(Copy),粘貼(Past)到app/libs文件夾,之后Android Studio自動列出該文件。選擇app文件夾右鍵,選擇菜單項“Open Module Settings”,在彈出的對話框中選擇添加(+),再選擇File Dependency,在新彈出的對話框中選擇gson-2.2.4.jar文件,把gson-2.2.4.jar文件作為該project的依賴項,在app目錄下的一個文件build.gradle就自動添加gson-2.2.4.jar編譯選項。通過以上步驟配置好Gson環(huán)境就可以編寫相應的JSON程序代碼。

3.2 校園助手中數(shù)據(jù)JSON格式化

3.2.1 校園助手App中的類Student和HomeContact

要將一個數(shù)據(jù)對象轉為JSON格式化,在Android Studio校園助手項目中要先定義相應的類Student和HomeContact,如下所示:

public class Student{

String Name;

int Age;

int Num;

ArrayList

public Student(){

Interests=new ArrayList

}

HomeContact homeContact;

}

public class HomeContact{

String HomeContactName;

String HomePhone;

String HomeAddress;

}

3.2.2 校園助手App中數(shù)據(jù)對象轉化為JSON數(shù)據(jù)格式

Gson gson=new Gson();

Student student=new Student();

student.Name="小明";

student.Age=20;

student.Num=2014001;

student.Interests.add("籃球");

student.Interests.add("健身");

student.Interests.add("羽毛球");

HomeContact homeContact=new HomeContact();

homeContact.HomeAddress="廣東省**********";

homeContact.HomePhone="138*******";

homeContact.HomeContactName="曉紅";

student.homeContact=homeContact;

String strJSON=gson.toJson(student);

導入import com.google.gson.Gson包,初始化Student對象和HomeContact對象,產生Gson對象,調用其toJson方法,把student對象和HomeContact轉為JSON數(shù)據(jù)格式:{"Interests":["籃球","健身","羽毛球"],"Name":"小明","homeContact":{"HomeAddress":"廣東省**********","HomeContact-Name":" 曉 紅 ","HomePhone":"138*******"},"Age":20, "Num":2014001}。這個JSON字符串格式就可以作為數(shù)據(jù)發(fā)送到服務端。

3.2.3 JSON字符串轉化為Student對象

調用Gson中的fromJson方法把JSON數(shù)據(jù)格式轉為Student類,如圖5所示,其轉為Student類對象后HomeContact類對象也被自動創(chuàng)建出來(調試模式查看Student類)。Student student2=gson.fromJson(strJSON,Student.class);

4 校園助手客戶端與服務端交互

校園助手客戶端把數(shù)據(jù)JSON格式化,通過AsyncHttp-Client發(fā)送數(shù)據(jù)到服務端,服務端采用PHP把客戶端發(fā)送過來的JSON數(shù)據(jù)用json_decode解析[3],然后再對數(shù)據(jù)進行處理,如果需要服務端返回數(shù)據(jù),PHP服務端需調用json_encode對數(shù)據(jù)JSON格式化,返回給客戶端。以下是校園助手登錄功能相關代碼實現(xiàn)(如代碼塊1和代碼塊2)。

代碼塊1客戶端調用代碼塊2 PHP服務端響應AsyncHttpClient client=newAsyncHttpClient(); Map

5 結束語

校園助手項目成功地利用JSON數(shù)據(jù)格式搭建了Android客戶端和服務端數(shù)據(jù)交互框架,實現(xiàn)了以下基本功能:登錄、校園新聞瀏覽、就業(yè)、信息圈、課表、成績查詢等。還有不少功能由于時間緊還沒有來得及完善,但是有了這樣的JSON數(shù)據(jù)交互框架,對完善系統(tǒng)提供了質量保證。

[1]介紹JSON[EB/OL].http://www.json.org/json-zh.html.

[2]耿東久,索岳,陳渝,等.基于Android手機的遠程訪問和控制系統(tǒng)[J].計算機應用,2011,3 1(2):2 0-2 1.

[3]傳智播客高教產品研發(fā)部.Android移動應用基礎教程[M].北京:中國鐵道出版社,2014.

Research and Design of Android Campus Assistant Based on JSON

Li Haiping Chen Rongzheng Li Haiwen
(Guangdong Polytechnic,Foshan 528041,Guangdong)

This paper develops an Android campus assistant app,which uses Android Studio as the development platform,and uses JSON data format as the carrier.This paper elaborates on the usage of the JSON data format,the application of Gson in JSON formatting data and JSON data objectification,and the interaction between client and server.The realization of these technologies has practical reference value to the development of related project.

Android Studio;JSON;Gson;AsyncHttpClient;PHP

TP311.52

A

1008-6609(2016)10-0024-03

李海平(19 8 2-),男,江西寧都人,碩士,研究方向為移動應用開發(fā)、軟件技術。

2015廣東大學生科技創(chuàng)新培育專項,項目編號:p d j h 2016 b058 4;2016年度廣東職業(yè)技術學院教學改革項目,項目編號:J201608。

猜你喜歡
校園
Q爆校園
Q爆校園
Q爆校園
Q爆校園
Q爆校園
Q爆校園
Q爆校園
再見,我的校園
南方周末(2018-06-28)2018-06-28 08:11:04
校園的早晨
琴童(2017年3期)2017-04-05 14:49:04
春滿校園
主站蜘蛛池模板: 国产乱人乱偷精品视频a人人澡| 午夜a级毛片| 亚洲精品成人福利在线电影| 伊人查蕉在线观看国产精品| 国产精品视频白浆免费视频| 国产另类视频| 成年女人18毛片毛片免费| 国产91无码福利在线| 国产福利观看| 亚洲美女一级毛片| 97一区二区在线播放| 日本手机在线视频| 久久女人网| 国内精品九九久久久精品| 不卡视频国产| 九九热在线视频| 在线视频亚洲欧美| 欧美成人日韩| 欧美日韩免费| 91青草视频| 伊人查蕉在线观看国产精品| 欧美激情网址| 免费一级成人毛片| 制服丝袜国产精品| 亚洲欧美另类专区| 一级毛片中文字幕| 欧美中日韩在线| 欧美日本一区二区三区免费| 国精品91人妻无码一区二区三区| 日本尹人综合香蕉在线观看| 99热线精品大全在线观看| 亚洲欧美日韩成人在线| 国产精品原创不卡在线| 精品99在线观看| 亚洲欧美国产视频| 国产69精品久久久久妇女| 亚洲欧美激情小说另类| 狠狠色综合网| 国内自拍久第一页| 久久国产乱子| 亚洲综合九九| 久久中文电影| 国产亚洲男人的天堂在线观看| 国产中文一区二区苍井空| 国产成人1024精品下载| 成人综合在线观看| 欧美有码在线| 亚洲天堂久久| 亚洲欧美在线综合图区| 91精品国产自产91精品资源| 国产日韩欧美在线播放| 色欲不卡无码一区二区| 久久精品娱乐亚洲领先| 九色在线观看视频| 国产H片无码不卡在线视频 | AV在线天堂进入| 91午夜福利在线观看| 国产永久在线观看| 亚洲日韩精品伊甸| 欧美区一区| 亚洲人成人无码www| 青青青亚洲精品国产| 福利片91| 亚洲国产看片基地久久1024| av色爱 天堂网| 国产日本一线在线观看免费| 国产麻豆精品手机在线观看| 亚洲一区国色天香| 扒开粉嫩的小缝隙喷白浆视频| 欧美三級片黃色三級片黃色1| 欧美天堂久久| 一级全黄毛片| 小说 亚洲 无码 精品| 国产精品无码AV中文| 91无码人妻精品一区| 无码中字出轨中文人妻中文中| 亚洲精品色AV无码看| 九九热精品视频在线| 亚洲人人视频| 久久精品欧美一区二区| 伊人成人在线| 国内精自视频品线一二区|