솜이의 데브로그

안드로이드 스튜디오 실습 #23 ~ #26 본문

Security/이프로_Phishing Fishing

안드로이드 스튜디오 실습 #23 ~ #26

somsoming 2021. 5. 24. 13:17

영상 출처는 여기

 

#23강 뒤로가기 두 번 눌러 앱 종료

  • MainActivity.java

 

BackBtnTime이라는 변수를 선언한다.

onBackPressed() : 실제로 Back 버튼을 눌렀을 때 뒤로가기 기능이 활성화된다.

현재 시간을 millisecond으로 하여 currentTime.

 

2초안에 한번 더 누르게 되면 실제 back button이 작동하면서 꺼지게 되는 코드이다.

 

실행 결과

 

다음과 같이 한번 back 버튼을 누르면 토스트가 뜨고, 2초안에 다시 누르면 종료됨을 확인 할 수 있다.

 

 

#25강 SNS 앱 만들기(인스타그램 하단 바)

 

Bottom navigation view : sns 어플 하단에 네비게이션 형태의 ui 처리.

 

  • Gradle Scripts > build.gradle(:app)  (Module)

 - dependencies 항목에 implementation 'com.google.android.material:material:1.0.0' 추가.

 

아이콘 추가하기 위해 res > drawable > new > vector asset 에서 아이콘 추가.res > new > Android Resource Directory  > resource type 을 menu로 설정.이렇게 만들어진 menu에서 new > New Resource file 

 

  • bottom_menu.xml

item 을 5개 추가한다.

 

  • activity_main.xml

constraint layout 사용. Design 탭에서 사용하는 것이 편리하다.

 

이후 fragment layout 들을 추가한다. 총 5개를 추가하여 각각 frag1,2,3,4,5.xml 로 이름을 지정한다. ex) frag1.xml

 

fragment java 파일 역시 추가한다. ex) Frag1.java

onCreateView 메서드 추가

 

  • MainActivity.java

 fm.beginTransaction : 실제 fragment 교체가 이루어질 때 fragment를 가져와서 transaction.

 

클릭이 되었을 때 각각의 setFrag 이용해서 fragment를 transaction, 즉 교체를 한다.

 

 

실행 결과

각 버튼을 누를 때 마다 화면이 바뀜을 확인 할 수 있다. (0, 1, 2, 3, 4 번째 fragment 구현)

 

 

#26강 Start Activity For Result

3강 Intent 편에서 Start Activity 참고.

A에서 B Activity로 이동 후 파괴후 돌아오면서 A activity 에서 B로부터 데이터를 전달받아 돌아오는 개념. 즉, 결과를 위해 다른 activity로 넘어갔다가 돌아오는 메서드.

 

  • activity_main.xml

 

간단하게 textview 와 button 을 하나씩 생성한다. (Linear Layout 이용)

 

  • MainActivity.java

 

버튼을 눌렀을 때 onClick 메서드 실행. (오버라이딩)

Intent 이용해 넘어갈 activity를 인자로 입력한다.

 

 

onActivityResult 메서드 오버라이딩

: 위의 startactivityForResult로 날린 값을 여기서 받는다. resultCode 와 requestCode 구분.

resultCode 는 setResult에서 넘어온 값이고, requestCode는 btn_go 눌렀을 때 REQUEST_CODE 담았던 수.

 

  • activity_sub.xml

 

넘어갈 activity 화면을 구성한다. 사용자로부터 값을 입력받기 위해 Edit Text와 Button 하나씩 생성한다.

 

  • SubActivity.java

Intent 이용하여 et_comeback에 입력 받은 값을 전달하고(RESULT_OK) 현재 액티비티를 파괴하면서 종료한다.

 

실행 결과

첫 화면에서 Go 를 눌러 뜨는 창에 값을 입력한 후, 종료 버튼을 누른다.

값을 입력하고 종료버튼을 누르면 다시 첫 화면으로 넘어가고, 수신 성공이라는 Toast 메세지가 뜨는 것을 확인 할 수 있다. 마지막 화면의 상태에서는 subActivity는 파괴되어 있는 상태이다.