1
+ package edu .hzuapps .androidlabs .homeworks .net1414080903109 ;
2
+
3
+ import android .os .Bundle ;
4
+ import android .os .Handler ;
5
+ import android .support .v7 .app .AppCompatActivity ;
6
+ import android .widget .TextView ;
7
+
8
+ import org .json .JSONArray ;
9
+ import org .json .JSONObject ;
10
+
11
+ import edu .hzuapps .androidlabs .R ;
12
+ import okhttp3 .OkHttpClient ;
13
+ import okhttp3 .Request ;
14
+ import okhttp3 .Response ;
15
+
16
+ /*抓取并解析json文件*/
17
+ public class Net1414080903109_ParseJsonActivity extends AppCompatActivity {
18
+ private String grade ;
19
+ private String name ;
20
+ private String number ;
21
+ private TextView GithubResponse ;
22
+ private Handler handler = null ;
23
+
24
+ @ Override
25
+ protected void onCreate (Bundle savedInstanceState ) {
26
+ super .onCreate (savedInstanceState );
27
+ setContentView (R .layout .activity_net1414080903110_analysis_json );
28
+ handler = new Handler ();
29
+ GithubResponse = (TextView ) findViewById (R .id .response_info );
30
+ sendRequest ();
31
+ }
32
+
33
+ private void sendRequest () {
34
+ new Thread (){
35
+ @ Override
36
+ public void run () {
37
+ try {
38
+ OkHttpClient client = new OkHttpClient ();
39
+ Request request = new Request .Builder ().url ("https://raw.githubusercontent.com/mamingjian/android-labs-2017/master/AndroidLabs/app/src/main/java/edu/hzuapps/androidlabs/homeworks/net1414080903109/mamingjian.json" ).build ();//目标地址
40
+ Response response = client .newCall (request ).execute ();
41
+ String responseData = response .body ().string ();
42
+ AnalysisJson (responseData );
43
+ } catch (Exception e ) {
44
+ e .printStackTrace ();
45
+ }
46
+ handler .post (runnableUi );
47
+ }
48
+ }.start ();
49
+ }
50
+
51
+ /*解析json文件*/
52
+ private void AnalysisJson (String jsonData ) {
53
+ try {
54
+ JSONArray jsonArray = new JSONArray (jsonData );
55
+ for (int i = 0 ; i < jsonArray .length (); i ++) {
56
+ JSONObject jsonObject = jsonArray .getJSONObject (i );
57
+ grade = jsonObject .getString ("grade" );
58
+ name = jsonObject .getString ("name" );
59
+ number = jsonObject .getString ("number" );
60
+ }
61
+ } catch (Exception e ) {
62
+ e .printStackTrace ();
63
+ }
64
+ }
65
+
66
+ /*更新UI*/
67
+ Runnable runnableUi = new Runnable () {
68
+ public void run () {
69
+ GithubResponse .setText ("班级: " + grade + "\n " + "\n " + "姓名: " + name + "\n " + "\n " + "学号: " + number + "\n " + "\n " );//显示解析结果
70
+ }
71
+ };
72
+ }
0 commit comments