본문 바로가기

Project/안드로이드 프로젝트(HomingBird)9

Android Studio, JAVA, Google Firebase] 한번의 매서드로, 세 개의 쿼리를 처리하기 결과 : 다음 결과는 위에서부터 차례로 .whereEqualTo("code", keyword) // .whereEqualTo("email", keyword) // .whereEqualTo("username", keyword)를 한 매서드에서 처리한 결과값입니다. (정확히는 완료를 담당하는 매서드까지 두 개 입니다.) 파이어베이스를 다루다보면 문제 하나에 부딪힙니다. 바로.. 검색기능이 동기적으로 처리되지 않고 비동기적으로 처리된다는 점입니다. 그래서 세 검색 쿼리를 절차지향적으로 하나씩 처리하는 것은 좀 힘들죠. 그렇기에 하나에 주목해야합니다. 데이터베이스는 늘 새로운 인스턴스를 만들어서 처리한다는 점입니다. 즉, 세 쿼리가 다 따로 놀게 됩니다. 그렇기 때문에 완료되는 것을 알려줄 일종의 콜백장치가 필.. 2020. 11. 10.
Android Studio, JAVA] 랜덤함수를 이용해 유저 고유 코드를 만들고 저장하기 결과 : 4번째 줄에 보면 7자리수로 유저코드가 생성된 것이 보입니다. 이것을 만들고, 파이어베이스에 저장하는거까지 해봅시다. 저는 이것의 코드가 길어지고, 구글 로그인 / 일반 로그인 이렇게 두 군데로 제작했기 때문에 유틸로 제작, static 함수로 관리하지만, 앱 상황에 따라 유동적으로 조절하셔도 됩니다. 예시로 Firebase 구글 로그인부터 봅니다. 저는 이것을 액티비티에서 buttonListener 로 매서드를 호출합니다. 이걸 보러 올 정도면 이 정도는 할 수 있다 생각합니다! - LoginActivity.java private FirebaseAuth firebaseAuth; private void initGoogleLogin() { GoogleSignInOptions gso = new Go.. 2020. 11. 9.
Android Studio, JAVA] Material Design / Drawer Navigation에서, 기기에 따라 동적으로 메뉴를 가운데 두는 방법 결과 : 머티리얼 디자인 드로어 레이아웃은 디폴트가 메뉴가 위에 붙어있습니다. 이걸 아래에서 떼어내려하면 저~ 헤더뷰에서 marginBottom을 설정해주어야 합니다. 이걸 자바에서 어떻게 동적으로 처리해주냐~ 코드 : private void initDrawerMenu(){ //현재 네비게이션의 길이를 구함 int navigationHeight = navigationView.getHeight(); DlogUtil.d(TAG, navigationHeight); //전체 뷰 길이를 구함 int height = drawerLayout.getHeight(); DlogUtil.d(TAG, height); navigationView.setMinimumHeight(height); LinearLayout.LayoutP.. 2020. 11. 9.
Android Studio, JAVA, Kotlin ] Debug Log를 찍는 Util (이 게시물을 최종본이 아닙니다. 개발하면서 점점 달라질 수 있으니 참고해주세요 ㅇ. 2020. 11. 6.
반응형