第一步: 客戶端發送請求資訊

public String appurl="http://www.xxx.com";//網站位址
/**
* 數據獲取公共函數
* @param methodAndValues //url方法名
* @return
*/
public JSONArray disdata(String methodAndValues){



String result="";
try{
HttpClient httpclient = new DefaultHttpClient(); //創建一個http客戶對象
HttpPost httppost = new HttpPost(appurl+methodAndValues); //設置提交方式為post並設置請求路徑
HttpResponse response = httpclient.execute(httppost);//獲得http客戶對象返回的資訊
HttpEntity entity = response.getEntity(); //獲得請求回來的實體對象
InputStream is = entity.getContent(); //把實體對象轉換成流
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"),8);//設置流的讀取方式

 

//這裡程式就進行第二步操作



StringBuilder sb = new StringBuilder();
String line = null;
int index=0;
//把流上的資訊加入到stringbuilder
while ((line = reader.readLine()) != null) {
sb.append(line+"\n");
index+=1;
}

 

is.close();
result=sb.toString();
JSONArray jArray = new JSONArray(result); //把字串轉換成jsonarray格式
return jArray;
}catch(Exception e){

 

}
return null;
}



第二步:服務端接受客戶端請求資訊做出處理
/**
* 獲得數據集
* @return
*/
public String loadDataByValue(){
this.resultMessage=androidSer.loadDataByString(value != null && !value.equals("") ? value : "");//結果集
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
result(response);
return SUCCESS;
}



/**
* 處理數據集,並返回數據集資訊
* @param response
*/
private void result(HttpServletResponse response){
try{
SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/yyyy");
PrintWriter out = response.getWriter();
JSONArray array=new JSONArray();
for(int i=0;i<resultMessage.size();i++){
JSONObject obj=new JSONObject();//json對象
BooksWithBLOBs b=(BooksWithBLOBs) resultMessage.get(i); //自定義實體類類
obj.put("b_id", b.getbId());
array.put(obj);
}
out.write(array.toString());//輸出結果資訊到網頁
out.flush();
out.close();
}catch(Exception e){
System.out.println(e.toString());
}
}

 

第三步:客戶端接受服務端返回的資訊,做出處理

 

/**
* 處理JSONArray內的數據
* @param jArray
* @param context
* @param address
* @param from //服務器map內的欄位名稱如:<"b_type","xxxxxx">
* @param to
* @return
*/
public Object[] booksinfo(JSONArray jArray,String[] from){
Object[] obj=new Object[3];
//開始循環json內的數據組合
try{
for(int i=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i); //解析jsonarray內的數據資訊
Map<String, Object> map=new HashMap<String, Object>();

 

for(int j=0;j<from.length;j++){
if(from[j]=="b_type"){
if(json_data.getString("b_type").equals("0")){
//相應操作
}
}
}
}
}catch(Exception e){
System.out.println(e.toString());
}
return obj;
}
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()