package
com.example.testjsonandget;
import
java.io.BufferedReader;
import
java.io.InputStreamReader;
import
java.util.ArrayList;
import
java.util.HashMap;
import
java.util.List;
import
java.util.Map;
import
org.apache.http.HttpEntity;
import
org.apache.http.HttpResponse;
import
org.apache.http.HttpStatus;
import
org.apache.http.NameValuePair;
import
org.apache.http.client.HttpClient;
import
org.apache.http.client.entity.UrlEncodedFormEntity;
import
org.apache.http.client.methods.HttpGet;
import
org.apache.http.client.methods.HttpPost;
import
org.apache.http.client.params.HttpClientParams;
import
org.apache.http.impl.client.DefaultHttpClient;
import
org.apache.http.message.BasicNameValuePair;
import
org.apache.http.params.BasicHttpParams;
import
org.apache.http.params.HttpConnectionParams;
import
org.apache.http.params.HttpParams;
import
org.json.JSONArray;
import
org.json.JSONObject;
import
android.app.Activity;
import
android.os.Bundle;
public
class
MainActivity extends
Activity {
private
final
String uriString="your
url";
@Override
public
void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
JSONObject
jsonObject=this.getJSONObjectByGet();
try
{
String
apiString=jsonObject.getString("api");
String
countString=jsonObject.getString("count");
System.out.println("apiString="+apiString+",countString="+countString);
JSONArray
jsonArray=jsonObject.getJSONArray("data");
for
(int
i = 0;
i < jsonArray.length(); i++) {
JSONObject
everyJsonObject=jsonArray.getJSONObject(i);
String
category_id=everyJsonObject.getString("category_id");
String
category_name=everyJsonObject.getString("category_name");
String
category_rgb=everyJsonObject.getString("category_rgb");
String
category_news_count=everyJsonObject.getString("category_news_count");
System.out.println("category_id="+category_id+",category_name="+category_name+
",category_rgb="+category_rgb+",category_news_count="+category_news_count);
System.out.println("=====================================================");
}
} catch
(Exception e) {
e.printStackTrace();
}
}
public
HttpClient getHttpClient(){
HttpParams
mHttpParams=new
BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(mHttpParams, 20*1000);
HttpConnectionParams.setSoTimeout(mHttpParams, 20*1000);
HttpConnectionParams.setSocketBufferSize(mHttpParams, 8*1024);
HttpClientParams.setRedirecting(mHttpParams, true);
HttpClient
httpClient=new
DefaultHttpClient(mHttpParams);
return
httpClient;
}
public
JSONObject getJSONObjectByGet(){
JSONObject
resultJsonObject=null;
if
("".equals(uriString)||uriString==null)
{
return
null;
}
HttpClient
httpClient=this.getHttpClient();
StringBuilder
urlStringBuilder=new
StringBuilder(uriString);
StringBuilder
entityStringBuilder=new
StringBuilder();
HttpGet
httpGet=new
HttpGet(urlStringBuilder.toString());
BufferedReader
bufferedReader=null;
HttpResponse
httpResponse=null;
try
{
httpResponse=httpClient.execute(httpGet);
} catch
(Exception e) {
e.printStackTrace();
}
int
statusCode=httpResponse.getStatusLine().getStatusCode();
if
(statusCode==HttpStatus.SC_OK) {
HttpEntity
httpEntity=httpResponse.getEntity();
if
(httpEntity!=null)
{
try
{
bufferedReader=new
BufferedReader
(new
InputStreamReader(httpEntity.getContent(), "UTF-8"), 8*1024);
String
line=null;
while
((line=bufferedReader.readLine())!=null)
{
entityStringBuilder.append(line+"/n");
}
resultJsonObject=new
JSONObject(entityStringBuilder.toString());
} catch
(Exception e) {
e.printStackTrace();
}
}
}
return
resultJsonObject;
}
public
JSONObject save(String title, String timelength) throws
Exception{
Map<String,String>
paramsHashMap = new
HashMap<String, String>();
paramsHashMap.put("title",
title);
paramsHashMap.put("timelength",
timelength);
paramsHashMap.put("method", "save");
String
path = "your
url";
return
getJSONObjectByPost(path, paramsHashMap, "UTF-8");
}
public
JSONObject getJSONObjectByPost(String path,Map<String, String> paramsHashMap, String encoding) {
JSONObject
resultJsonObject = null;
List<NameValuePair>
nameValuePairArrayList = new
ArrayList<NameValuePair>();
if
(paramsHashMap != null
&& !paramsHashMap.isEmpty()) {
for
(Map.Entry<String, String> entry : paramsHashMap.entrySet()) {
nameValuePairArrayList.add(new
BasicNameValuePair(entry.getKey(), entry.getValue()));
}
}
UrlEncodedFormEntity
entity = null;
try
{
entity
= new
UrlEncodedFormEntity(nameValuePairArrayList, encoding);
HttpPost
httpPost = new
HttpPost(path);
httpPost.setEntity(entity);
HttpClient
httpClient = this.getHttpClient();
HttpResponse
httpResponse = httpClient.execute(httpPost);
if
(httpResponse.getStatusLine().getStatusCode() == 200)
{
HttpEntity
httpEntity = httpResponse.getEntity();
if
(httpEntity != null)
{
try
{
BufferedReader
bufferedReader = new
BufferedReader(
new
InputStreamReader(httpEntity.getContent(),"UTF-8"), 8
* 1024);
StringBuilder
entityStringBuilder = new
StringBuilder();
String
line = null;
while
((line = bufferedReader.readLine()) != null)
{
entityStringBuilder.append(line
+ "/n");
}
resultJsonObject
= new
JSONObject(entityStringBuilder.toString());
} catch
(Exception e) {
e.printStackTrace();
}
}
}
} catch
(Exception e) {
e.printStackTrace();
}
return
resultJsonObject;
}
}