inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)

게시글 수정 만들기 - 1

dataModel 에서 값을 갖고 오지 못합니다

1020

fgvcxg

작성한 질문수 4

0

수정 버튼을 누르고 이후에 수정하는 페이지가 나올때 binding을 통해 dataModel 값들을 불러오지 못하고 오류가 납니다

 

class BoardEditActivity : AppCompatActivity() {

    private lateinit var key:String

    private lateinit var binding : ActivityBoardEditBinding

    private val TAG = BoardEditActivity::class.java.simpleName

    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)


        binding = DataBindingUtil.setContentView(this, R.layout.activity_board_edit)

        key = intent.getStringExtra("key").toString()
        getBoardData(key)
    }

    private fun getBoardData(key : String){

        val postListener = object : ValueEventListener {
            override fun onDataChange(dataSnapshot: DataSnapshot) {

                val dataModel = dataSnapshot.getValue(BoardModel::class.java)
                Log.d(TAG, dataModel.toString())
//                Log.d(TAG, dataModel!!.title)
//                Log.d(TAG, dataModel!!.time)

                binding.titleArea.setText(dataModel?.title)
                binding.contentArea.setText(dataModel?.content)


            }

            override fun onCancelled(databaseError: DatabaseError) {
                // Getting Post failed, log a message
                Log.w(TAG, "loadPost:onCancelled", databaseError.toException())
            }
        }

        FBRef.boardRef.child(key).addValueEventListener(postListener)


    }
}

이게 현재 코드입니다

여기서 저번 강의때 try catch 구문 쓰셨던 것과 같은 문제가 발생합니다

그래서 try catch 를 쓰면 오류가 나와 페이지로만 이동하게 되어 아무것도 표시되지 않습니다

 

안드로이드 스튜디오 버전은 Electric Eel 입니다

android kotlin firebase

답변 1

0

개복치개발자

혹시 에러로그가 어떻게 나오나요?

Log.w(TAG, "loadPost:onCancelled", databaseError.toException())

이 부분에서 어떻게 출력되나요?

0

fgvcxg

2023-03-13 22:21:02.334 InputManager-JNI system_server W Input channel object 'de456b3 com.example.test/com.example.test.board.BoardEditActivity (client)' was disposed without first being removed with the input manager!

 

BoardEditActivity로 오류를 찍었을 때 다른 경고 로그는 안나오고 위에 로그만 남아있습니다

 

0

개복치개발자

안드로이드 스튜디오 로그가 안나오는 것 같은데

안드로이드 스튜디오 재시작 / 에뮬레이터 재시작을 하셔서 어떻게 나오는지

스크린샷과 에러메세지를 공유해주시면 살펴볼게요~

0

fgvcxg

저는 s22울트라로 연결해서 시험중에 있습니다

먼저 로그를 찍으려고 했을때

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.test, PID: 31888
    java.lang.NullPointerException
        at com.example.thebullcamp.board.BoardEditActivity$getBoardData$postListener$1.onDataChange(BoardEditActivity.kt:44)
        at com.google.firebase.database.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:75)
        at com.google.firebase.database.core.view.DataEvent.fire(DataEvent.java:63)
        at com.google.firebase.database.core.view.EventRaiser$1.run(EventRaiser.java:55)
        at android.os.Handler.handleCallback(Handler.java:942)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8757)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)

이런식으로 오류가 나옵니다

수정페이지가 나타나자마자 꺼집니다

오류 코드 에서 나오는 44번째에 있는 건

Log.d(TAG, dataModel!!.title)

입니다

0

fgvcxg

또 이러한 종류의 애러도 있습니다

