살기기 64bit 에서 안드로이드 서버 실행후 포트열고 lib\arm64-v8a\libnative-lib.so 를 ida로 실행후 앱 패키지에 attach까지는 되었는데요 (ida 7.0버전) attach 순간 아래와 같이 에러가 나면서 어떠한 버튼을 눌러도 안되더라고요 해결방법이 있을까요???
<com.yuyakaido.android.cardstackview.CardStackView android:layout_width="match_parent" android:layout_height="match_parent"/> 이렇게 작성하니 Class referenced in the layout file, com.yuyakaido.android.cardstackview. CardStackView, was not found in the project or the libraries Cannot resolve class com.yuyakaido.android.cardstackview.CardStackView 이런 에러가 뜨네요 뭐 따로 설치 해야하는건가요??
파이어베이스에 글이 정상적으로 입력되었는지 여부를 알 수 있어야 입력완료 메시지를 띄우고 그렇지 않고 글입력 실패일 경우에는 토스트 메시지가 달라질 것 같습니다. 물론 실패할 경우 finish도 실행하지 않게 되겠지요? 파이어베이스로부터 입력 결과를 알아를 확인하는 절차에 관해서도 함께 다루어주세요.
안녕하세요. 강의 잘 듣고 있습니다. 질문란을 보니 저와 같은 분들이 질문을많이 올려주셨는데, 해결책을 알려드리려고 합니다. INTERNET permission을 추가하고 앱을 실행한 다음에, 안드로이드 에뮬레이터에서 앱을 삭제하고 다시 실행 하셔야 정상적으로 이미지가 뜨는 것을 확인할 수 있습니다. 열공하세요!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의자료는 따로 안올려주시나요?
영상에서는 터미널에서 firebase login을 한 뒤, firebase list 를 입력하면 연결된 프로젝트를 확인할 수 있다고 나오는데 버전이 달라져서 firebase projects:list 라고 입력해야 확인이 가능합니다! firebase list 라고 입력하면 Error: list is not a Firebase command 이렇게 에러가 납니다. 참고하세요 :)
안녕하세요 선생님! 강의를 듣던 중에 막히는 부분이 있어서 질문드립니다. 보시는 바와 같이, textview를 삽입하고 id를 text1,text2로 한 후에 코드를 작성하는 부분을 실습하던 중이었는데, 강의에서 코틀린으로는 id를 통해 바로 view 객체를 다룰 수 있다고 하셨는데, 저는 그 부분이 되지 않습니다. 프로젝트를 생성할 때 language에서 Kotlin을 선택한 것도 확인을 했는데, 왜 이런 문제가 생길까요?
게시글 수정 단계에서 사진 또한 BoardWriteActivity에서와 마찬가지로 startActivityForResult 으로 변경할 수 있게 만들어보려고 했습니다. 그러나 이번에는 또 어떤 값이 전달되지 않는 것인지 NullPointerException 오류가 뜨고 있습니다. 이 코드를 복사해온 BoardWriteActivity는 정상작동하는 것을 보니 리퀘스트코드가 겹치는게 문제인가 싶어 바꿔주어 보아도 안되고 , setResult( RESULT_OK )등의 명령어를 통해 Result 값을 지정해보는 등의 시도는 해봤지만, 전혀 차도가 없습니다. 강의에서 하지 않은 것을 가고 만지작거리다가 질문드리는게 죄송하지만, 이 오류의 해결법에 대해 질문드려도 괜찮을까요? 우선 오류가 발생한 BoardEditActivity입니다. class BoardEditActivity : AppCompatActivity() { private lateinit var binding : ActivityBoardEditBinding private lateinit var key : String private lateinit var Wuid : String override fun onCreate (savedInstanceState: Bundle?) { super .onCreate(savedInstanceState) setContentView(R.layout. activity_board_edit ) binding = DataBindingUtil.setContentView( this, R.layout. activity_board_edit ) key = intent .getStringExtra( "key" ). toString () getBoardData( key ) getImageData( key ) binding . BEAPUSHbtn .setOnClickListener { editBoardText( key ) } binding . BEAIMG1 .setOnClickListener { val key = FBRef. boardRef .push(). key . toString () val gallery = Intent(Intent. ACTION_PICK , MediaStore.Images.Media. INTERNAL_CONTENT_URI ) startActivityForResult(gallery , 50 ) } } private fun getImageData (key: String) { Log.d( " 키값 검사 " , key.toString()) // Reference to an image file in Cloud Storage val storageReference = Firebase. storage . reference .child(key + ".png" ) // ImageView in your Activity val imageViewFromFB = binding . BEAIMG1 storageReference. downloadUrl .addOnCompleteListener( OnCompleteListener { task -> if (task. isSuccessful ) { Glide.with( this ) .load(task. result ) .into(imageViewFromFB) } else { Toast.makeText( this, " 이미지가 없습니다 " , Toast. LENGTH_LONG ).show() } } ) } private fun getBoardData (key: String) { val postListener = object : ValueEventListener { override fun onDataChange (dataSnapshot: DataSnapshot) { try { val dataModel = dataSnapshot.getValue(BoardModel:: class . java ) binding . BEAED1 .setText(dataModel!!. title ) binding . BEAED2Context .setText(dataModel!!. title ) Wuid = dataModel!!. uid } catch (e: Exception) { Log.d( " 삭제완료 " , "Delete" ) } } override fun onCancelled (databaseError: DatabaseError) { // Getting Post failed, log a message Log.w( TAG , "loadPost:onCancelled" , databaseError.toException()) } } FBRef. boardRef .child(key).addValueEventListener(postListener) } private fun editBoardText (key: String) { val time = firebaseauth.getTime() FBRef. boardRef .child(key) // .push() .setValue( BoardModel( binding . BEAED1 . text .toString() , binding . BEAED2Context . text .toString() , Wuid , time ) ) Toast.makeText( this, " 수정 완료 " , Toast. LENGTH_LONG ).show() finish() } override fun onActivityResult (requestCode: Int , resultCode: Int , data: Intent?) { super .onActivityResult(requestCode , resultCode , data) if (resultCode == RESULT_OK && requestCode == 50 ) { Log.d( " 데이터 체커 " , data. toString ()) val BEI1 = findViewById<ImageView>(R.id. BEI1 ) Glide.with( this ).load(data?. data ).into(BEI1) } } } 문제가 된다고 생각한 로그캣의 오류 페이지입니다. 4번째 줄의 로그가 잘렸는데, 혹시 잘린부분이 필요하실까 싶어 잘린부분의 로그도 올립니다. java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=50, result=-1, data=Intent { dat=content://com.google.android.apps.photos.contentprovider/-1/1/content://media/external/images/media/27/ORIGINAL/NONE/image/jpeg/1468372150 flg=0x1 clip={text/uri-list {...}} }} to activity {com.beyond.collect/com.beyond.collect.board.BoardEditActivity}: java.lang.NullPointerException: Argument must not be null
수업중에 1:23 에서 레퍼런스 주소를 가져온다고 하시면서 복사 붙여 넣기 하셨는데 그냥 통째로 잘라넣기 하면 왜 안되는지 궁금합니다. 그리고, 복사 - 붙여 넣기 후 save 버튼 클릭 리스너 안에서는 myRef에 user마다 개인적인 데이터베이스를 만들기 위해서 child()를 추가해주셨는데(14:54) , 1:27 (복사 - 붙여넣기 한) 위치 의 myRef에는 child() 속성(?)을 넣어주지 않아도 되나요?