Android
-
코틀린의 컬렉션 함수Android 2022. 8. 25. 17:48
코틀린에서는 배열을 컬렉션이라고 하는데 그것을 편하게 다루게 해주는 컬렉션 함수(List Map 등등)가 있다. 그런데 사용법이 조금 특이하다. 코틀린에선 안의 값을 수정할 수 있는 컬렉션과 수정할 수 없는 컬렉션으로 나눠서 만들어놓았다. val, var의 차이를 컬렉션에서도 구현해놓은 것 같다. 시작하기 전에 코틀린의 컬렉션이 가진 상속 구조를 그림으로 표현한 것부터 간단하게 보고 넘어가자. 앞에 Mutable만 없었다면 자바에서 자주 보이는 것들이다. 그럼 List부터 어떤 식으로 만드는지 확인하자. List List는 "목록, 명단, (특정 순서로) 열거하다"란 뜻이 있는 단어다. 그래서 List에는 하나 이상의 값들을 넣을 수 있다. 코틀린에서 이 리스트란 놈을 만들려면 어떻게 해야 할까? fun..
-
탭호스트로 인탠트 연결하기Android 2022. 8. 22. 17:19
카톡이나 인스타그램 같은 앱을 보시면 하단에 탭 버튼이 있어, 각 탭을 눌러서 화면을 이동할 수 있도록 되어있다. 탭 호스트는 탭 버튼에 맞는 화면을 갈아끼울 수 있는 장소라고 생각하면 된다. 각 버튼에 맞는 화면은 1개씩만 지정이 가능하고 사진을 연결할 수도 있고, xml을 따로 연결할 수도 있어서 각 탭 버튼에 맞는 화면 구현이 가능하다. 각 탭버튼마다 xml을 연결한다면, 필요한 xml의 개수는 4개다. 탭 호스트 xml 1개, 각 화면에 맞는 xml 3개! activity_main.xml 프레임 레이아웃 안쪽 리니어 레이아웃이 3개가 있다. 이 리니어 레이아웃의 개수가 버튼의 개수라고 생각하시면 된다. 만약 탭 버튼들이 하단이 아니라 상단에 위치하는것을 원한다면 탭위젯을 프레임레이아웃 바로 위로 ..
-
안드로이드 프래그먼트 간 데이터 전달Android 2022. 8. 19. 18:47
번들을 사용하여 프래그먼트 간 데이터를 전달하는 간단한 예제이다. (Fragment는 FragmentActivity 내의 어떤 동작 또는 사용자 인터페이스의 일부를 나타냅니다. 여러 개의 프래그먼트를 하나의 액티비티에 결합하여 창이 여러 개인 UI를 빌드할 수 있으며, 하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있습니다.) 출처 : https://developer.android.com/guide/components/fragments?hl=ko 프래그먼트 | Android 개발자 | Android Developers A Fragment represents a behavior or a portion of user interface in an Activity. You can combine multipl..
-
파이어베이스 데이터 읽기Android 2022. 8. 17. 20:29
1. 참조하는 위치가 더이상 분열되지 않고 끝자리라면 username까지 참조해서 "러아니푸"값 하나만을 직접 받아오기 구동시킬 자바.class 2. 참조되는 부분 아래로 값이 여러개 있는 경우 Together_group_list 아래의 그룹명인 한울을 참조하고있고, 한울 속에있는 속성 여러개를 받아오고 싶을때 구동시킬 자바.class Together_group_list.class 3. 정수형을 받아오고 싶은 경우 구동시킬 자바.class 저장된 값을 받아와서 1증가시키는 코드이다.. 파이어베이스는 json형태로 저장되기 때문에 int로 값을 저장했어도 받아올때는 int로 형변환을 해줘야한다.
-
리사이클러뷰Android 2022. 8. 15. 16:43
리스트 모양으로 보여줄 수 있는 위젯으로 리사이클러뷰(RecyclerView)가 있다. 리사이클러뷰는 기본적으로 상하 스크롤이 가능하지만 좌우 스크롤도 만들 수 있다. 왜냐하면 처음 만들어질 때부터 레이아웃을 유연하게 구성할 수 있도록 설계되었기 때문이다. 그리고 이름에서 살펴볼 수 있듯이 뷰 객체를 '재활용(Recycle)'한다는 느낌 그대로 각각의 아이템이 화면에 보일 때 메모리를 효율적으로 사용하도록 캐시(Cache) 메커니즘이 구현되어 있다. 캐시 메커니즘? 기술의 발전으로 프로세서 속도는 빠르게 증가해온 반면, 메모리의 속도는 이를 따라가지 못했다. 프로세서가 아무리 빨라도 메모리의 처리 속도가 느리면 결과적으로 전체 시스템 속도는 느려진다. 이를 개선하기 위한 장치가 바로 캐시(Cache)다...
-
리스트뷰와 어댑터Android 2022. 8. 13. 18:22
리스트뷰(ListView)란 데이터 목록을 화면에 출력하는 뷰이다. 텍스트, 사진, 버튼 혹은 사용자가 정의한 구조 등을 출력할 수 있고, 데이터 목록이 화면을 넘어가면 스크롤을 이용할 수 있도록 제공한다. 쉽게 말하자면 카카오톡의 채팅창 목록도 리스트뷰다. 같은 형태의 데이터가 이어져 있는 모습이다. 어댑터(Adapter)란 데이터와 리스트뷰를 연결해 주는 관리자이다. 배열에 저장되어 있는 데이터를 리스트뷰에 띄울 수 있도록 도와준다. activity_main.xml 뷰를 끌어다 놓을 수 있는 Palette 에서 Legacy - ListView를 찾아 끌어다 놓으시면 추가가 가능하다. xml은 저번 글에서 적어놨었다. MainActivity.kt ① 우선, 띄우고 ..
-
텍스트 입력 이벤트 처리Android 2022. 8. 10. 15:58
안드로이드 앱에서 사용자로부터 값을 입력받을 때 사용되는 View 위젯 중 EditText가 있다. 앱을 구현하다 보면 이러한 EditText의 Text 입력값이 변경될 때마다 특정 작업을 처리해야 할 경우가 있다. 이때는 TextWatcher 인터페이스를 구현하여 EditText의 이벤트 리스너로 등록하여 처리가 가능합니다. 1. TextWatcher 인터페이스 필수 구현 함수들 ■ beforeTextChanged(CharSequence s. int start, int count, int after) CharSequece s : 현재 EditText에 입력된 값 int start : s에 저장된 문자열에서 새로 추가될 문자열의 시작 위치 값 int count : s에 새로운 문자열이 추가된 후 문자열의..