diff --git a/.idea/misc.xml b/.idea/misc.xml index 6540694..4d5311c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -83,6 +83,17 @@ + + + + + + + + + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ad28360..590e687 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,7 +13,7 @@ - + @@ -21,7 +21,6 @@ - + \ No newline at end of file diff --git a/app/src/main/java/com/qtagger/Activity/Test/CaptureFragment.java b/app/src/main/java/com/qtagger/Activity/Test/CaptureFragment.java index 96f21e0..529be2a 100644 --- a/app/src/main/java/com/qtagger/Activity/Test/CaptureFragment.java +++ b/app/src/main/java/com/qtagger/Activity/Test/CaptureFragment.java @@ -69,6 +69,7 @@ public class CaptureFragment extends Fragment { context = container.getContext(); View view = inflater.inflate(R.layout.fragment_capture, container, false); + /* Button topFront = view.findViewById(R.id.button_top_front); topFront.setOnClickListener(new View.OnClickListener() { @RequiresApi(api = Build.VERSION_CODES.M) @@ -80,7 +81,7 @@ public class CaptureFragment extends Fragment { Toast.makeText(context, "이미지 교체", Toast.LENGTH_SHORT).show(); } - }); + });*/ //button_top_front // Inflate the layout for this fragment return view; diff --git a/app/src/main/java/com/qtagger/Activity/Test/PhotographFragment.java b/app/src/main/java/com/qtagger/Activity/Test/PhotographFragment.java index 57aa466..493fd1d 100644 --- a/app/src/main/java/com/qtagger/Activity/Test/PhotographFragment.java +++ b/app/src/main/java/com/qtagger/Activity/Test/PhotographFragment.java @@ -1,19 +1,33 @@ package com.qtagger.Activity.Test; +import static android.app.Activity.RESULT_CANCELED; +import static android.app.Activity.RESULT_OK; + +import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Bundle; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.RequiresApi; import androidx.fragment.app.Fragment; +import android.provider.MediaStore; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; +import android.widget.Toast; import com.qtagger.R; +import com.qtagger.util.CommonHelper; +import com.qtagger.util.DataManager; /** * A simple {@link Fragment} subclass. @@ -22,6 +36,9 @@ import com.qtagger.R; */ public class PhotographFragment extends Fragment { View view; + Button pictureAdd; + private DataManager dataManager = DataManager.getInstance(); + private static final int Image_Capture_Code = 1; // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER private static final String ARG_PARAM1 = "param1"; @@ -61,11 +78,33 @@ public class PhotographFragment extends Fragment { mParam2 = getArguments().getString(ARG_PARAM2); } } + ActivityResultLauncher activityResultPicture = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @RequiresApi(api = Build.VERSION_CODES.M) + @Override + public void onActivityResult(ActivityResult result) { + Bitmap bmp = CommonHelper.CameraResult(result); + pictureAdd.setBackground(new BitmapDrawable(bmp)); + pictureAdd.setForeground(null); + } + }); @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment_photograph, container, false); + + //button_img_add + pictureAdd = view.findViewById(R.id.button_img_add); + + pictureAdd.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + activityResultPicture.launch(dataManager.cameraIntent); + + } + }); + + /* Button t1 = view.findViewById(R.id.button_picture1_test); t1.setOnLongClickListener(new View.OnLongClickListener() { @@ -87,9 +126,21 @@ public class PhotographFragment extends Fragment { t1.setForeground(getActivity().getDrawable(R.drawable.circle_check_foreground)); t1.setForegroundGravity(Gravity.TOP|Gravity.RIGHT); } - }); + });*/ // Inflate the layout for this fragment return view; } + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + if (requestCode == Image_Capture_Code) { + if (resultCode == RESULT_OK) { + Bitmap bp = (Bitmap) data.getExtras().get("data"); + pictureAdd.setBackground(new BitmapDrawable(bp)); + } else if (resultCode == RESULT_CANCELED) { + Toast.makeText(getActivity(), "Cancelled", Toast.LENGTH_LONG).show(); + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/qtagger/Activity/TestSelectActivity.java b/app/src/main/java/com/qtagger/Activity/TestSelectActivity.java index 9047b5b..763356c 100644 --- a/app/src/main/java/com/qtagger/Activity/TestSelectActivity.java +++ b/app/src/main/java/com/qtagger/Activity/TestSelectActivity.java @@ -1,17 +1,53 @@ package com.qtagger.Activity; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.app.ActivityCompat; +import androidx.core.content.FileProvider; +import android.Manifest; import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.graphics.Bitmap; +import android.net.Uri; import android.os.Bundle; +import android.os.Environment; +import android.provider.MediaStore; import android.view.View; import com.qtagger.Data.TestEnum; import com.qtagger.R; +import com.qtagger.util.CommonHelper; import com.qtagger.util.DataManager; +import java.io.File; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + public class TestSelectActivity extends AppCompatActivity { private DataManager dataManager = DataManager.getInstance(); + + private static final int REQUESTR_IMAGE_CAPTURE = 1; + private static final int SINGLE_PERMISSION = 1004; + private String imageFilePath; + private Uri photoUri; + + + ActivityResultLauncher activityResultPicture = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + CommonHelper.CameraResult(result); + + } + }); + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -31,9 +67,12 @@ public class TestSelectActivity extends AppCompatActivity { @Override public void onClick(View v) { dataManager.testEnum = TestEnum.예비검사; + activityResultPicture.launch(dataManager.cameraIntent); } }); + + findViewById(R.id.button_인수검사).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/app/src/main/java/com/qtagger/util/CommonHelper.java b/app/src/main/java/com/qtagger/util/CommonHelper.java index ccb3a22..5e7c09f 100644 --- a/app/src/main/java/com/qtagger/util/CommonHelper.java +++ b/app/src/main/java/com/qtagger/util/CommonHelper.java @@ -1,6 +1,22 @@ package com.qtagger.util; +import static android.app.Activity.RESULT_OK; + +import android.graphics.Bitmap; +import android.os.Bundle; import android.util.TypedValue; +import androidx.activity.result.ActivityResult; + public class CommonHelper { + + public static Bitmap CameraResult(ActivityResult result){ + if( result.getResultCode() == RESULT_OK && result.getData() != null){ + + Bundle extras = result.getData().getExtras(); + + return (Bitmap) extras.get("data"); + } + return null; + } } diff --git a/app/src/main/java/com/qtagger/util/DataManager.java b/app/src/main/java/com/qtagger/util/DataManager.java index e949218..094f6ac 100644 --- a/app/src/main/java/com/qtagger/util/DataManager.java +++ b/app/src/main/java/com/qtagger/util/DataManager.java @@ -1,5 +1,14 @@ package com.qtagger.util; +import static android.app.Activity.RESULT_OK; + +import android.content.Intent; +import android.provider.MediaStore; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.fragment.app.FragmentManager; import com.qtagger.Data.TestEnum; @@ -11,6 +20,7 @@ public class DataManager { public Account loginAccount; public FragmentManager fragmentManager; public TestEnum testEnum = TestEnum.선택안함; + public Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); private static class DataManagerHolder{ public static final DataManager INSTANCE = new DataManager(); diff --git a/app/src/main/res/drawable-v24/.idea/misc.xml b/app/src/main/res/drawable-v24/.idea/misc.xml new file mode 100644 index 0000000..639900d --- /dev/null +++ b/app/src/main/res/drawable-v24/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/.idea/modules.xml b/app/src/main/res/drawable-v24/.idea/modules.xml new file mode 100644 index 0000000..0a8c8a3 --- /dev/null +++ b/app/src/main/res/drawable-v24/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/.idea/vcs.xml b/app/src/main/res/drawable-v24/.idea/vcs.xml new file mode 100644 index 0000000..bc59970 --- /dev/null +++ b/app/src/main/res/drawable-v24/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/.idea/workspace.xml b/app/src/main/res/drawable-v24/.idea/workspace.xml new file mode 100644 index 0000000..aa3cf59 --- /dev/null +++ b/app/src/main/res/drawable-v24/.idea/workspace.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1661886375861 + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/add_picture_32.png b/app/src/main/res/drawable-v24/add_picture_32.png new file mode 100644 index 0000000..39e4da5 Binary files /dev/null and b/app/src/main/res/drawable-v24/add_picture_32.png differ diff --git a/app/src/main/res/drawable-v24/ironweight_64.png b/app/src/main/res/drawable-v24/ironweight_64.png new file mode 100644 index 0000000..d38e496 Binary files /dev/null and b/app/src/main/res/drawable-v24/ironweight_64.png differ diff --git a/app/src/main/res/drawable/default_fragment_background.xml b/app/src/main/res/drawable/default_fragment_background.xml index cda4f28..167812f 100644 --- a/app/src/main/res/drawable/default_fragment_background.xml +++ b/app/src/main/res/drawable/default_fragment_background.xml @@ -10,8 +10,7 @@ android:bottomRightRadius="12dp" android:topLeftRadius="12dp" android:topRightRadius="12dp" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_capture.xml b/app/src/main/res/layout/fragment_capture.xml index 164ec94..c754e4c 100644 --- a/app/src/main/res/layout/fragment_capture.xml +++ b/app/src/main/res/layout/fragment_capture.xml @@ -3,13 +3,13 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_margin="10dp" - android:background="@drawable/default_fragment_background" tools:context=".Activity.Test.CaptureFragment"> + android:layout_height="match_parent" + android:scrollbars="none"> + - - - - + android:background="@drawable/default_fragment_background" + android:layout_margin="10dp" + android:orientation="vertical"> - + android:orientation="horizontal"> - + - + - + + android:orientation="horizontal"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:layout_height="wrap_content" + android:background="@drawable/default_fragment_background" + android:layout_margin="10dp" + android:orientation="vertical"> - + android:orientation="horizontal"> - + - + + + + + android:orientation="horizontal"> - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + android:background="@drawable/default_fragment_background" + android:layout_margin="10dp" + android:orientation="vertical"> - + android:orientation="horizontal"> - + + + + + + + android:orientation="horizontal"> - + - - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/app/src/main/res/layout/fragment_fill.xml b/app/src/main/res/layout/fragment_fill.xml index 94e604f..a7425ae 100644 --- a/app/src/main/res/layout/fragment_fill.xml +++ b/app/src/main/res/layout/fragment_fill.xml @@ -15,42 +15,16 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> - - - - - - - - diff --git a/app/src/main/res/layout/fragment_photograph.xml b/app/src/main/res/layout/fragment_photograph.xml index 8506b9e..5adea26 100644 --- a/app/src/main/res/layout/fragment_photograph.xml +++ b/app/src/main/res/layout/fragment_photograph.xml @@ -41,99 +41,67 @@ + android:layout_height="wrap_content" + android:orientation="horizontal"> + android:background="@drawable/weight_test_image" + /> + android:foregroundGravity="center_vertical|center_horizontal" /> - - - - + android:orientation="horizontal"> - + + android:foregroundGravity="center_vertical|center_horizontal" /> - + + + diff --git a/app/src/main/res/layout/fragment_weight2.xml b/app/src/main/res/layout/fragment_weight2.xml index 587d7c0..b0fa155 100644 --- a/app/src/main/res/layout/fragment_weight2.xml +++ b/app/src/main/res/layout/fragment_weight2.xml @@ -15,37 +15,11 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> - - - - - - - -