diff --git a/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml
new file mode 100644
index 0000000..091e427
--- /dev/null
+++ b/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_1_0_aar.xml
deleted file mode 100644
index 54d4ddb..0000000
--- a/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_1_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_1_0_aar.xml
deleted file mode 100644
index 3f2d562..0000000
--- a/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_1_0_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml
similarity index 61%
rename from android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml
rename to android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml
index fbe2c04..65d6364 100644
--- a/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml
+++ b/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml
@@ -1,16 +1,16 @@
-
+
-
+
-
-
-
+
+
+
-
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_core_core_1_3_0_aar.xml
similarity index 56%
rename from android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml
rename to android/.idea/libraries/Gradle__androidx_core_core_1_3_0_aar.xml
index 7e6efc7..4c135cc 100644
--- a/android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml
+++ b/android/.idea/libraries/Gradle__androidx_core_core_1_3_0_aar.xml
@@ -1,16 +1,16 @@
-
+
-
+
-
-
-
+
+
+
-
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml
new file mode 100644
index 0000000..62ec19c
--- /dev/null
+++ b/android/.idea/libraries/Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml
new file mode 100644
index 0000000..3dfe142
--- /dev/null
+++ b/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml
new file mode 100644
index 0000000..314a806
--- /dev/null
+++ b/android/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_1_0_aar.xml
similarity index 55%
rename from android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_0_0_aar.xml
rename to android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_1_0_aar.xml
index 07f5601..427fa23 100644
--- a/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_0_0_aar.xml
+++ b/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_1_0_aar.xml
@@ -1,16 +1,16 @@
-
+
-
+
-
-
-
+
+
+
-
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_test_core_1_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_core_1_3_0_aar.xml
similarity index 53%
rename from android/.idea/libraries/Gradle__androidx_test_core_1_2_0_aar.xml
rename to android/.idea/libraries/Gradle__androidx_test_core_1_3_0_aar.xml
index a6aa577..f2e8037 100644
--- a/android/.idea/libraries/Gradle__androidx_test_core_1_2_0_aar.xml
+++ b/android/.idea/libraries/Gradle__androidx_test_core_1_3_0_aar.xml
@@ -1,15 +1,15 @@
-
+
-
-
-
+
+
+
-
+
-
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_test_ext_junit_1_1_1_aar.xml b/android/.idea/libraries/Gradle__androidx_test_ext_junit_1_1_2_aar.xml
similarity index 52%
rename from android/.idea/libraries/Gradle__androidx_test_ext_junit_1_1_1_aar.xml
rename to android/.idea/libraries/Gradle__androidx_test_ext_junit_1_1_2_aar.xml
index 5740439..ae40727 100644
--- a/android/.idea/libraries/Gradle__androidx_test_ext_junit_1_1_1_aar.xml
+++ b/android/.idea/libraries/Gradle__androidx_test_ext_junit_1_1_2_aar.xml
@@ -1,15 +1,15 @@
-
+
-
-
-
+
+
+
-
+
-
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_test_monitor_1_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_monitor_1_3_0_aar.xml
similarity index 51%
rename from android/.idea/libraries/Gradle__androidx_test_monitor_1_2_0_aar.xml
rename to android/.idea/libraries/Gradle__androidx_test_monitor_1_3_0_aar.xml
index a0f8f3b..e168236 100644
--- a/android/.idea/libraries/Gradle__androidx_test_monitor_1_2_0_aar.xml
+++ b/android/.idea/libraries/Gradle__androidx_test_monitor_1_3_0_aar.xml
@@ -1,15 +1,15 @@
-
+
-
-
-
+
+
+
-
+
-
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_test_rules_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_rules_1_3_0_aar.xml
similarity index 52%
rename from android/.idea/libraries/Gradle__androidx_test_rules_1_1_0_aar.xml
rename to android/.idea/libraries/Gradle__androidx_test_rules_1_3_0_aar.xml
index e1644a9..64c1d6a 100644
--- a/android/.idea/libraries/Gradle__androidx_test_rules_1_1_0_aar.xml
+++ b/android/.idea/libraries/Gradle__androidx_test_rules_1_3_0_aar.xml
@@ -1,15 +1,15 @@
-
+
-
-
-
+
+
+
-
+
-
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_test_runner_1_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_runner_1_3_0_aar.xml
similarity index 51%
rename from android/.idea/libraries/Gradle__androidx_test_runner_1_2_0_aar.xml
rename to android/.idea/libraries/Gradle__androidx_test_runner_1_3_0_aar.xml
index 6220866..b4bd78b 100644
--- a/android/.idea/libraries/Gradle__androidx_test_runner_1_2_0_aar.xml
+++ b/android/.idea/libraries/Gradle__androidx_test_runner_1_3_0_aar.xml
@@ -1,15 +1,15 @@
-
+
-
-
-
+
+
+
-
+
-
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_transition_transition_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_transition_transition_1_2_0_aar.xml
similarity index 55%
rename from android/.idea/libraries/Gradle__androidx_transition_transition_1_0_0_aar.xml
rename to android/.idea/libraries/Gradle__androidx_transition_transition_1_2_0_aar.xml
index 7be8ddf..8dd925b 100644
--- a/android/.idea/libraries/Gradle__androidx_transition_transition_1_0_0_aar.xml
+++ b/android/.idea/libraries/Gradle__androidx_transition_transition_1_2_0_aar.xml
@@ -1,16 +1,16 @@
-
+
-
+
-
-
-
+
+
+
-
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml
new file mode 100644
index 0000000..6f1bb16
--- /dev/null
+++ b/android/.idea/libraries/Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__com_google_android_material_material_1_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_material_material_1_3_0_aar.xml
similarity index 51%
rename from android/.idea/libraries/Gradle__com_google_android_material_material_1_0_0_aar.xml
rename to android/.idea/libraries/Gradle__com_google_android_material_material_1_3_0_aar.xml
index 49b5046..200974b 100644
--- a/android/.idea/libraries/Gradle__com_google_android_material_material_1_0_0_aar.xml
+++ b/android/.idea/libraries/Gradle__com_google_android_material_material_1_3_0_aar.xml
@@ -1,14 +1,16 @@
-
+
-
+
-
-
-
+
+
+
-
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_6_3.xml b/android/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_7_4.xml
similarity index 52%
rename from android/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_6_3.xml
rename to android/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_7_4.xml
index 9f84cac..37be6e2 100644
--- a/android/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_6_3.xml
+++ b/android/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_7_4.xml
@@ -1,13 +1,13 @@
-
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_3_3.xml b/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_5_1.xml
similarity index 52%
rename from android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_3_3.xml
rename to android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_5_1.xml
index 38333bb..19663a9 100644
--- a/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_3_3.xml
+++ b/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_5_1.xml
@@ -1,13 +1,13 @@
-
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__com_google_guava_guava_28_1_android.xml b/android/.idea/libraries/Gradle__com_google_guava_guava_28_1_android.xml
deleted file mode 100644
index 703e775..0000000
--- a/android/.idea/libraries/Gradle__com_google_guava_guava_28_1_android.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__com_google_guava_guava_30_1_android.xml b/android/.idea/libraries/Gradle__com_google_guava_guava_30_1_android.xml
new file mode 100644
index 0000000..9618d01
--- /dev/null
+++ b/android/.idea/libraries/Gradle__com_google_guava_guava_30_1_android.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__com_google_truth_truth_1_0_1.xml b/android/.idea/libraries/Gradle__com_google_truth_truth_1_0_1.xml
deleted file mode 100644
index 6eabfed..0000000
--- a/android/.idea/libraries/Gradle__com_google_truth_truth_1_0_1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__com_google_truth_truth_1_1_2.xml b/android/.idea/libraries/Gradle__com_google_truth_truth_1_1_2.xml
new file mode 100644
index 0000000..21b91fc
--- /dev/null
+++ b/android/.idea/libraries/Gradle__com_google_truth_truth_1_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__com_googlecode_java_diff_utils_diffutils_1_3_0.xml b/android/.idea/libraries/Gradle__com_googlecode_java_diff_utils_diffutils_1_3_0.xml
deleted file mode 100644
index 2eaf7e5..0000000
--- a/android/.idea/libraries/Gradle__com_googlecode_java_diff_utils_diffutils_1_3_0.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__com_squareup_okhttp3_logging_interceptor_4_9_0.xml b/android/.idea/libraries/Gradle__com_squareup_okhttp3_logging_interceptor_4_9_0.xml
new file mode 100644
index 0000000..6cf2a2b
--- /dev/null
+++ b/android/.idea/libraries/Gradle__com_squareup_okhttp3_logging_interceptor_4_9_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_0.xml b/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_0.xml
new file mode 100644
index 0000000..7d65a40
--- /dev/null
+++ b/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_8_0.xml b/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_8_0.xml
new file mode 100644
index 0000000..90488a5
--- /dev/null
+++ b/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_8_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__junit_junit_4_13_1.xml b/android/.idea/libraries/Gradle__junit_junit_4_13_1.xml
new file mode 100644
index 0000000..4405e64
--- /dev/null
+++ b/android/.idea/libraries/Gradle__junit_junit_4_13_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml b/android/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml
deleted file mode 100644
index fbe9697..0000000
--- a/android/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__org_codehaus_mojo_animal_sniffer_annotations_1_18.xml b/android/.idea/libraries/Gradle__org_codehaus_mojo_animal_sniffer_annotations_1_18.xml
deleted file mode 100644
index 5a17a38..0000000
--- a/android/.idea/libraries/Gradle__org_codehaus_mojo_animal_sniffer_annotations_1_18.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml b/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml
new file mode 100644
index 0000000..1fa0fa9
--- /dev/null
+++ b/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_10.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_10.xml
new file mode 100644
index 0000000..aa9fdb1
--- /dev/null
+++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_10.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_10.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_10.xml
new file mode 100644
index 0000000..7e57d94
--- /dev/null
+++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_10.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_10.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_10.xml
new file mode 100644
index 0000000..2feb35a
--- /dev/null
+++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_10.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_4_10.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_4_10.xml
new file mode 100644
index 0000000..d3fe9b7
--- /dev/null
+++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_4_10.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/libraries/Gradle__junit_junit_4_12.xml b/android/.idea/libraries/Gradle__org_ow2_asm_asm_9_0.xml
similarity index 51%
rename from android/.idea/libraries/Gradle__junit_junit_4_12.xml
rename to android/.idea/libraries/Gradle__org_ow2_asm_asm_9_0.xml
index 6c078d6..7300543 100644
--- a/android/.idea/libraries/Gradle__junit_junit_4_12.xml
+++ b/android/.idea/libraries/Gradle__org_ow2_asm_asm_9_0.xml
@@ -1,13 +1,13 @@
-
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/android/app/.idea/workspace.xml b/android/app/.idea/workspace.xml
index f97abf6..41d482d 100644
--- a/android/app/.idea/workspace.xml
+++ b/android/app/.idea/workspace.xml
@@ -30,12 +30,32 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -46,26 +66,50 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -87,14 +131,15 @@
-
-
+
+
-
+
+
@@ -118,6 +163,8 @@
+
+
@@ -220,7 +267,7 @@
-
+
@@ -269,10 +316,13 @@
-
-
+
+
+
+
+
@@ -280,10 +330,13 @@
-
-
+
+
+
+
+
@@ -291,10 +344,13 @@
-
-
+
+
+
+
+
@@ -302,10 +358,13 @@
-
-
+
+
+
+
+
@@ -318,10 +377,21 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/android/app/src/main/.DS_Store b/android/app/src/main/.DS_Store
new file mode 100644
index 0000000..5008ddf
Binary files /dev/null and b/android/app/src/main/.DS_Store differ
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 0fcd0ee..a46428a 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -26,6 +26,7 @@
android:usesCleartextTraffic="true">
+
diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/.DS_Store b/android/app/src/main/java/org/tensorflow/lite/examples/.DS_Store
new file mode 100644
index 0000000..5008ddf
Binary files /dev/null and b/android/app/src/main/java/org/tensorflow/lite/examples/.DS_Store differ
diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/FileUploadUtils.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/FileUploadUtils.java
index cad6efe..ed5499f 100644
--- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/FileUploadUtils.java
+++ b/android/app/src/main/java/org/tensorflow/lite/examples/detection/FileUploadUtils.java
@@ -8,6 +8,7 @@
import okhttp3.Call;
import okhttp3.Callback;
+import okhttp3.FormBody;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
@@ -21,12 +22,14 @@ public static void send2Server(File file) {
// .setType(MultipartBody.FORM)
// .addFormDataPart("files", file.getName(), RequestBody.create(MultipartBody.FORM, file))
// .build();
-
+ RequestBody requestBody = new FormBody.Builder()
+ .add("key", "keykey")
+ .build();
Request request = new Request.Builder()
// .url("http://127.0.0.1:8000/app/hello/")
- .url("http://10.0.2.2:8000/app/hello/")
-// .post(requestBody)
+ .url("http://bb6be6b454ce.ngrok.io/api/post")
+ .post(requestBody)
.build();
OkHttpClient client = new OkHttpClient();
Log.v("태그", "pass");
diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/Fragment4.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/Fragment4.java
index 7e0bd77..27a998c 100644
--- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/Fragment4.java
+++ b/android/app/src/main/java/org/tensorflow/lite/examples/detection/Fragment4.java
@@ -1,63 +1,24 @@
package org.tensorflow.lite.examples.detection;
+import android.content.Intent;
import android.os.Bundle;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Button;
-import androidx.fragment.app.Fragment;
-
-/**
- * A simple {@link Fragment} subclass.
- * Use the {@link Fragment4#newInstance} factory method to
- * create an instance of this fragment.
- */
public class Fragment4 extends Fragment {
- // TODO: Rename parameter arguments, choose names that match
- // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
- private static final String ARG_PARAM1 = "param1";
- private static final String ARG_PARAM2 = "param2";
-
- // TODO: Rename and change types of parameters
- private String mParam1;
- private String mParam2;
public Fragment4() {
// Required empty public constructor
}
-
- /**
- * Use this factory method to create a new instance of
- * this fragment using the provided parameters.
- *
- * @param param1 Parameter 1.
- * @param param2 Parameter 2.
- * @return A new instance of fragment Fragment2.
- */
- // TODO: Rename and change types and number of parameters
- public static Fragment4 newInstance(String param1, String param2) {
- Fragment4 fragment = new Fragment4();
- Bundle args = new Bundle();
- args.putString(ARG_PARAM1, param1);
- args.putString(ARG_PARAM2, param2);
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- if (getArguments() != null) {
- mParam1 = getArguments().getString(ARG_PARAM1);
- mParam2 = getArguments().getString(ARG_PARAM2);
- }
- }
-
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_2, container, false);
+ View view = inflater.inflate(R.layout.fragment_4,container,false);
+
+ return view;
}
}
\ No newline at end of file
diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/HomeActivity.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/HomeActivity.java
index 06f7207..0661e0a 100644
--- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/HomeActivity.java
+++ b/android/app/src/main/java/org/tensorflow/lite/examples/detection/HomeActivity.java
@@ -21,8 +21,8 @@ public class HomeActivity extends FragmentActivity {
private FragmentTransaction ft;
private Fragment1 fragment1;
private Fragment2 fragment2;
-// private Fragment3 fragment3;
-// private Fragment4 fragment4;
+ private Fragment3 fragment3;
+ private Fragment4 fragment4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -52,6 +52,8 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) {
fragment1 = new Fragment1();
fragment2 = new Fragment2();
+ fragment3 = new Fragment3();
+ fragment4 = new Fragment4();
setFragment(0);
}
@@ -67,6 +69,14 @@ private void setFragment(int n) {
ft.replace(R.id.main_frame, fragment2);
ft.commit(); //저장을 의미
break;
+ case 2:
+ ft.replace(R.id.main_frame, fragment3);
+ ft.commit(); //저장을 의미
+ break;
+ case 3:
+ ft.replace(R.id.main_frame, fragment4);
+ ft.commit(); //저장을 의미
+ break;
}
}
public void replaceFragment(Fragment fragment){
diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/LoginActivity.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/LoginActivity.java
index d49e636..af934ea 100644
--- a/android/app/src/main/java/org/tensorflow/lite/examples/detection/LoginActivity.java
+++ b/android/app/src/main/java/org/tensorflow/lite/examples/detection/LoginActivity.java
@@ -10,14 +10,17 @@
public class LoginActivity extends AppCompatActivity {
- private Button goBtn;
+ private Button login;
+ private Button register;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
- goBtn = findViewById(R.id.register);
- goBtn.setOnClickListener(new View.OnClickListener(){
+ login = findViewById(R.id.login);
+ register = findViewById(R.id.register);
+
+ login.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
Toast.makeText(getApplicationContext(),"로그인 되었습니다.", Toast.LENGTH_LONG).show();
@@ -25,5 +28,14 @@ public void onClick(View view){
startActivity(intent);
}
});
+
+ register.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View view){
+ Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
+ startActivity(intent);
+ }
+ });
+
}
}
\ No newline at end of file
diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/detection/RegisterActivity.java b/android/app/src/main/java/org/tensorflow/lite/examples/detection/RegisterActivity.java
new file mode 100644
index 0000000..756aa88
--- /dev/null
+++ b/android/app/src/main/java/org/tensorflow/lite/examples/detection/RegisterActivity.java
@@ -0,0 +1,132 @@
+package org.tensorflow.lite.examples.detection;
+
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.app.AppCompatActivity;
+
+import org.json.JSONObject;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+public class RegisterActivity extends AppCompatActivity {
+
+ Button registerButton;
+ EditText editText, editText2, editText3, editText4;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ setContentView(R.layout.activity_register);
+ registerButton = findViewById(R.id.registerButton);
+ registerButton.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View view){
+ new JSONTask().execute("http://52.78.80.31:4000/join");
+ showMessage();
+ }
+ });
+ }
+
+ private void showMessage(){
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ builder.setTitle("안내");
+ builder.setMessage("회원 가입이 완료되었습니다");
+ builder.setIcon(android.R.drawable.ic_dialog_alert);
+
+ builder.setPositiveButton("확인", new DialogInterface.OnClickListener(){
+ public void onClick(DialogInterface dialog, int which){
+ Intent intent = new Intent(getApplicationContext(), HomeActivity.class);
+ startActivity(intent);
+ }
+ });
+ AlertDialog dialog = builder.create();
+ dialog.show();
+ }
+
+ public class JSONTask extends AsyncTask {
+ @Override
+ protected String doInBackground(String... urls) {
+ try {
+ //아이디 찾아주기
+ editText = findViewById(R.id.editText);
+ editText2 = findViewById(R.id.editText2);
+ editText3 = findViewById(R.id.editText3);
+ editText4 = findViewById(R.id.editText4);
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.accumulate("nickName", editText.getText());
+ jsonObject.accumulate("email", editText2.getText());
+ jsonObject.accumulate("password", editText3.getText());
+ jsonObject.accumulate("password2", editText4.getText());
+ HttpURLConnection con = null;
+ BufferedReader reader = null;
+
+ try {
+ URL url = new URL(urls[0]);
+ con = (HttpURLConnection) url.openConnection();
+
+ con.setRequestMethod("POST");
+ con.setRequestProperty("Cache-Control", "no-cache");
+ con.setRequestProperty("Content-Type", "application/json");
+ con.setRequestProperty("Accept", "text/html");
+ con.setDoOutput(true);
+ con.setDoInput(true);
+ con.connect();
+
+ OutputStream outStream = con.getOutputStream();
+ BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outStream));
+ writer.write(jsonObject.toString());
+ writer.flush();
+ writer.close();
+
+ InputStream stream = con.getInputStream();
+ reader = new BufferedReader(new InputStreamReader(stream));
+ StringBuffer buffer = new StringBuffer();
+ String line = "";
+ while ((line = reader.readLine()) != null) buffer.append(line);
+ return buffer.toString();
+
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (con != null) {
+ con.disconnect();
+ }
+ try {
+ if (reader != null) {
+ reader.close();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+ @Override
+ protected void onPostExecute(String result){
+ super.onPostExecute(result);
+ }
+ }
+}
\ No newline at end of file
diff --git a/android/app/src/main/res/drawable-xxhdpi/custom_button3.xml b/android/app/src/main/res/drawable-xxhdpi/custom_button3.xml
new file mode 100644
index 0000000..e7381e5
--- /dev/null
+++ b/android/app/src/main/res/drawable-xxhdpi/custom_button3.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/app/src/main/res/layout/activity_register.xml b/android/app/src/main/res/layout/activity_register.xml
new file mode 100644
index 0000000..50d06b7
--- /dev/null
+++ b/android/app/src/main/res/layout/activity_register.xml
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/app/src/main/res/layout/fragment_4.xml b/android/app/src/main/res/layout/fragment_4.xml
index f5de99b..e43a840 100644
--- a/android/app/src/main/res/layout/fragment_4.xml
+++ b/android/app/src/main/res/layout/fragment_4.xml
@@ -1,114 +1,241 @@
-
+ android:layout_height="match_parent"
+ tools:context=".Fragment4">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:orientation="horizontal"
+ android:layout_marginTop="30dp"
+ >
+ android:text="안녕하세요, "
+ android:fontFamily="@font/bmhannapro"
+ android:textColor="#000000"/>
+ android:layout_marginLeft="30dp"
+ android:text="한준호님!"
+ android:fontFamily="@font/bmhannapro"
+ android:textSize="20sp"
+ android:textColor="#000000"/>
+ android:orientation="horizontal"
+ android:layout_marginTop="20dp"
+ >
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:text=" 스크랩한 자소서 "
+ android:textSize="15sp"
+ android:fontFamily="@font/nmhanna"
+ />
+ android:text=" 0개"
+ android:textSize="13sp"/>
+
+ android:layout_marginTop="20dp"
+ android:orientation="horizontal"
+ >
+ android:text=" 내 자소서 관리 "
+ android:textSize="15sp"
+ android:fontFamily="@font/nmhanna"
+ />
+
+
+
+
+ android:text=" 기업 소개 "
+ android:textSize="15sp"
+ android:fontFamily="@font/nmhanna"
+ />
+
+
+
+
+
+
+ android:text=" LOGOUT "
+ android:textSize="15sp"
+ android:fontFamily="@font/nmhanna"
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
+
+
+
+
+
+
\ No newline at end of file