메뉴 건너뛰기

조회 수 8973 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

안드로이드마켓에 있는 AIDE를 이용해서 앱을 만들어봤습니다.


후라시 앱 만들어봤습니다.
후라시 앱이 하도 악성코드 심어져있는게 많아서 함 만들어봤습니다.
설치할때 카메라 제어 권한이 필요한데, 그건 후라시앱에서는 꼭 필요하니 걱정하지들 마시길..
초간단 기능..
함 써보세들~

https://play.google.com/store/apps/details?id=com.kongmemo.app

초간단 후레쉬-광고없음, 악성코드없음 보장 - Google Play의 Android 앱
play.google.com
본문으로 이동



소스코드는 다음과 같습니다.

MainActivity.java

package com.kongmemo.app;

import android.app.*;
import android.hardware.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import java.util.*;

public class MainActivity extends Activity implements View.OnClickListener // 버튼클릭을 이 Activity에서 처리하기 위해 OnClickListener 인터페이스를 따름
{
private Camera camera; // 카메라객체
private Camera.Parameters p; // 카메라파라미터

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
{
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
Button btn_switch = (Button)findViewById(R.id.btn_switch); // 리소스 버튼
btn_switch.setOnClickListener(this); // 현재 액티비티를 리스너로 설정
btn_switch.setTag(1); // 켜짐과 꺼짐 상태를 판단하기 위해 tag 속성 이용(1이 켜진 상태, 0이 꺼진상태)
setLight(true); // 앱 실행하자마자 켜지도록 함
    }

@Override
protected void onPause() // 앱이 중단된 상태(홈버튼 눌러 내려간 상태)에는 후라시를 끔
{
// TODO: Implement this method
Button btn = (Button)findViewById(R.id.btn_switch);
int tag =btn.getTag();

if ( tag == 1 ) // 켜진 상태라면 후라시를 끔
{
btn.setTag(0);
setLight(false);
}

super.onPause();
}

@Override
protected void onResume() // 앱이 다시 활성화된 경우 후라시를 켜줌
{
// TODO: Implement this method
Button btn = (Button)findViewById(R.id.btn_switch);
int tag =btn.getTag();

if ( tag == 0 )
{
btn.setTag(1);
setLight(true);
}

super.onResume();
}


private void setLight(boolean ison)
{
if (ison)
{
camera = Camera.open(); // 카메라 객체 얻어옴
p = camera.getParameters(); // 현재의 카메라 상태 얻어옴
p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); // 후라시를 켜는 상태로 변경
camera.setParameters(p); //후라시 상태를 카메라객체에 적용
camera.startPreview(); // 카메라상태에 맞게 카메라를 동작
}
else
{
p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); //후라시 상태를 꺼진 상태로 변경
camera.setParameters(p); // 후라시 상태를 카메라객체에 적용
camera.stopPreview();//카메라상태에 맞게 카메라 중지
camera.release(); // 카메라객체를 release 해줌
}

}
@Override
public void onClick(View p1)
{
// TODO: Implement this metho
Button btn = (Button)p1;
int tag =btn.getTag();
tag = tag==1 ? 0 : 1; // 버튼클릭시 켜짐/꺼짐 상태를 토글시켜줌
btn.setTag(tag);
setLight(tag==1); // 토글된 상태에 맞게 카메라 조작
}

}

------------------------------------------------------------

main.xml ( 버튼 하나만 커다랗게 띄운다 )


<?xml version="1.0" encoding="utf-8"?>
< LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical">

< Button
android:layout_height="match_parent"
android:text="ON / OFF"
android:layout_width="match_parent"
android:id="@+id/btn_switch"/>

< /LinearLayout>
-----------------------------------------------------------------

AndroidManifest.xml ( 카메라 권한을 준다. 그리고, 세로방향으로만 되도록 한다.)


<?xml version="1.0" encoding="utf-8"?>
< manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.kongmemo.app"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />
< uses-permission android:name="android.permission.CAMERA"/>
    <uses-feature android:name="android.hardware.camera"/>

< application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:label="@string/app_name"
            android:name=".MainActivity"

            android:screenOrientation="portrait" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

< /manifest>


List of Articles
번호 제목 날짜 조회 수
237 안드로이드 - RecyclerView 안에 RecyclerView 구현하기 file 2021.04.02 502
236 안드로이드 - Json 파싱하기 file 2021.04.02 851
235 안드로이드 - 타이머(Timer) 구현하기 2021.04.01 1369
234 안드로이드 - SQLiteDatabase 구현하기 file 2021.04.01 249
233 안드로이드 - 리사이클러 뷰(RecyclerView) 구현 file 2021.04.01 390
232 안드로이드 - 네비게이션 드로어(Navigation Drawer)를 활용하여 슬라이드 메뉴 구현하기 file 2021.04.01 1862
231 안드로이드 - 툴바(ToolBar)를 사용하여 앱바(App Bar) 구현하기 file 2021.04.01 455
230 안드로이드 - 프로그레스바(ProgressBar) 구현하기 file 2021.04.01 451
229 안드로이드 - AsyncTask 구현 예제 file 2021.04.01 280
228 안드로이드 - 액티비티(Activity)와 액티비티 생명 주기(Activity Life Cycle) file 2021.04.01 225
227 안드로이드 - 리스트뷰(ListView) 구현 file 2021.04.01 490
226 안드로이드 - 컨텍스트 메뉴(Context Menu) 사용 예제 file 2021.04.01 207
225 안드로이드 - 옵션 메뉴 (Option Menu) 구현 방법 file 2021.04.01 283
224 안드로이드 - 명시적 인텐트(Explicit Intent)와 암시적 인텐트 (Implicit Intent) file 2021.04.01 324
223 안드로이드 - 날짜 및 시간 정보 입력받기 (DatePickerDialog / TimePickerDialog) file 2021.04.01 1772
222 안드로이드 - setContentView()와 레이아웃 전개자(LayoutInflater) 2021.04.01 227
221 안드로이드 - AlertDialog 사용하여 알림창 띄우는 방법 총정리 file 2021.03.31 690
220 안드로이드 - SnackBar를 사용해 팝업창 띄우기 file 2021.03.31 282
219 안드로이드 - 토스트(Toast) 메시지 사용하기. file 2021.03.31 323
218 안드로이드 - 액티비티(Activity)로부터 결과 데이터 받아오기 file 2021.03.31 483
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved