이번 시간에는 채팅앱 만들기 여덟 번째 시간
메시지 보내는 방법에 대하여 알아보겠습니다.
이전 포스팅은 아래 링크를 들어가시면 됩니다.
2022.10.26 - [안드로이드] - [안드로이드 코틀린] 채팅앱 만드는 방법 part7 - 채팅 액티비티
[안드로이드 코틀린] 채팅앱 만드는 방법 part7 - 채팅 액티비티
이번 시간에는 채팅앱 만들기 일곱 번째 시간 대화 상대를 선택해서 대화 화면으로 이동하는 방법을 알아보겠습니다. 이전 포스팅은 아래 링크를 들어가시면 됩니다. 2022.10.25 - [안드로이드] - [
aries574.tistory.com
- 설명 -
1. 메시지 정보 담을 클래스
2. 대화 내용: message
3. 접속자 uId: sendId
data class Message(
var message: String?,
var sendId: String?
){
constructor():this("","")
}
- 설명 -
1. senderRoom = receiverUid + senderUid
보낸 이의 방의 값을 받는 이 uId와 보낸 이 uId로
합쳐서 만들었습니다.
2. receiverRoom = senderUid + receiverUid
받는 이의 방의 값을 보낸 이 uId와 받는 이 uId로
합쳐서 만들었습니다.
3. mDbRef.child("chats").child(senderRoom!!).child("messages").push()
.setValue(messageObject)
chat -> senderRoom -> message -> 메시지 저장
class ChatActivity : AppCompatActivity() {
private lateinit var receiverName: String
private lateinit var receiverUid: String
//바인딩 객체
private lateinit var binding: ActivityChatBinding
lateinit var mAuth: FirebaseAuth //인증 객체
lateinit var mDbRef: DatabaseReference//DB 객체
private lateinit var receiverRoom: String //받는 대화방
private lateinit var senderRoom: String //보낸 대화방
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityChatBinding.inflate(layoutInflater)
setContentView(binding.root)
//넘어온 데이터 변수에 담기
receiverName = intent.getStringExtra("name").toString()
receiverUid = intent.getStringExtra("uId").toString()
mAuth = FirebaseAuth.getInstance()
mDbRef = FirebaseDatabase.getInstance().reference
//접속자 uId
val senderUid = mAuth.currentUser?.uid
//보낸이방
senderRoom = receiverUid + senderUid
//받는이방
receiverRoom = senderUid + receiverUid
//액션바에 상대방 이름 보여주기
supportActionBar?.title = receiverName
//메시지 전송 버튼 이벤트
binding.sendBtn.setOnClickListener {
val message = binding.messageEdit.text.toString()
val messageObject = Message(message, senderUid)
//데이터 저장
mDbRef.child("chats").child(senderRoom).child("messages").push()
.setValue(messageObject).addOnSuccessListener {
//저장 성공하면
mDbRef.child("chats").child(receiverRoom).child("messages").push()
.setValue(messageObject)
}
}
}
}
2022.10.13 - [안드로이드] - [안드로이드 코틀린] 갤러리에서 다중 선택 사진 화면 전환하는 방법
[안드로이드 코틀린] 갤러리에서 다중 선택 사진 화면 전환 하는 방법
이번 시간에는 갤러리에서 가져온 여러 장의 사진을 을 앞 뒤로 넘겨서 보는 방법을 알아보겠습니다. 이전 프로젝트를 수정해서 만들게 되니 이전 포스팅을 먼저 보시면 됩니다. 2022.10.12 - [안드
aries574.tistory.com
2022.03.20 - [안드로이드] - [안드로이드] ToDoList SQLite 만드는 방법 part1 - 화면과 DB
[안드로이드] ToDoList SQLite 만드는 방법 part1 - 화면과 DB
이번 시간에는 ToDoList SQLite 할 일 목록 화면과 DB부분을 만들어 보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. ToDo 클래스 만들기 4. ToDo DB 만들기 5. ToDo 화면 만들기 6. 메인 화면 구성 acti..
aries574.tistory.com
2022.03.16 - [안드로이드] - [안드로이드] Firebase Storage 이미지 업로드 part1
[안드로이드] Firebase Storage 이미지 업로드 part1
이번 시간에는 Firebase를 통해서 이미지를 업로드하는 방법을 알아보겠습니다. 간단하게 설명하자면 Firebase의 Storage에 이미지를 업로드하고, 이미지가 저장된 주소를 Realtime Database에 저장합니다.
aries574.tistory.com
[안드로이드 코틀린] 파이어베이스 사용자 CRUD 만드는 방법 part1 - 프로젝트 생성 (0) | 2022.11.07 |
---|---|
[안드로이드 코틀린] 채팅앱 만드는 방법 part9 - 메시지 가져오기 (0) | 2022.10.28 |
[안드로이드 코틀린] 채팅앱 만드는 방법 part7 - 채팅 액티비티 (0) | 2022.10.26 |
[안드로이드 코틀린] 채팅앱 만드는 방법 part6 - Firebase 메뉴 생성 및 로그아웃 (2) | 2022.10.25 |
[안드로이드 코틀린] 채팅앱 만드는 방법 part5 - Firebase 사용자 리스트 (0) | 2022.10.24 |
댓글 영역