본문 바로가기

Android

Firebase를 통한 로그인 구현 오늘 알아볼 내용은 Firebase를 통해서 인증된 사용자만 로그인 할 수 있도록 구현하는 방법에 대해서 알려드리겠습니다. 1) Firebase 프로젝트 만들기  프로젝트를 생성하는데 Google 애널리틱스는 사용설정 권장으로 해 둔 상태지만 전 없는 비활성화한 상태로 진행하겠습니다.   2) 안드로이드를 추가해서 시작합니다.   3) 안드로이드 선택해서 Firebase 추가할 때 Android 패키지이름(AndroidManifest에 있음)을 넣어줍니다.그 외 선택사항은 스킵해두겠습니다.   AndroidManifest에 혹시 없으면 액티비티 아무거나 들어가면  package가 맨 상단에 정의되어 있습니다.   4) google-services.json 파일 다운로드 후 앱 수준의 루트 디렉토리에 넣어.. 더보기
Network / Service (feat. Retrofit) 오늘 확인해 볼 내용은 api.github.com에서 데이터를 크롤링하는데, Retrofit을 이용하여 데이터를 받아오고결과를 RecyclerView의 ListAdapter를 통해 보여주는 앱을 만들어 볼 것입니다.큰 틀로 우선 목차를 먼저 설정 후 순차적으로 진행해보도록 하겠습니다. 1) Retrofit / Retrofit-Gson implementation2) object 형태로 객체 생성없이 어디서든 쓸 수 있도록 하며, 공통적으로 사용할 Retrofit, okHttpClient, GsonBuilder 등을 여기서 구현할 것3) Service 인터페이스를 만들것(요청 보낼 곳을 설정하고 GET/POST/PARAM 등 다양한 구조로 정의)4) Network 클래스 생성(→Service 인터페이스를  .. 더보기
Network - OkHttpClient / Socket 통신 Socket1) TCP/IP 통신2) Http 통신 3) 양방향 통신으로 서버 ↔ 클라이언트 End Point를 연결 소켓으로 서버를 구성할 경우 우선 다음 순차에 맞춰 구현하면 됩니다.1) ServerSocket(Port)로 서버를 생성한다.2) 서버로부터 데이터 받을 준비를 하기 위해 연결 요청을 수락하는 accept()를 정의한다. ( = Socket)3) 2의 경우의 객체를 socket으로 했을때 inputStream을 Buffer에 넣어둔다 (= 클라이언트 → 서버 로 데이터 전송)4) 3을 한 다음에 socket의 outputStream을 PrintWriter에 넣어둔다. (= 서버 → 클라이언트로 데이터 전송)5) 3번의 경우에 대해 Client → Server로 데이터 요청을 진행하는 것이.. 더보기
WebView & ViewPager2 / Fragment 이번 포스팅에서는 앞서 포스팅에서 한 ViewPager2에 대해 Fragment를 이용한 방법을 소개하려 합니다.기본적으로 ViewPager2는 RecyclerView를 토대로 구성되어 있기 때문에 RecyclerView.Adapter 형태로어댑터를 구현하여 붙일 수 있다고 말씀드렸습니다. 하지만 이러한 어댑터를 FragmentStateAdapter를 이용해서 붙인다면, ViewPager2에 보이는 화면이각각 Fragment로 구성되어 보여질 수 있습니다. 여기에 더해서 TabLayout을 하여 뷰페이징 되는 과정에 탭도 이동할 수 있도록 진행해보겠습니다.[activity_main.xml]  다음과 같이 TabLayout을 설정하는데 ViewPager2가 Top_Bottom을 TabLayou.. 더보기
ViewPager2와 TabLayout 이번에는 앞서 만든 사진을 나만의 앨범 만들기 버튼을 클릭해서 뷰페이징 형태로 스와이핑하여 볼 수 있도록 하고 TabLayout과 TabLayoutMediator를 통해서 아래 몇 번째 사진인지 표시하는 방법을 설명하겠습니다.    [결과사진]  내용을 보듯이 사진을 스와이핑하여 뷰페이징이 가능하고 아래 탭 레이아웃으로 사진 표시가 되어 몇 번째 장인지 확인이 가능합니다.  코드를 보기전에 우선 ViewPager2에 대해서 좀 더 알아보겠습니다.   ViewPager2 ViewPager와 같은 역할을 하지만 더 개선된 버전이며 여러 기능이 추가되었습니다. 1) android:orientation [horizontal, vertical] 을 통해 페이징 방향을 수평 또는 수직으로 설정할 수 있음 2) an.. 더보기
Permission 처리와 ListAdapter 활용법 오늘은 사진첩 만드는 과정을 진행할 겁니다.  틀은 다음과 같습니다.  이런 느낌의 사진첩을 만들건데 여기서 필요한 것은 다음과 같습니다.1) RecyclerView (GridLayout을 통한 레이아웃매니저 관리)를 활용한 뷰규성2) 이미지는 불러온 만큼 들어오고 나머지엔 사진 불러오기.. 문구가 들어가는것으로 보아item.xml은 두 개가 필요하며 하나는 이미지뷰 다른 하나는 TextView로 셋팅하면 될 것입니다.3) 사진첩 접근에 대한 권한 확인4) 사진을 가져올 때 Uri로 넣고 사진 불러오기 + 사진불러오기 선택시 해당 itemView에 리스너달기5) sealed class 안에 data class(모델 -> 이미지(uri)), object 형태(싱글톤 느낌으로 상속 중인 클래스에 쉽게 접근하.. 더보기
RoomDB 활용 방법과 Coroutine 사용 이번 포스팅에서는 단어장앱-1(RecyclerView)의 후속으로 직접 데이터베이스를 관리하는 로직(RoomDB)과데이터를 활용했을때 워커스레드에서 작업하는 방식으로 Coroutine을 통한 처리를 말씀드리겠습니다. RoomDB를 먼저 알아보기 위해서 다음 일련의 과정을 진행할 것입니다.1) build.gradle(app)에서 room.runtime, room.ktx와 같은 필요한 라이브러리를 추가합니다.2) Model로 data class를 만드는데 객체 형태로 주고받을 수 있도록 Parcelable로 선언해둡니다.3) Dao를 만들어 쿼리를 구현합니다.4) Database를 만들고 Entities를 셋팅합니다.  (Entity는 테이블과 같은 느낌으로 data class랑 연결해둡니다.)5) 데이터베.. 더보기
단어장앱-1 (RecyclerView) 이번 포스팅에서는 단어장 앱 개발에 대해 설명드리고자 합니다.2편으로 나눠서 설명할 것이며 이유는 담는 내용이 많기 때문에 나눠서 설명하겠습니다. * RecyclerView 1) xml에 RecyclerView를 선언한다.2) Collection으로 만드는 model 하나를 구현한다. (data class)3) item으로 쓸 xml을 만들고 내부 위젯들을 구성한다.4) Adapter를 생성한다.  [ㄱ. onCreateViewHolder ㄴ. onBindViewHolder ] 필수!! 5) onCreateViewHolder에서 4의 item.xml을 inflate한다.6) onBindViewHolder에서 list의 postion 값으로 하나의 객체를 뽑아온다.7) holder를 통해 요소에 접근할 수.. 더보기

반응형