android获得json数据并处理
2018-07-20 来源:open-open
android获得json数据并处理:
//JsonActivity.java package cn.outofmemory.android; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.net.URI; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.CoreProtocolPNames; import org.json.JSONArray; import org.json.JSONObject; import org.json.JSONStringer; import android.app.Activity; import android.os.Bundle; import android.os.Message; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; public class JsonActivity extends Activity { Button button,buttonClear; TextView textView; String page; String str=""; String url = "http://192.168.1.118/androidjsontest/index.php"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button) findViewById(R.id.btnFetch); buttonClear = (Button) findViewById(R.id.btnClear); textView = (TextView) findViewById(R.id.txtView); button.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { examineJSONFile(); } }); buttonClear.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { textView.setText(""); } }); } public String executeHttpGet(String URL) throws Exception { //This method for HttpConnection BufferedReader bufferedReader = null; try { HttpClient client = new DefaultHttpClient(); client.getParams().setParameter(CoreProtocolPNames.USER_AGENT, "android"); HttpGet request = new HttpGet(); request.setHeader("Content-Type", "text/plain; charset=utf-8"); request.setURI(new URI(URL)); HttpResponse response = client.execute(request); bufferedReader = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); StringBuffer stringBuffer = new StringBuffer(""); String line = ""; String NL = System.getProperty("line.separator"); while ((line = bufferedReader.readLine()) != null) { stringBuffer.append(line + NL); System.out.print(stringBuffer); } bufferedReader.close(); page = stringBuffer.toString(); System.out.println(page+"page"); return page; } finally { if (bufferedReader != null) { try { bufferedReader.close(); } catch (IOException e) { Log.d("BBB", e.toString()); } } } } void examineJSONFile() { try { String Value="" ; String str = ""; page = executeHttpGet(url); Log.i("hello", str.toString()); JSONObject object=new JSONObject(page); str=str+object.names().toString(); String sub1=str.substring(2, str.length()-2); String[] names=sub1.split("\",\""); for (int i=0;i<names.length;i++) { Value=Value+names[i] +":"+object.get(names[i])+"\n"; System.out.println(names[i]); } /* String sub=str.substring(1, str.length()-1); String[] names=sub.split(","); String[] keyValue=new String[names.length]; for (int i=0;i<names.length;i++) { names[i]=names[i].replace("\"",""); Value=Value+names[i] +":"+object.get(names[i])+"\n"; //keyValue[i]=names[i] +":"+object.get(names[i])+"\n"; System.out.println(names[i]); }*/ textView.setText(Value); /*for(int i=0;i<keyValue.length;i++){ textView.setText(keyValue[i]); }*/ Log.i("hello", str.toString()); } catch (Exception je) { textView.setText("Error w/file: " + je.getMessage()); } } }
main.xml代码:
//================== <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="#acd654" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:text="Fetch_Data" android:id="@+id/btnFetch" android:layout_width="match_parent" android:layout_height="wrap_content"></Button> <Button android:text="Clear_Screen" android:id="@+id/btnClear" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> <TextView android:text="" android:gravity="center" android:textColor="#000a44" android:id="@+id/txtView" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </LinearLayout>
android menifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.outofmemory.android" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".JsonActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.INTERNET"/> </manifest>
标签: 代码
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:iOS实现连拍功能
最新资讯
热门推荐