앞선 과정을 통해 에뮬레이터에 기본 화면이 연결된 부분부터 시작해보겠습니다.
1. Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
tools:ignore="ExtraText">
<ImageView
android:id="@+id/imageView"
android:layout_width="400dp"
android:layout_height="250dp"
android:layout_gravity="center"
android:layout_marginTop="100dp"
android:layout_marginBottom="250dp"
/>
<Button
android:id="@+id/btnPhoto"
android:layout_width="150dp"
android:layout_height="80dp"
android:layout_gravity="center"
android:textColor="#FFEB3B"
android:text="충치 판별" />
</LinearLayout>
2. AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE " />
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="DPLES 충치 판별"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Camera3Example"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="android.app.lib_name"
android:value="" />
</activity>
</application>
</manifest>
3. MainActivity.java
package com.example.camera3example;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Button btnCamera;
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 디자인 정의
btnCamera = (Button) findViewById(R.id.btnPhoto);
imageView = (ImageView) findViewById(R.id.imageView);
btnCamera.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
// 카메라촬영 클릭 이벤트
case R.id.btnPhoto:
// 카메라 기능을 Intent
Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, 0);
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// 카메라 촬영을 하면 이미지뷰에 사진 삽입
if(requestCode == 0 && resultCode == RESULT_OK) {
// Bundle로 데이터를 입력
Bundle extras = data.getExtras();
// Bitmap으로 컨버전
Bitmap imageBitmap = (Bitmap) extras.get("data");
// 이미지뷰에 Bitmap으로 이미지를 입력
imageView.setImageBitmap(imageBitmap);
}
}
}
4. res > values > themes.xml
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Camera3Example" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">#3F51B5</item>
<item name="colorPrimaryVariant">#2196F3</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">#03A9F4</item>
<!-- Status bar color. -->
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>
5. 안드로이드 기기 연결 후 어플 실행
어플실행 초기화면 충치판별 버튼클릭
사진촬영
촬영 후 다시시도 혹은 확인 ( 다시시도 하면 다시 사진촬영 )
확인버튼 클릭 후
반응형
'Android Studio' 카테고리의 다른 글
안드로이드 앱 외부 하드웨어(스마트폰)에서 실행해보기 (0) | 2022.09.20 |
---|---|
안드로이드 스마트폰 개발자 옵션에 USB 디버깅이 안보일 때 (0) | 2022.09.20 |
안드로이드 스튜디오 에뮬레이터 실행 안됨 ( The emulator for AVD has terminated ) 오류 해결 (1) | 2022.09.16 |
안드로이드 스튜디오 설치 경로 변경 ( C 드라이브 용량 없어서 D로 ) (5) | 2022.09.16 |
첫 번째 앱 만들기 (간단한 앱 제작 과정 진행해보기) (0) | 2022.09.16 |