Commit a7ab6b18f0491e770ddcdd99d7820c9a6c9be5d7
1 parent
e12cc46b80
UI modified, read html string to results
Showing 5 changed files with 150 additions and 53 deletions
.idea/misc.xml
View file @
a7ab6b1
... | ... | @@ -37,7 +37,7 @@ |
37 | 37 | <ConfirmationsSetting value="0" id="Add" /> |
38 | 38 | <ConfirmationsSetting value="0" id="Remove" /> |
39 | 39 | </component> |
40 | - <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK"> | |
40 | + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK"> | |
41 | 41 | <output url="file://$PROJECT_DIR$/build/classes" /> |
42 | 42 | </component> |
43 | 43 | <component name="ProjectType"> |
app/src/main/AndroidManifest.xml
View file @
a7ab6b1
... | ... | @@ -2,6 +2,11 @@ |
2 | 2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
3 | 3 | package="com.example.junsang.simsimi" > |
4 | 4 | |
5 | + <uses-sdk | |
6 | + android:minSdkVersion="8" | |
7 | + android:targetSdkVersion="17" /> | |
8 | + <uses-permission android:name="android.permission.INTERNET"/> | |
9 | + | |
5 | 10 | <application |
6 | 11 | android:allowBackup="true" |
7 | 12 | android:icon="@mipmap/ic_launcher" |
app/src/main/java/com/example/junsang/simsimi/MainActivity.java
View file @
a7ab6b1
1 | 1 | package com.example.junsang.simsimi; |
2 | 2 | |
3 | +import android.os.AsyncTask; | |
4 | +import android.support.v7.app.ActionBarActivity; | |
3 | 5 | import android.os.Bundle; |
4 | -import android.support.design.widget.FloatingActionButton; | |
5 | -import android.support.design.widget.Snackbar; | |
6 | -import android.support.v7.app.AppCompatActivity; | |
7 | -import android.support.v7.widget.Toolbar; | |
8 | -import android.view.View; | |
9 | 6 | import android.view.Menu; |
10 | 7 | import android.view.MenuItem; |
8 | +import android.widget.TextView; | |
11 | 9 | |
12 | -public class MainActivity extends AppCompatActivity { | |
10 | +import org.json.JSONArray; | |
11 | +import org.json.JSONException; | |
13 | 12 | |
13 | +import java.io.BufferedReader; | |
14 | +import java.io.IOException; | |
15 | +import java.io.InputStream; | |
16 | +import java.io.InputStreamReader; | |
17 | +import java.net.HttpURLConnection; | |
18 | +import java.net.URL; | |
19 | + | |
20 | + | |
21 | +public class MainActivity extends ActionBarActivity { | |
22 | + | |
23 | + private static final String URL = "http://aqicn.org/city/seoul"; | |
24 | + String results; | |
25 | + TextView pm_tv; | |
26 | + | |
14 | 27 | @Override |
15 | 28 | protected void onCreate(Bundle savedInstanceState) { |
16 | 29 | super.onCreate(savedInstanceState); |
17 | 30 | setContentView(R.layout.activity_main); |
18 | - Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); | |
19 | - setSupportActionBar(toolbar); | |
20 | 31 | |
21 | - FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); | |
22 | - fab.setOnClickListener(new View.OnClickListener() { | |
23 | - @Override | |
24 | - public void onClick(View view) { | |
25 | - Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) | |
26 | - .setAction("Action", null).show(); | |
27 | - } | |
28 | - }); | |
32 | + pm_tv = (TextView) findViewById(R.id.pm_tv); | |
33 | + | |
34 | + new DownloadPageTask().execute(URL); | |
29 | 35 | } |
30 | 36 | |
31 | 37 | @Override |
32 | 38 | public boolean onCreateOptionsMenu(Menu menu) { |
33 | - // Inflate the menu; this adds items to the action bar if it is present. | |
34 | 39 | getMenuInflater().inflate(R.menu.menu_main, menu); |
35 | 40 | return true; |
36 | 41 | } |
37 | 42 | |
38 | 43 | @Override |
39 | 44 | public boolean onOptionsItemSelected(MenuItem item) { |
40 | - // Handle action bar item clicks here. The action bar will | |
41 | - // automatically handle clicks on the Home/Up button, so long | |
42 | - // as you specify a parent activity in AndroidManifest.xml. | |
43 | 45 | int id = item.getItemId(); |
44 | 46 | |
45 | - //noinspection SimplifiableIfStatement | |
46 | 47 | if (id == R.id.action_settings) { |
47 | 48 | return true; |
48 | 49 | } |
49 | 50 | |
50 | 51 | return super.onOptionsItemSelected(item); |
52 | + } | |
53 | + | |
54 | + private class DownloadPageTask extends AsyncTask<String, Void, String> { | |
55 | + @Override | |
56 | + protected String doInBackground(String... urls) { | |
57 | + try { | |
58 | + return getHtmlFromHttp(urls[0]); | |
59 | + } catch (IOException e) { | |
60 | + return "Unable to retrieve web page."; | |
61 | + } | |
62 | + } | |
63 | + | |
64 | + @Override | |
65 | + protected void onPostExecute(String result) { | |
66 | + results = result; | |
67 | + | |
68 | + // ์ง๊ธ result : html | |
69 | + // parsing -> JsonArray | |
70 | + String jsonStr = "hi"; | |
71 | + try { | |
72 | + JSONArray a = new JSONArray(jsonStr); | |
73 | + } catch (JSONException e) { | |
74 | + e.printStackTrace(); | |
75 | + } | |
76 | + | |
77 | + pm_tv.setText("๊ฒฐ๊ณผ๊ฐ"); | |
78 | + } | |
79 | + } | |
80 | + | |
81 | + private String getHtmlFromHttp(String myUrl) throws IOException { | |
82 | + InputStream is = null; | |
83 | + String str = ""; | |
84 | + | |
85 | + try { | |
86 | + URL url = new URL(myUrl); | |
87 | + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); | |
88 | + conn.setReadTimeout(10000); | |
89 | + conn.setConnectTimeout(10000); | |
90 | + conn.setRequestMethod("GET"); | |
91 | + conn.setDoInput(true); | |
92 | + | |
93 | + conn.connect(); | |
94 | + int resCode = conn.getResponseCode(); | |
95 | + | |
96 | + if (resCode == HttpURLConnection.HTTP_OK) { | |
97 | + StringBuffer sb = new StringBuffer(); | |
98 | + | |
99 | + is = conn.getInputStream(); | |
100 | + BufferedReader br = new BufferedReader(new InputStreamReader(is)); | |
101 | + String line; | |
102 | + while ((line = br.readLine()) != null) { | |
103 | + sb.append(line); | |
104 | + } | |
105 | + str = sb.toString(); | |
106 | + | |
107 | + | |
108 | + } else { | |
109 | + conn.disconnect(); | |
110 | + } | |
111 | + } finally { | |
112 | + if (is != null) { | |
113 | + is.close(); | |
114 | + } | |
115 | + } | |
116 | + | |
117 | + return str; | |
51 | 118 | } |
52 | 119 | } |
app/src/main/res/layout/activity_main.xml
View file @
a7ab6b1
1 | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | -<android.support.design.widget.CoordinatorLayout | |
3 | - xmlns:android="http://schemas.android.com/apk/res/android" | |
4 | - xmlns:app="http://schemas.android.com/apk/res-auto" | |
5 | - xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" | |
6 | - android:layout_height="match_parent" android:fitsSystemWindows="true" | |
2 | +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + xmlns:tools="http://schemas.android.com/tools" | |
4 | + xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" | |
5 | + android:layout_height="match_parent" | |
7 | 6 | tools:context=".MainActivity"> |
8 | 7 | |
9 | - <android.support.design.widget.AppBarLayout android:layout_height="wrap_content" | |
10 | - android:layout_width="match_parent" android:theme="@style/AppTheme.AppBarOverlay"> | |
8 | + <ScrollView | |
9 | + android:layout_width="match_parent" | |
10 | + android:layout_height="match_parent" | |
11 | + android:orientation="vertical"> | |
11 | 12 | |
12 | - <android.support.v7.widget.Toolbar android:id="@+id/toolbar" | |
13 | - android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" | |
14 | - android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> | |
13 | + <LinearLayout | |
14 | + android:orientation="horizontal" | |
15 | + android:layout_width="match_parent" | |
16 | + android:layout_height="match_parent"> | |
15 | 17 | |
16 | - </android.support.design.widget.AppBarLayout> | |
18 | + <ImageView | |
19 | + android:layout_height="160dp" | |
20 | + android:layout_width="160dp" | |
21 | + android:background="@drawable/image1"/> | |
17 | 22 | |
18 | - <include layout="@layout/content_main" /> | |
23 | + <TextView | |
24 | + android:id="@+id/pm_tv" | |
25 | + android:layout_gravity="right" | |
26 | + android:gravity="right" | |
27 | + android:layout_width="match_parent" | |
28 | + android:layout_height="wrap_content" | |
29 | + android:background="@drawable/chat" | |
30 | + android:textSize="20sp" /> | |
19 | 31 | |
20 | - <android.support.design.widget.FloatingActionButton android:id="@+id/fab" | |
21 | - android:layout_width="wrap_content" android:layout_height="wrap_content" | |
22 | - android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" | |
23 | - android:src="@android:drawable/ic_dialog_email" /> | |
24 | 32 | |
25 | -</android.support.design.widget.CoordinatorLayout> | |
33 | + | |
34 | + | |
35 | + </LinearLayout> | |
36 | + | |
37 | + </ScrollView> | |
38 | + | |
39 | + | |
40 | +</LinearLayout> |
app/src/main/res/layout/content_main.xml
View file @
a7ab6b1
... | ... | @@ -9,18 +9,28 @@ |
9 | 9 | app:layout_behavior="@string/appbar_scrolling_view_behavior" |
10 | 10 | tools:showIn="@layout/activity_main" tools:context=".MainActivity"> |
11 | 11 | |
12 | - <ImageView | |
13 | - android:layout_height="160dp" | |
14 | - android:layout_width="160dp" | |
15 | - android:background="@drawable/image1"/> | |
12 | + <ScrollView | |
13 | + android:id="@+id/scrollView1" | |
14 | + android:layout_width="match_parent" | |
15 | + android:layout_height="match_parent" | |
16 | + android:orientation="vertical"> | |
16 | 17 | |
17 | - <TextView | |
18 | - android:layout_alignParentRight="true" | |
19 | - android:layout_width="wrap_content" | |
20 | - android:layout_height="wrap_content" | |
21 | - android:text="hellowl" | |
22 | - android:id="@+id/ChatMessage" | |
23 | - android:background="@drawable/chat" | |
24 | - android:textSize="20sp" /> | |
18 | + <ImageView | |
19 | + android:layout_height="160dp" | |
20 | + android:layout_width="160dp" | |
21 | + android:background="@drawable/image1"/> | |
22 | + | |
23 | + <TextView | |
24 | + android:id="@+id/webpage_src" | |
25 | + android:layout_gravity="right" | |
26 | + android:gravity="right" | |
27 | + android:layout_width="match_parent" | |
28 | + android:layout_height="wrap_content" | |
29 | + android:background="@drawable/chat" | |
30 | + android:textSize="20sp" /> | |
31 | + | |
32 | + </ScrollView> | |
33 | + | |
34 | + | |
25 | 35 | </LinearLayout> |