기본 콘텐츠로 건너뛰기

4월, 2022의 게시물 표시

안드로이드 앱 만들기 : 채팅 방 만들어 보기 (feat : jetpack compose)

원본출처: 티스토리 바로가기 오늘은 firebase의 real time database에 채팅방 개설을 하는 기능을 구현해 보아야겠다.  먼저 저장할 채팅방의 데이터 구조체를 구현해 보자.   import java.util.* data class ChatRooms( var chatRooms:String = "", var chatTitle:String = "", var roomOwner:String = "", var chatNo:String = "" ) 들어가는 항목은 방 이름, 방제목, 방 개설자, 방 번호(이건 key로 사용할 것)   firebase의 realtime database 연동을 위한 준비는 이전에 posting 했던 글이나, 구글에서 찾아보면 많이 나오고 있으므로 생략...   다음은 데이터를 가져오고 저장하는 것을 구현하기 위해서 viewmodel을 하나 만들었다.     jetpack compose 을 이용해서 setContent로 만든 화면은 앱이 시작될 때 구성이 마무리되기 때문에 화면 구성이 된 이후에 데이터를 화면에 보여주는 작업을 하기 위해서 onCreate에서 데이터를 읽어오고 하는 것을 해 보기는 했는 데, 데이터가 online으로 받아서 저장을 하는 것이다 보니, 화면이 구성된 이후에는 변화가 생기지 않았다.   그래서 구글 검색을 통해서 확인한 방법은 viewmodel을 이용하여 구현하는 방법이 있는 것을 알게 되었다.   import android.util.Log import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateListOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runti

여름이 벌써 내 곁에...

원본출처: 티스토리 바로가기 점심을 먹고 나선 길에서 만난 여름... 가로숲   이렇게 보면 마치 어느 시골에 있는 가로수길 같은 느낌이 들기는 하다.  정작 이 곳은 길도 아니고 사무실 근처 정부청사앞 숲 공원의 나무들 사이다.   사진만 보면 여유로운 시간을 가지고 멀리 나들이 나간 것 같기는 하지만...   늘상의 시간이 지나가고 있고, 그 와중에 이 봄은 중간쯤 와 있는 것 같기는 하지만, 기온등의 날씨로 봐서는 선뜻 여름이 다가와 섰다고 느껴진다.   그렇게 또 한 계절이 스치고 지나간다.  나른한 봄 기운이 좋은 시절이기는 한데, 나의 마음에 아직도 어두운 밤 공기만 가득한 지 ?  긍정의 에너지만 있어야 할 것 같은 시기이기도 하지만, 정작은 ...   그래도 오늘 하루를 마무리 하며... 좋은 일만 함께 하길 바란다. 이 시간도 어느새 지나갈 테이니...       이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

안드로이드 앱 만들기 : 메인 화면으로 넘어가기...

원본출처: 티스토리 바로가기 지난번에는 로그인하는 화면을 만들었으니, 이번에는 로그인해서 나오는 메인을 구현해 볼 요량이다.  메인화면 예시   메인화면이라고는 뭐 아직 버튼 2개와 타이틀 하나를 달았을 뿐이다.                                                                         이것이 그냥 Layout 을 이용해서 작업을 하고 있다면 조금은 더 쉽고 빠르게 될 것 같기는 하나, 이왕 배우기 시작한 jetpack compose을 활용해서 만들어 보기로 했다.   import android.os.Bundle import android.util.Log import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import com.billcoreatech.multichat416.ui.theme.MultiChat416Theme import com.billcoreatech.multichat416.widget.buttonAddChatRoom import com.billcoreatech.multichat416.widget.buttonLogOut import com.billcoreatech.multichat416.widget.titleView import com.google.android.gms.auth.api.signin.GoogleSignIn import com.google.android.gms.auth.api.signin.GoogleSignInClient import com.google.android.gms.auth.api.signin.GoogleSignInOptions import com.google.android.gms.tasks.OnCompleteListener import com.google

안드로이드 앱 만들기 : 멀티 언어 채팅 앱 만들기 (Jetpack compose 활용해 보기)

