android 获取服务器json数据
package com.embest.JsonTest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.util.Log;
public class JSONProvider {
public static String getJSONData(String url)
throws ClientProtocolException, IOException{
String result="";
HttpGet httpGet=new HttpGet(url);
HttpClient httpClient=new DefaultHttpClient();
HttpResponse httpResponse=null;
try {
httpResponse=httpClient.execute(httpGet);
HttpEntity httpEntity=httpResponse.getEntity();
if (httpEntity!=null) {
InputStream inputStream=httpEntity.getContent();
result=convertStreamToString(inputStream);
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
throw e;
} finally {
httpClient.getConnectionManager().shutdown();
httpResponse = null;
}
return result;
}
public static String convertStreamToString(InputStream is) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(is,"GB2312"),//防止模拟器上的乱码
512 * 1024);
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "/n");
}
} catch (IOException e) {
Log.e("DataProvier convertStreamToString", e.getLocalizedMessage(),
e);
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
}
main.xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/json"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""
/>
</LinearLayout>
fest.xml
加上这一句话
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
activity 文件
package com.embest.JsonTest;
import java.io.IOException;
import org.apache.http.client.ClientProtocolException;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class JsonActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView textView=(TextView)findViewById(R.id.json);
try {
String json=JSONProvider.getJSONData("http://192.168.2.68:80/webapp/getlistjson.asp");
textView.setText(json);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
更多相关文章
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- Android欢迎界面
- android 弹出日期选择框
- [Linux] 批量查看Android应用程序的文件名称;
- android清除缓存并获取大小
- 【Android】利用广播Broadcast接收SMS短信
- android DialogFragment底部弹出,自定义大小
- Android(安卓)studio 文件存储对象与恢复