package com.example.junsang.simsimi; import android.os.AsyncTask; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; import org.json.JSONArray; import org.json.JSONException; //import org.w3c.dom.Document; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.Iterator; public class MainActivity extends ActionBarActivity { private static final String URL = "http://aqicn.org/city/seoul"; String results; TextView pm_tv; // public String parse_pm(String str){ String parse_1 = str.split("")[1]; String parse_2 = parse_1.split("")[0]; return parse_2; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pm_tv = (TextView) findViewById(R.id.pm_tv); new DownloadPageTask().execute(URL); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } private class DownloadPageTask extends AsyncTask { @Override protected String doInBackground(String... urls) { try { return getHtmlFromHttp(urls[0]); } catch (IOException e) { return "Unable to retrieve web page."; } } @Override protected void onPostExecute(String result) { results = result; // 지금 result : html // parsing -> JsonArray String jsonStr = "hi"; try { JSONArray a = new JSONArray(jsonStr); } catch (JSONException e) { e.printStackTrace(); } jsonStr = parse_pm(result); /* Document doc = Jsoup.parse(result); Elements rows = doc.select("td.line-content "); for (Element row : rows) { Iterator iterElem = row.getElementsByTag("div").iterator(); StringBuilder builder = new StringBuilder(); System.out.println(builder); builder.append(iterElem.next()); jsonStr= jsonStr+builder.toString(); }*/ // String testStr = (?:"") result; pm_tv.setText("지금 서울의 초미세먼지 농도는 "+jsonStr+"㎍/㎥야~"); } } private String getHtmlFromHttp(String myUrl) throws IOException { InputStream is = null; String str = ""; try { URL url = new URL(myUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setReadTimeout(10000); conn.setConnectTimeout(10000); conn.setRequestMethod("GET"); conn.setDoInput(true); conn.connect(); int resCode = conn.getResponseCode(); if (resCode == HttpURLConnection.HTTP_OK) { StringBuffer sb = new StringBuffer(); is = conn.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line; while ((line = br.readLine()) != null) { sb.append(line); } str = sb.toString(); } else { conn.disconnect(); } } finally { if (is != null) { is.close(); } } return str; } }