Kotlin + Firebase로 만드는 채팅 앱 시작 2
1 오사라이
Kotlin + Firebase로 만드는 채팅 앱
베이스는 이미 완성되었으므로 서서히 써갑니다.
미세한 소스의 내용은 GitHub를 부탁드립니다.
그 1
GitHub
2 이번에 할 일
지난번에는 가입 화면을 만들었기 때문에
로그인 화면과 로그인 성공 시 전환 대상 화면을 만듭니다.
2-1 시작
앱과 관련이 없지만 Docker를 최근에 공부하기 시작했습니다.
따라서 Hyper-V와의 관계로 Docker와 Android 에뮬레이터가 싸우고 잘 움직이지 않는 상황
따라서 Windows 기능으로 Windows 하이퍼바이저 플랫폼을 활성화해 둡니다.
→ 이것을 하고 있으면 Docker도 Android 에뮬레이터도 움직입니다.
2-2 로그인 화면
화면적으로 쉽게 Email과 Password의 텍스트 상자를 배치
로그인 버튼은 버튼의 부품을 배치 한 후 android:background="@drawable/rounded_button"
같은 느낌에 다른 파일로 정의한 스타일을 적용하고 있는 느낌입니다.
그건 그렇고, rounded_button은 다음과 같은 느낌입니다.
rounded_button.xml<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/holo_green_dark"/>
<corners android:radius="25dp"/>
</shape>
로그인 기능에 대해서는 FireBase의 Authentication을 사용하고 있습니다.
기능에 대해서는 SDK 경유로 간단하게 할 수 있게 되어 있습니다.
LoginActivity.kt//ログイン
FirebaseAuth.getInstance().signInWithEmailAndPassword(email, password)
.addOnCompleteListener {
Log.d(TAG, "Successfully signInWithEmailAndPassword")
val intent = Intent(this, LatestMessagesActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK.or(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
.addOnFailureListener {}
2-3 최근 메시지 목록 화면
뭐라고 할까 헤매었지만 우선 이 호칭으로 간다
이 화면은 부품이 크게 나뉘어
· 메시지 목록을 수락하는 모체 (activity_latest_messages.xml)
· 메시지 행 (사진 + 이름 + 최근 메시지) (latest_message_row.xml)
· 화면 상단의 툴바처럼 (onCreateOptionsMenu에서 nav_menu.xml 설정)
같은 구조로되어 있습니다.
→ NewMessage는 Line에서 말하는 새로운 토크, 사인아웃은 읽고 글자처럼입니다.
처리적으로는 FireBase의 RealtimeDatabase로부터 정보를 취득해
레코드마다 화면에 표시시켜 가고 있는 느낌입니다.
이미지는 fromId, toId에 연결하는 users의 디렉토리에서 이미지의 저장처를 다시 취득하고 있는 감자입니다.
DB 주위의 처리도 SDK 경유로 할 수 있습니다.
정말 편리하네요.
3 다음 번
NewMessage 화면의 예정입니다.
Reference
이 문제에 관하여(Kotlin + Firebase로 만드는 채팅 앱 시작 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/P3117/items/7b4add5ba6774a75291f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
지난번에는 가입 화면을 만들었기 때문에
로그인 화면과 로그인 성공 시 전환 대상 화면을 만듭니다.
2-1 시작
앱과 관련이 없지만 Docker를 최근에 공부하기 시작했습니다.
따라서 Hyper-V와의 관계로 Docker와 Android 에뮬레이터가 싸우고 잘 움직이지 않는 상황
따라서 Windows 기능으로 Windows 하이퍼바이저 플랫폼을 활성화해 둡니다.
→ 이것을 하고 있으면 Docker도 Android 에뮬레이터도 움직입니다.
2-2 로그인 화면
화면적으로 쉽게 Email과 Password의 텍스트 상자를 배치
로그인 버튼은 버튼의 부품을 배치 한 후 android:background="@drawable/rounded_button"
같은 느낌에 다른 파일로 정의한 스타일을 적용하고 있는 느낌입니다.
그건 그렇고, rounded_button은 다음과 같은 느낌입니다.
rounded_button.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/holo_green_dark"/>
<corners android:radius="25dp"/>
</shape>
로그인 기능에 대해서는 FireBase의 Authentication을 사용하고 있습니다.
기능에 대해서는 SDK 경유로 간단하게 할 수 있게 되어 있습니다.
LoginActivity.kt
//ログイン
FirebaseAuth.getInstance().signInWithEmailAndPassword(email, password)
.addOnCompleteListener {
Log.d(TAG, "Successfully signInWithEmailAndPassword")
val intent = Intent(this, LatestMessagesActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK.or(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
.addOnFailureListener {}
2-3 최근 메시지 목록 화면
뭐라고 할까 헤매었지만 우선 이 호칭으로 간다
이 화면은 부품이 크게 나뉘어
· 메시지 목록을 수락하는 모체 (activity_latest_messages.xml)
· 메시지 행 (사진 + 이름 + 최근 메시지) (latest_message_row.xml)
· 화면 상단의 툴바처럼 (onCreateOptionsMenu에서 nav_menu.xml 설정)
같은 구조로되어 있습니다.
→ NewMessage는 Line에서 말하는 새로운 토크, 사인아웃은 읽고 글자처럼입니다.
처리적으로는 FireBase의 RealtimeDatabase로부터 정보를 취득해
레코드마다 화면에 표시시켜 가고 있는 느낌입니다.
이미지는 fromId, toId에 연결하는 users의 디렉토리에서 이미지의 저장처를 다시 취득하고 있는 감자입니다.
DB 주위의 처리도 SDK 경유로 할 수 있습니다.
정말 편리하네요.
3 다음 번
NewMessage 화면의 예정입니다.
Reference
이 문제에 관하여(Kotlin + Firebase로 만드는 채팅 앱 시작 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/P3117/items/7b4add5ba6774a75291f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Kotlin + Firebase로 만드는 채팅 앱 시작 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/P3117/items/7b4add5ba6774a75291f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)