diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index 016cdc8..c6a4f23 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index da10681..7ac24c7 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -9,7 +9,6 @@
-
diff --git a/app/build.gradle b/app/build.gradle
index d28ac8b..6c1e9d2 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,7 +5,7 @@ android {
defaultConfig {
applicationId "project.schafkopfzaehler_2"
minSdkVersion 19
- targetSdkVersion 27
+ targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
@@ -19,10 +19,11 @@ android {
}
dependencies {
- implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:design:27.1.1'
+ implementation 'com.squareup.retrofit2:retrofit:2.5.0'
+ implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5e9d128..f9cf6a4 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -19,6 +19,8 @@
+
+
an Server senden");
+ try {
+ FileOutputStream fos = new FileOutputStream(pictureFile);
+ fos.write(bytes.toByteArray());
+ fos.close();
+ Log.d("CAMERA", "Saved...");
+ captureLog.setText(captureLog.getText() + "\n" + "Saved...");
+ } catch (FileNotFoundException e) {
+ Log.d("CAMERA", "File not found: " + e.getMessage());
+ captureLog.setText(captureLog.getText() + "\n" + "File not found: " + e.getMessage());
+ } catch (IOException e) {
+ Log.d("CAMERA", "Error accessing file: " + e.getMessage());
+ captureLog.setText(captureLog.getText() + "\n" + "Error accessing file: " + e.getMessage());
+ }
+
+ // ------------------------ Send file to server -------------------------
+ Retrofit.Builder builder = new Retrofit.Builder().baseUrl("http://192.168.0.195:8000/").addConverterFactory(GsonConverterFactory.create());
+
+ Retrofit retrofit = builder.build();
+
+ api_server client = retrofit.create(api_server.class);
+
+ MultipartBody.Part filePart = MultipartBody.Part.createFormData("image", pictureFile.getName(), RequestBody.create(MediaType.parse("image/*"), pictureFile));
+
+ Call call = client.uploadAttachment(filePart);
+
+ try {
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ String card = response.body().getKarte();
+ captureLog.setText(captureLog.getText() + "\n" + card + " erkannt :)");
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ captureLog.setText(captureLog.getText() + "\n" + "Error..." + t.getMessage());
+ }
+ });
+ }
+
+ catch (Exception e){
+ Log.d("Schafkopfzaehler", "EXCEPTION: " + e.getMessage());
+ }
+
+ // ----------------------------------------------------------------------
+
+ mCamera.startPreview();
}
};
@@ -134,25 +190,24 @@ public class CardCaptureActivity extends AppCompatActivity {
// using Environment.getExternalStorageState() before doing this.
File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
- Environment.DIRECTORY_PICTURES), "MyCameraApp");
+ Environment.DIRECTORY_PICTURES), "Schafkopfzaehler");
// This location works best if you want the created images to be shared
// between applications and persist after your app has been uninstalled.
// Create the storage directory if it does not exist
if (! mediaStorageDir.exists()){
if (! mediaStorageDir.mkdirs()){
- Log.d("MyCameraApp", "failed to create directory");
+ Log.d("Schafkopfzaehler", "failed to create directory");
return null;
}
}
// Create a media file name
- Long tsLong = System.currentTimeMillis()/1000;
- String timeStamp = tsLong.toString();
File mediaFile;
if (type == MEDIA_TYPE_IMAGE){
mediaFile = new File(mediaStorageDir.getPath() + File.separator +
- "IMG_"+ timeStamp + ".jpg");
+ "Karte.jpg");
+
} else {
return null;
}
@@ -162,3 +217,5 @@ public class CardCaptureActivity extends AppCompatActivity {
}
+
+
diff --git a/app/src/main/java/project/schafkopfzaehler_2/POJO/POJOClass.java b/app/src/main/java/project/schafkopfzaehler_2/POJO/POJOClass.java
new file mode 100644
index 0000000..03026aa
--- /dev/null
+++ b/app/src/main/java/project/schafkopfzaehler_2/POJO/POJOClass.java
@@ -0,0 +1,32 @@
+
+package project.schafkopfzaehler_2.POJO;
+
+import com.google.gson.annotations.Expose;
+import com.google.gson.annotations.SerializedName;
+
+public class POJOClass {
+
+ @SerializedName("safely executed")
+ @Expose
+ private Boolean safelyExecuted;
+ @SerializedName("Karte")
+ @Expose
+ private String karte;
+
+ public Boolean getSafelyExecuted() {
+ return safelyExecuted;
+ }
+
+ public void setSafelyExecuted(Boolean safelyExecuted) {
+ this.safelyExecuted = safelyExecuted;
+ }
+
+ public String getKarte() {
+ return karte;
+ }
+
+ public void setKarte(String karte) {
+ this.karte = karte;
+ }
+
+}
diff --git a/app/src/main/java/project/schafkopfzaehler_2/api_server.java b/app/src/main/java/project/schafkopfzaehler_2/api_server.java
new file mode 100644
index 0000000..d4a2c35
--- /dev/null
+++ b/app/src/main/java/project/schafkopfzaehler_2/api_server.java
@@ -0,0 +1,21 @@
+package project.schafkopfzaehler_2;
+
+import okhttp3.MultipartBody;
+import project.schafkopfzaehler_2.POJO.POJOClass;
+
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.http.Multipart;
+import retrofit2.http.POST;
+import retrofit2.http.Part;
+
+public interface api_server{
+
+ @Multipart
+ @POST("/face_detection/detect/")
+
+ Call uploadAttachment(@Part MultipartBody.Part filePart);
+
+ void getData(Callback response);
+
+}
diff --git a/app/src/main/java/project/schafkopfzaehler_2/cameraPreview.java b/app/src/main/java/project/schafkopfzaehler_2/cameraPreview.java
index b4892a9..07b3105 100644
--- a/app/src/main/java/project/schafkopfzaehler_2/cameraPreview.java
+++ b/app/src/main/java/project/schafkopfzaehler_2/cameraPreview.java
@@ -22,7 +22,7 @@ public class cameraPreview extends SurfaceView implements SurfaceHolder.Callback
mHolder = getHolder();
mHolder.addCallback(this);
// deprecated setting, but required on Android versions prior to 3.0
- mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
+ // mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(SurfaceHolder holder) {
@@ -48,6 +48,11 @@ public class cameraPreview extends SurfaceView implements SurfaceHolder.Callback
return;
}
+ if (mHolder == null){
+ // holder does not exist
+ return;
+ }
+
// stop preview before making changes
try {
mCamera.stopPreview();
@@ -56,6 +61,9 @@ public class cameraPreview extends SurfaceView implements SurfaceHolder.Callback
}
mCamera.setDisplayOrientation(90);
+ //Camera.Parameters setting_param = mCamera.getParameters();
+ //setting_param.setPreviewSize(320,480);
+ //mCamera.setParameters(setting_param);
// start preview with new settings
try {
diff --git a/app/src/main/res/drawable/schafkopfkarten.png b/app/src/main/res/drawable/schafkopfkarten.png
index a89174b..0296a64 100644
Binary files a/app/src/main/res/drawable/schafkopfkarten.png and b/app/src/main/res/drawable/schafkopfkarten.png differ
diff --git a/app/src/main/res/drawable/woodentable.png b/app/src/main/res/drawable/woodentable.png
index f3bcb2d..bf0715d 100644
Binary files a/app/src/main/res/drawable/woodentable.png and b/app/src/main/res/drawable/woodentable.png differ
diff --git a/app/src/main/res/layout/cardcapture.xml b/app/src/main/res/layout/cardcapture.xml
index 768e916..a6e8b32 100644
--- a/app/src/main/res/layout/cardcapture.xml
+++ b/app/src/main/res/layout/cardcapture.xml
@@ -6,37 +6,32 @@
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:layout_alignParentTop="true">
-
+
+