Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
android:versionCode="2"
android:versionName="1.0.0-SNAPSHOT">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<application android:name=".Unit2AssessmentApplication">
<activity
android:name=".Unit2AssessmentActivity"
Expand Down
48 changes: 48 additions & 0 deletions src/main/java/nyc/c4q/JSONActivity.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package nyc.c4q;

import android.app.Activity;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
Expand All @@ -10,9 +11,17 @@

import com.google.gson.Gson;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
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;
Expand Down Expand Up @@ -45,6 +54,7 @@ protected void onCreate(Bundle savedInstanceState) {
addjson.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
zipcodes.add(new Zipcode());
}
});

Expand All @@ -53,6 +63,23 @@ public void onClick(View v) {
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();
try {
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(json.getBytes());
fileOutputStream.flush();
fileOutputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});

Expand All @@ -62,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();
}
}
10 changes: 10 additions & 0 deletions src/main/java/nyc/c4q/ListViewActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

public class ListViewActivity extends Activity {
Expand All @@ -19,11 +22,18 @@ public class ListViewActivity extends Activity {
"#bf538d"
};
public TextView textLog;
public EditText adapterCount;
public ListView list;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listview);
textLog = (TextView) findViewById(R.id.textLog);
adapterCount = (EditText) findViewById(R.id.adapterCount);
list = (ListView) findViewById(R.id.list);

ArrayAdapter colorAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, COLORS);
list.setAdapter(colorAdapter);
}
}
66 changes: 66 additions & 0 deletions src/main/java/nyc/c4q/NetworkActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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));
}
});

Expand All @@ -104,4 +111,63 @@ public void onClick(View v) {
}
});
}

class NetworkAsyncTask extends AsyncTask<String, Void, String> {

@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<String, Void, String> {

@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);
}
}
}
48 changes: 47 additions & 1 deletion src/main/java/nyc/c4q/NotificationActivity.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package nyc.c4q;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class NotificationActivity extends Activity {
Expand All @@ -25,5 +27,49 @@ protected void onCreate(Bundle savedInstanceState) {
Button dismisspermanentnotification = (Button) findViewById(R.id.dismisspermanentnotification);
Button buttonnotification = (Button) findViewById(R.id.buttonnotification);

autocancelnotification.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Notification auto = new Notification.Builder(getApplicationContext())
.setContentTitle("default@c4q.nyc")
.setContentText("Touch me to dismiss me!")
.setSmallIcon(R.drawable.c4qfavicon)
.build();
auto.flags = Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(ID_AUTOCANCEL_NOTIFICATION, auto);
}
});

swipenotification.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Notification swipe = new Notification.Builder(getApplicationContext())
.setContentTitle("swipe@c4q.nyc")
.setContentText("Swipe right if you want to meet me. Otherwise, I'm not going away.")
.setSmallIcon(R.drawable.c4qfavicon)
.build();
notificationManager.notify(ID_SWIPE_NOTIFICATION, swipe);
}
});

permanentnotification.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Notification perm = new Notification.Builder(getApplicationContext())
.setContentTitle("permanent@c4q.nyc")
.setContentText("I'm staying planted right here.")
.setSmallIcon(R.drawable.c4qfavicon)
.setOngoing(true)
.build();
notificationManager.notify(ID_PERMANENT_NOTIFICATION, perm);
}
});

dismisspermanentnotification.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
notificationManager.cancel(ID_PERMANENT_NOTIFICATION);
}
});
}
}
}
27 changes: 18 additions & 9 deletions src/main/res/layout/activity_listview.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_listview"
android:layout_width="match_parent"
Expand All @@ -9,20 +8,30 @@

<LinearLayout
android:id="@+id/header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">

<TextView
android:id="@+id/textLog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fill this textview" />
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:text="You have not clicked anything." />

<EditText
android:id="@+id/adapterCount"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:inputType="phone" />

</LinearLayout>

<ListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="9" />
</LinearLayout>