본문 바로가기

Android

Android : 스피커. 마이크 다루기 스피커. 마이크 다루기 간단한 예제를 위해 버튼 3개 배치. button.setEnabled(boolean) 을 통해 활성화 / 비활성화를 제어할 수 있다.첫 실행시에는 PLAY할 녹음본이 없고 PLAY중이 아니라면 STOP할 것도 없으므로 RECORD 버튼만 활성화한다. btn_play.setEnabled(false); btn_stop.setEnabled(false); btn_record.setEnabled(true); 마이크가 현재 하드웨어에 존재하는지 확인하는 코드 추가. //마이크가 있는지 없는지 확인 if(getPackageManager().hasSystemFeature(PackageManager.FEATURE_MICROPHONE)) { //현재 하드웨어 정보를 가져옴 btn_play.setEn..
Android : 문자캐치 문자캐치 회원가입 등에서 핸드폰인증을 할 때 인증문자가 오면, 문자에 쓰인 인증번호가 자동으로 폼에 입력되는 것을 보았을 것이다.4대 컴포넌트중 하나인 BroadCastReceiver 이용하여 사용자의 상태를 읽고 문자가 오면 내용을 받아오는 예제를 구현해본다. New - Other - Broadcast Receiver 로 리시버를 만든다. Manifest.xml에 가서 receiver가 생긴것을 확인하고 컴포넌트의 중간다리인 intent 태그 안에 문자캐치를 위해 아래 코드를 추가한다. 퍼미션을 추가한다. 마쳤으면 smsReceiver.java 액티비티를 생성하고 인텐트객체를 생성한다.setFlags() 메소드를 통해 어플이 꺼져있거나, 백그라운드에서 실행되는 경우 등을 통제한다. smsReceiver..
Thread handler를 이용한 두더지게임- 2 Thread handler를 이용한 두더지게임 - 2 지난 포스팅에서 쓰레드를 이용해 스탑워치를 만들었다.스탑워치를 이용해 30초라는 게임제한시간을 구현하고, 게임시작을 누르면 카운트다운이 되게 했다. package com.example.pc_20.molegame; import android.content.Intent; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; ..
Thread handler를 이용한 스탑워치 Thread handler를 이용한 스탑워치 프로세스란 컴퓨터에서 연속적으로 실행되고있는 컴퓨터 프로그램을 말하며, 쓰레드란 하나의 컴퓨터 프로그램 내에서 둘 이상의 작업을 동시에 진행하는(것처럼 보이는) 프로세스보다 작은 단위를 뜻한다. 실제로는 동시에 진행하는 것이 아니지만, 매우 작은 시간으로 쪼개서 실행하기에 동시에 실행된 것처럼 보인다. 이 포스팅에서 스탑워치를 만든 후 다음 포스팅에 이어질 스탑워치를 응용한 두더지게임을 만들어보며 안드로이드에서의 Thread와 Thread handler에 대해 알아보자. 쓰레드를 만드는 방법에는 2가지 방법이 있다. Thread를 상속받는 방법 Thread 클래스를 상속(extends) 하여 구현하는 방법이다.뒤의 방법보다 사용하는 방법이 간단하다.상속 후 r..
Android : INTENT 와 예제 INTENT Android의 4대 컴포넌트(component) -Activity : 화면에 표시되는 UI 구성을 위해 가장 기본이 되는 요소. -Service : 앱이 꺼져도 동작하기 위한 컴포넌트로, Background에서 동작 (예: 알람, 멜론 등) -Boardcast Receiver : 내 폰에서 일어나는 모든 일을 캐치할 수 있게 하는 component -Content Provider : 어플간 데이터를 주고받게 해준다 (예: 카톡-주소록) Intent 는 이 component들의 중간다리라고 할 수 있다. - 호출요구 : 액션 + 데이터 Activity A -> Activity B - 결과값 반환 : 결과(선택적)을 돌려받음 Activity A
Android : Layout Layout 리니어 레이아웃(LinearLayout) 박스모델한쪽 방향대로 차례대로 뷰를 추가하며 화면을 구성하는 방법이다.뷰가 차지할 수 있는 사각형 영역을 할당한다.자유도가 무척 낮다.속성 orientation에서 수평/수직 변경 가능하다.레이아웃 안에 레이아웃을 삽입해서 표처럼 만들수도 있다. 상대 레이아웃(RealativeLayout) 규칙기반 모델부모 컨테이너나 다른 뷰와의 상대적 위치로 화면을 구성하는 방법이다. 부모 컨테이너와의 위치속성다른 뷰와의 위치속성 응용리니어 레이아웃을 이용해 숫자 빨리누르기 게임을 만들어 보았다. 코드package com.example.pc_20.layout; import android.support.v7.app.AppCompatActivity;import andr..
안드로이드스튜디오 단축키 안드로이드스튜디오 단축키 Editing Ctrl + Space : 기본 코드 완성Ctrl + Shift + Space : 스마트 코드 완성(예상되는 타입의 메소드또는 변수명 )Ctrl + Q : 빠른 문서보기Shift + F1 : 외부 문서보기(http://developer.android.com/reference로 이동)Ctrl + mouse over code : 간단한 설명.Alt + Insert : Generate code( Getters, Setters, Constructors, hashCode/equals, toString )Ctrl + O : Override methodsCtrl + I : Implement methodsCtrl + Alt + T : Surround with… (if..else,..