Exception thrown during dispatchAppVisibility Window{f36eca4 u0 com.example.test/com.example.test.board.BoardEditActivity EXITING}
                                                                                         android.os.DeadObjectException
                                                                                         	at android.os.BinderProxy.transactNative(Native Method)
                                                                                         	at android.os.BinderProxy.transact(BinderProxy.java:662)
                                                                                         	at android.view.IWindow$Stub$Proxy.dispatchAppVisibility(IWindow.java:658)
                                                                                         	at com.android.server.wm.WindowState.sendAppVisibilityToClients(WindowState.java:4197)
                                                                                         	at com.android.server.wm.WindowContainer.sendAppVisibilityToClients(WindowContainer.java:1246)
                                                                                         	at com.android.server.wm.WindowToken.setClientVisible(WindowToken.java:431)
                                                                                         	at com.android.server.wm.ActivityRecord.setClientVisible(ActivityRecord.java:7682)
                                                                                         	at com.android.server.wm.ActivityRecord.onAnimationFinished(ActivityRecord.java:8552)
                                                                                         	at com.android.server.wm.WindowContainer$$ExternalSyntheticLambda4.onAnimationFinished(Unknown Source:2)
                                                                                         	at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$0(SurfaceAnimator.java:140)
                                                                                         	at com.android.server.wm.SurfaceAnimator.$r8$lambda$lRxTVOJy8fX752UbrFno9INW9hE(Unknown Source:0)
                                                                                         	at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda1.run(Unknown Source:8)
                                                                                         	at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$1(SurfaceAnimator.java:150)
                                                                                         	at com.android.server.wm.SurfaceAnimator.$r8$lambda$4PiCdaEsT4mA6LQVhqpeM5EoU9c(Unknown Source:0)
                                                                                         	at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda0.onAnimationFinished(Unknown Source:4)
                                                                                         	at com.android.server.wm.LocalAnimationAdapter.lambda$startAnimation$0(LocalAnimationAdapter.java:67)
                                                                                         	at com.android.server.wm.LocalAnimationAdapter.$r8$lambda$gPDCFw0mQLltlXqA3mL6IUKCwLs(Unknown Source:0)
                                                                                         	at com.android.server.wm.LocalAnimationAdapter$$ExternalSyntheticLambda0.run(Unknown Source:6)
                                                                                         	at android.os.Handler.handleCallback(Handler.java:942)
                                                                                         	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                         	at android.os.Looper.loopOnce(Looper.java:226)
                                                                                         	at android.os.Looper.loop(Looper.java:313)
                                                                                         	at android.os.HandlerThread.run(HandlerThread.java:67)
                                                                                         	at com.android.server.ServiceThread.run(ServiceThread.java:44)

1

fgvcxg

고쳤습니다
코드 순서 문제였습니다

적다보니 순서가 꼬여서 액티비티가 나온다음 키값을 넣어줘서 못갖고 온것이였습니다

감사합니다

이미지가 기본이미지인지 확인

0

132

1

NavController error 발생

0

141

1

fragment 생성하고 메인에서 불러왔는데 안뜹니다.

0

141

2

67강 댓글

0

100

2

7강 데이터바인딩 에러

0

116

2

Firebase 스토리지 유료화 문제

1

297

2

게시글 이미지가 파이어베이스에 저장되지 않습니다.

0

181

2

AVD 갤러리에 이미지 저장 안되는 문제

0

241

2

이미지 받아오는 방법?

0

204

2

회원탈퇴 기능을 추가하려고 합니다.

0

188

2

상태바 질문 드립니다.

0

111

1

섹션2 인트로 페이지 꾸미기 질문 드립니다.

0

110

1

게시판 글을 길게 쓸경우

0

124

2

로그인 로그아웃

0

177

2

갤럭시 연결시 게시판에 업로드한 사진이 보이지 않아요.

0

207

2

웹뷰 AVD 실행안됨

0

191

1

자막켜기가 안되요 ㅜ.ㅜ

1

186

1

리사이클러뷰, 그리드레이아웃 오류

0

186

2

리사이클러뷰 오류 해결 방법이 궁금합니다.

0

195

1

firebase 스마트폰으로 연결이 안되는데 원인이 있을까요

0

259

2

안드로이드 스튜디오 게시글 이미지 업로드 유무

0

217

1

firebase 설정 오류

0

304

2

홈 화면 커뮤니티

0

178

1

게시판 글 읽기

0

241

2