From d94f1770c7a437af17e71664e30e7c544d9f7a3b Mon Sep 17 00:00:00 2001 From: hyunj0 Date: Sun, 28 Jun 2015 12:56:21 -0400 Subject: [PATCH 1/2] Before lunch --- src/main/AndroidManifest.xml | 4 ++ src/main/java/nyc/c4q/JSONActivity.java | 22 +++++++++ src/main/java/nyc/c4q/ListViewActivity.java | 11 +++++ .../java/nyc/c4q/NotificationActivity.java | 48 ++++++++++++++++++- src/main/res/layout/activity_listview.xml | 27 +++++++---- 5 files changed, 102 insertions(+), 10 deletions(-) diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index ea076f1..d4c30bd 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -4,6 +4,10 @@ android:versionCode="2" android:versionName="1.0.0-SNAPSHOT"> + + + + + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="3" + android:text="You have not clicked anything." /> + + + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="9" /> \ No newline at end of file From fcc53c819c6f916d9af3b94ef4254c6de1c676fe Mon Sep 17 00:00:00 2001 From: hyunj0 Date: Sun, 28 Jun 2015 16:49:06 -0400 Subject: [PATCH 2/2] Pending review --- src/main/java/nyc/c4q/JSONActivity.java | 38 ++++++++++-- src/main/java/nyc/c4q/ListViewActivity.java | 1 - src/main/java/nyc/c4q/NetworkActivity.java | 66 +++++++++++++++++++++ 3 files changed, 98 insertions(+), 7 deletions(-) diff --git a/src/main/java/nyc/c4q/JSONActivity.java b/src/main/java/nyc/c4q/JSONActivity.java index db8c57b..51cbbe3 100644 --- a/src/main/java/nyc/c4q/JSONActivity.java +++ b/src/main/java/nyc/c4q/JSONActivity.java @@ -11,6 +11,7 @@ import com.google.gson.Gson; +import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -18,6 +19,9 @@ import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.StringWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -50,6 +54,7 @@ protected void onCreate(Bundle savedInstanceState) { addjson.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + zipcodes.add(new Zipcode()); } }); @@ -59,12 +64,12 @@ public void onClick(View v) { File directory = getExternalCacheDir(); File file = new File(directory, "zipcodes.json"); String json = - _id.getText().toString() + - pop.getText().toString() + - city.getText().toString() + - state.getText().toString() + - _lat.getText().toString() + - _long.getText().toString(); + _id.getText().toString() + + pop.getText().toString() + + city.getText().toString() + + state.getText().toString() + + _lat.getText().toString() + + _long.getText().toString(); try { FileOutputStream fileOutputStream = new FileOutputStream(file); fileOutputStream.write(json.getBytes()); @@ -84,7 +89,28 @@ public void onClick(View v) { public void onClick(View v) { File directory = getExternalCacheDir(); File file = new File(directory, "zipcodes.json"); + try { + FileInputStream fileInputStream = new FileInputStream(file); + String fileContent = readStream(fileInputStream); + //iterate over the String and set Text in each applicable TextView + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } } }); } + + //credits to John + private String readStream(InputStream in) throws IOException { + char[] buffer = new char[1024 * 4]; + InputStreamReader reader = new InputStreamReader(in, "UTF8"); + StringWriter writer = new StringWriter(); + int n; + while ((n = reader.read(buffer)) != -1) { + writer.write(buffer, 0, n); + } + return writer.toString(); + } } diff --git a/src/main/java/nyc/c4q/ListViewActivity.java b/src/main/java/nyc/c4q/ListViewActivity.java index 3499e68..835ded2 100644 --- a/src/main/java/nyc/c4q/ListViewActivity.java +++ b/src/main/java/nyc/c4q/ListViewActivity.java @@ -35,6 +35,5 @@ protected void onCreate(Bundle savedInstanceState) { ArrayAdapter colorAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, COLORS); list.setAdapter(colorAdapter); - } } diff --git a/src/main/java/nyc/c4q/NetworkActivity.java b/src/main/java/nyc/c4q/NetworkActivity.java index 3604cfc..7fc7e44 100644 --- a/src/main/java/nyc/c4q/NetworkActivity.java +++ b/src/main/java/nyc/c4q/NetworkActivity.java @@ -15,11 +15,16 @@ import com.squareup.okhttp.Request; import com.squareup.okhttp.RequestBody; import com.squareup.okhttp.Response; +import com.squareup.okhttp.internal.http.HttpConnection; import java.io.BufferedInputStream; import java.io.DataOutputStream; +import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.StringWriter; import java.net.HttpURLConnection; +import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; @@ -76,12 +81,14 @@ protected void onCreate(Bundle savedInstanceState) { httpbinget.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + new NetworkAsyncTask().execute(String.format("https://httpbin.org/get?%s", urlParams)); } }); httpbingetokhttp.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + new NetworkOKAsyncTask().execute(String.format("https://httpbin.org/get?%s", urlParams)); } }); @@ -104,4 +111,63 @@ public void onClick(View v) { } }); } + + class NetworkAsyncTask extends AsyncTask { + + @Override + protected String doInBackground(String... strings) { + try { + URL url = new URL(strings[0]); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("GET"); + connection.connect(); + String output = readStream(connection.getInputStream()); + return output; + } + catch (Exception e) { + return null; + } + } + + @Override + protected void onPostExecute(String s) { + super.onPostExecute(s); + httptextlog.setText(s); + } + } + + //credits to John + private String readStream(InputStream in) throws IOException { + char[] buffer = new char[1024 * 4]; + InputStreamReader reader = new InputStreamReader(in, "UTF8"); + StringWriter writer = new StringWriter(); + int n; + while ((n = reader.read(buffer)) != -1) { + writer.write(buffer, 0, n); + } + return writer.toString(); + } + + class NetworkOKAsyncTask extends AsyncTask { + + @Override + protected String doInBackground(String... strings) { + String output = ""; + try { + OkHttpClient client = new OkHttpClient(); + Request request = new Request.Builder().url(strings[0]).build(); + Response response = client.newCall(request).execute(); + output = readStream(response.body().byteStream()); + } catch (IOException e) { + e.printStackTrace(); + } + return output; + } + + @Override + protected void onPostExecute(String s) { + super.onPostExecute(s); + httptextlog.setText(s); + } + } }