본문 바로가기

728x90
반응형

분류 전체보기

(130)
2021-03-26안드로이드 스튜디오(알림설정[Notification]) 어제에 이어 위엄권한과 브로드캐스트 공부이다. 색별로 셋팅을 따로 해줄수 있다 . *프로젝트이름은 매니패스트에서 라벨변경해주면 변경가능하다 실제 핸드폰화면인데 이렇게 보는 것이 알림이다 . ( 카카오톡 생각하면 된다 ) 이런것들을 설정할 수 있는게 알림이다. (내가 만들고 싶은 앱 보탐봇에 필수적인 요소 ) 코드보자 메인 액티비티 public class MainActivity extends AppCompatActivity implements View.OnClickListener { // 알림을 시스템에 발생시키는 SystemService NotificationManager manager; // 알림을 다양한 정보로 생성 NotificationCompat.Builder builder; Button basi..
2021-03-25안드로이드 스튜디오(브로드캐스트3 , 위험 권한) 위험 권한은 앱이 실행되는 시점에 수락을 해야 동작을 한다 라고 알고 있자 ! 어제 배운 내용들을 사용하여 오늘 위험권한에 대해서 살펴 볼것이다. 어제 작성한 코드를 보면 sms를 받으면 그 정보들을 받아와 브로드캐스트에서 받아서 나의 앱에 던저주는 것까지 했다 그런데 sms와 같이 아에 외부에서 들어오는 글로벌 이벤트 말고도 핸드폰에서 보내는 시스템 브로드캐스트라는 것도 있다. 전화로 예를 들면 전화가 왔을때 , 전화를 걸었을때, 배터리가 없을때 , 배터리를 충전할때 등과 같이 시스템에서 보내는 정보들도 브로드캐스트로 받아줄 수 있다. 하지만 나의 앱에서 이러한 정보들을 사용할려면 먼저 사용자에게 동의를 얻어야 사용할 수 있다. 그게 위험권한인것이다. 말로 설명하는 것보다 코드를 보면서 이해를 하도록 ..
2021-03-24안드로이드 스튜디오(브로드캐스트2, 위험권한) 어제에 이어 오늘도 브로드캐스트에 대해서 한번 더 짚고 넘어가자 어제는 문자가 왔을때 브로드캐스트에서 정보를 받아오는 것과 위험 권한을 주는것에대해서 살짝 했었다 오늘은 실제로 넘어온 정보를 뜯어서 나의 어플리케이션에 직접 사용해 보자~! 코드 살펴 보자~ public class SMSReceiver extends BroadcastReceiver { //날짜를 받을때 이렇게 포멧하겠다 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd-HH:mm:ss"); @Override // 메시지가 오면 이메소드가 자동호출됨 public void onReceive(Context context, Intent intent) { Bundle bundle = i..
2021-03-23안드로이드 스튜디오(브로드캐스트) 브로드캐스트 .... 넘나 어렵게만 느껴 지는데 .. 글로만 봤을땐 외부에서 들어오는 신호를 수신하는것! 혹은 송신하는것 카톡에서 여러 사람들에게 메시지를 전달할 때 그룹 채팅으로 메시지 보내는것 안드로이드도 여러 앱 구성요소에 메시지를 전달할 때 브로드캐스팅을 사용함 브로드캐스트 수신자는 onReceive()메소드를 정의해야된다 왜냐 이 메소드는 원하는 브로드캐스트 메시지가 도착하면 자동으로 호출 된다. 그런데 시스템의 모든 메시지를 받을수 없기에 인텐트 필터를 사용해 걸러줘야한다 ( 모든 메시지는 인텐트안에 전달 되기 때문) 일단 브로드캐스트리시버를 만들고나면 다음 코드처럼 태그가 추가 되는데 그 추가에 액션값을 넣어준다 name속성에 수신자 이름 지정하고 intent-filter에 액션정보 넣어준다..
2021-03-22안드로이드 스튜디오(서비스 ) 서비스란 백그라운드에서 실행되는 어플리케이션의 구성요소 이다 쉽게 내 메인이 실행하는동안에 뒤에서 작업하는 공간이라고 생각하면 된다 (유튜브 프리미엄 생각하자 ) 서비스에도 따로 자기만의 생명주기가 있다. 사용하는 방법은 2가지 방법이 있다(서비스 , 바인드 서비스 ) (같은색끼리 묶음) 스타트와 스탑으로 실행과 종료한다 매니패스트 자동으로 추가됨 일단 Context.startSrevice부터 살펴 보도록하자 메인액티비티 public class MainActivity extends AppCompatActivity { EditText editText; Intent intent; //(태스크 때 배운것 정보불러오기) 서비스에서 작업하고 넘겨준 값을 받아옴 @Override protected void onNe..
2021-03-19 안드로이드 스튜디오(레이아웃 인플레이션 , 어플리케이션 구성하기) 레이아웃 인플레이션 메모리에 올라가서 객체가 되는 과정이다 그렇게 인플레이션 된 레이아웃을 setContentView 메소드로 레이아웃 파일과 매칭 시키는 것이다. (보통 메인클래스에 setContentView(R.id.activity_main) 이렇게 되어있다 ) 하지만 보여지는 화면에 하나의 레이아웃 파일만 있으라는 법은 없다 그래서 한개의 화면에 다른 레이아웃화면을 띄울 때 나머지 레이아웃도 인플레이션 해주어야 하는데 그것을 아래의 코드로 할 수 있다. getSystemService(Context.LAYOUT_INFLATER_SERVICE) 를 사용하여 해줄수 있다. (다른 레이아웃.xml 파일을 인플레이션 해주는 기능) package com.example.chap11; import androidx..
2021-03-18 안드로이드 스튜디오( 사용자 이벤트 처리와 리소스2 ,애니메이션) key 입력 이벤트 처리하기 일반적인 키코드값은 정수로 받아들여진다 위 사진에 보이는것처럼 각종 키버튼에 대한 이벤트 처리를 할 수 있지만 키 고유의 기능때문에 잘 사용하진않지만 그 중에 가장 많이 사용되는 BACK버튼으로 실습을 진행해 보았다 BACK버튼을 잘못눌럿을때 어플이 종료되는것을 막기위해서 일정 시간안에 한번더 눌러야 종료가 된다 던지 BACK버튼 을 눌럿을때 팝업창을 하나 띄워 한번더 물어보게 한다던지 등으로 사용 할 수 있는데 이번 실습은 일정 시간안에 한번더 눌러줘야 종료되는것으로 해볼것이다 메소드 오버라이드를 하여 사용하는 2가지 방법이 있다 제너레이트 > 오버라이드 메소드 하고 아래의 두가지 코드둘다 사용가능하다 @Override 빽버튼 키코드로 다른것들도 사용 가능 public bo..
2021-03-17 안드로이드 스튜디오( 태스크3 , 사용자 이벤트 처리와 리소스 활용 ) FLAG_ACTIVITY_RESET_TASK_NEEDED 같은거 같지만 의미가 다르다 최신실행앱으로 재실행 하게 되면 탑 액티비티로 복귀 한다 그런데 다른점은 매니패스트에 clearTaskOnLaunch 를 적어주게 되면 상위 액티비티를 정리해준다 앱을 다시 실행한듯한 느낌을 줄때 사용을 한다 finishOnTaskLaunch (NoHistory 랑 비슷 ) 이것은 앱을 다시 실행 했을때 그 액티비티만 제거됨 clearTaskOnLaunch는 루트부터 실행 하지만 이건 설정된 액티비티부터 탑까지 제거 사용자 이벤트 처리와 리소스 활용 지금 까지 많이 사용해본것이 터치 리스너 이다 하지만 터치 리스너 말고도 많은 것들이 있는데 한번 살펴 보자 대표적인 이벤트로는 아래의 것들이 있다 터치 이벤트 -화면을 손..

728x90
반응형