Skip to content

Commit 9739382

Browse files
authored
Merge pull request #495 from livehan/master
#6 #93 第六次作业
2 parents 6111f51 + 07ad635 commit 9739382

File tree

3 files changed

+113
-0
lines changed

3 files changed

+113
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"name":"李维韩","sex":"","clazz":"14网络1班","dormitory":"5#B503","age":"20"}]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
package edu.hzuapps.androidlabs.homeworks.net1412070501227;
2+
3+
import android.os.Handler;
4+
import android.os.Message;
5+
import android.support.v7.app.AppCompatActivity;
6+
import android.os.Bundle;
7+
import android.widget.TextView;
8+
9+
import org.json.JSONArray;
10+
import org.json.JSONException;
11+
import org.json.JSONObject;
12+
13+
import java.io.IOException;
14+
import java.io.InputStream;
15+
import java.net.HttpURLConnection;
16+
import java.net.MalformedURLException;
17+
import java.net.URL;
18+
import edu.hzuapps.androidlabs.R;
19+
public class Net1412070501227ShowJsonactivity extends AppCompatActivity {
20+
TextView tv;
21+
22+
Handler handler=new Handler(){
23+
@Override
24+
public void handleMessage(Message msg) {
25+
super.handleMessage(msg);
26+
String a= parseJson((String) msg.obj);
27+
tv.setText(a);
28+
}
29+
};
30+
31+
@Override
32+
protected void onCreate(Bundle savedInstanceState) {
33+
super.onCreate(savedInstanceState);
34+
setContentView(R.layout.activity_net1414080903133_show_json);
35+
tv= (TextView) findViewById(R.id.tv_json);
36+
new Thread(){
37+
@Override
38+
public void run() {
39+
super.run();
40+
String a=a("https://raw.githubusercontent.com/livehan/android-labs-2017/master/AndroidLabs/app/src/main/java/edu/hzuapps/androidlabs/homeworks/net1412070501227/1412070501227.json");
41+
Message msg=handler.obtainMessage();
42+
msg.obj=a;
43+
handler.sendMessage(msg);
44+
}
45+
}.start();
46+
}
47+
48+
public String a(String u) {
49+
try {
50+
URL url = new URL(u);
51+
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
52+
conn.setRequestMethod("GET");
53+
conn.setConnectTimeout(5000);
54+
InputStream is = conn.getInputStream();
55+
byte[] b = new byte[1024];
56+
StringBuilder sb = new StringBuilder();
57+
String a;
58+
int len;
59+
while ((len=is.read(b)) != -1) {
60+
a=new String(b,0,len);
61+
sb.append(a);
62+
}
63+
return sb.toString();
64+
} catch (MalformedURLException e) {
65+
e.printStackTrace();
66+
} catch (IOException e) {
67+
e.printStackTrace();
68+
}
69+
return "";
70+
}
71+
72+
public String parseJson(String data){
73+
StringBuilder sb=new StringBuilder();
74+
try {
75+
JSONArray jsonArray=new JSONArray(data);
76+
for (int i=0;i<jsonArray.length();i++){
77+
JSONObject object=jsonArray.getJSONObject(i);
78+
sb.append(object.getString("name"));
79+
sb.append("\n\n");
80+
sb.append(object.getString("clazz"));
81+
sb.append("\n\n");
82+
sb.append(object.getString("sex"));
83+
sb.append("\n\n");
84+
sb.append(object.getString("dormitory"));
85+
sb.append("\n\n");
86+
sb.append(object.getString("age"));
87+
}
88+
} catch (JSONException e) {
89+
e.printStackTrace();
90+
}
91+
return sb.toString();
92+
93+
94+
}
95+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools"
4+
android:id="@+id/activity_net1412070501227_showjson"
5+
android:layout_width="match_parent"
6+
android:layout_height="match_parent"
7+
android:paddingBottom="@dimen/activity_vertical_margin"
8+
android:paddingLeft="@dimen/activity_horizontal_margin"
9+
android:paddingRight="@dimen/activity_horizontal_margin"
10+
android:paddingTop="@dimen/activity_vertical_margin"
11+
tools:context="edu.hzuapps.androidlabs.homeworks.net1412070501227.Net1412070501227ShowJsonactivity">
12+
<TextView
13+
android:layout_width="match_parent"
14+
android:layout_height="match_parent"
15+
android:id="@+id/tv_json"/>
16+
17+
</RelativeLayout>

0 commit comments

Comments
 (0)