원본출처: 티스토리 바로가기 이 나라에는 여러 나라의 사람 들어와 살고 있다.  코리안 드림을 꿈꾸며... 한 때는 이 나라의 사람들이 아메리칸드림을 꿈꾸며, 미국으로 떠났던 것처럼... 그래서 이번에는 다국적 언어를 이용한 채팅앱을 하나 만들어 볼까 한다.   잘 될지는 모르겠지만, 그러면서 Jetpack Compose 을 이용한 화면 구성 등에 대한 공부를 해 볼 요량이다.  오늘은 그 처음으로 로그인 페이지를 하나 만들어 보고자 한다.    로그인 페이지 이 화면을 layout 으로 그리라고 했다면 아마도 금새 그리지 않았을까 하는 생각이 든다.   화면에 Card box 와 Text가 들어간 button 기능 3개 제목 이름 표시 하나   그런데, 난 이 화면 하나를 그리기 위해서 며칠을 고민했고, 예제를 하나 찾았다. 그리고 그 예제를 참고해 가면서 화면을 그렸다.   그러자니, 3시간쯤... 지났다.   예전 project 파일에서 필요한 기능 몇개를 가지고 왔고, 그리고는 이제 완성이 되었다.   그냥 layout 으로 그리는 것이 나은가?  쉽게 그리는 데는 그것이 낫을 것 같기도 하다.                       화면을 그린 source 을 살펴보자.   import android.app.Activity import android.content.Intent import android.content.IntentSender import android.content.SharedPreferences import android.os.Bundle import android.preference.PreferenceManager import android.preference.PreferenceManager.getDefaultSharedPreferences import android.util.Log import android.widget.Toast i

안드로이드 앱 만들기 : compose 예제 찾아 보기... feat Room Database

원본출처: 티스토리 바로가기 https://rrtutors.com/tutorials/implement-room-database-in-jetpack-compose   Flutter Mobile app,Flutter widgets,Jetpack Compose Tutorial,Create Android App,Java,python,Ruby Create Flutter applications,Jetpack Compose Tutorial,Create android application,Python,Java,RxJava,dart,GoLang examples rrtutors.com   사실은 room database 가 어떤 것으로 구성해야 하는 가에 대한 고민을 하는 과정에서 찾아보게 된 site인데,  내용을 보던 중에 여러가지 예제를 볼 수 있었다.  샘플 코드를 보고 이것저것 해 보면 compose을 어떻게 구현해야 하는 가에 대한 이해를 할 수 있을 것 같아서 기록해 두기로 한다.    어젯밤 이후에 확인된 부분만 간단하게 기록을 해 보면 다음과 같다.  activity 연동 예제 1   activity 연동 예제 2     회원가입 페이지 예제   데이터를 이용한 list 보여주기                                                                                                                                                                                                                                    

봄을 부르는 소리... 갤노트20 근접 촬영

원본출처: 티스토리 바로가기 4월도 끝나가는데... 봄을 부르는 소리라??? 스스로 생각해도 우습기는 하다. 봄이 완연한데... 더 좋은 일만 있으시길... 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

갑천변에서 갤노트20의 30배줌 은...

원본출처: 티스토리 바로가기 어제는 오랜만에 갑천변을 걸었다. 길이 끝이 나지 않도록... 갑쳔을 걷고 있었는 데, 강가에 한쌍의 새가 있어서 사진을 찍어 보기로 했다.   내가 지금 사용하는 폰은 갤노트 20 인데, 카메라가 30배 까지의 줌을 지원한다. 그래서 그냥 30배로 확대해서 찍어 보았다. 한쌍의 새   한쌍의 새 일반적인 사진을 촬영할 때는 상관이 없었는데, 30배줌으로 했더니, 흔들리기도 하고 사진이 명확하기 나오지 않는다. 이럴때는 삼각대를 설치해야 하는 건가 ?   삼각대가 있었더면 이 보다는 조금더 선명하게 촬영을 할 수 있었을 까 ?    오늘도 날은 좋다. 창가 베란다에 않아서 이런 글을 적고 있는 지금은 밖의 기온은 따듯하다. 이 안이 덥게 느껴지는 것으로 봐서는...     이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

안드로이드 앱 만들기 : Jetpack Compose 항목들 예시...

원본출처: 티스토리 바로가기 https://medium.com/@alexstyl/views-to-composables-d715b92c6055   From View to Composable: A Quick jump to Jetpack Compose from a Android View mindset (with Cheat… Learn how to apply your View knowledge to speed up your Compose learning. medium.com   오늘도 Jetpack Compose을 활용한 화면 구현에 대한 내용을 구글링을 통해서 보고 있는 데, 이런 정도의 자료가 있으면 도움이 될 듯하여 링크를 달아 둔다.   아직은 시작인 단계 이기 때문에 많은 정보를 찾아서 적어 두는 것이 나중에 배움을 구할 때 도움이 될 거 라고 생각된다.     compose cheat sheet 예시   하나씩 만들어 보자... 오늘도 파이팅! 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.