묻고 답해요
144만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
강의 열심히 수강 하고 잘 듣고 있습니다. 잠시 응용한번 해봤는데요
잠시 응용해봤는데요class ImdaeSaActivity : AppCompatActivity() { private val TAG = ImdaeSaActivity::class.java.simpleName private lateinit var auth: FirebaseAuth private val data = arrayListOf<ImdaeTodo>() private lateinit var binding: ActivityImdaeSaBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // setContentView(R.layout.activity_imdae_sa) binding = DataBindingUtil.setContentView(this, R.layout.activity_imdae_sa) auth = Firebase.auth auth = FirebaseAuth.getInstance() binding = ActivityImdaeSaBinding.inflate(layoutInflater) val view = binding.root setContentView(view) binding.imadaeBtn.setOnClickListener { val sename = binding.sename.text.toString() val sephone = binding.sephoneno.text.toString() val address = binding.etAddress.text.toString() val address1 = binding.etAddress1.text.toString() val kwanry = binding.kwanry.text.toString() val bojung = binding.bojung.text.toString() val worldse = binding.worldse.text.toString() val mjbb = binding.myungjuk.text.toString() val cgbb = binding.chunggo.text.toString() val uid = FBAuth.getUid() val time = FBAuth.getTime() Log.d(TAG, sename) Log.d(TAG, sephone) FBRef.Imdae .push() .setValue( ImdaeitemModel( sename, sephone, address, address1, kwanry, bojung, worldse, mjbb, cgbb, uid, time ) ) } } }한번볼께요<layout> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".List.ImdaeSaActivity"> <LinearLayout android:id="@+id/linearLayout3" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFE3E3E3" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_marginRight="10dp" android:layout_marginBottom="10dp" android:gravity="center|center_horizontal" android:background="@drawable/mocer_call_yello_title" android:orientation="horizontal"> <TextView android:id="@+id/imdaetitle" android:layout_width="wrap_content" android:layout_height="50dp" android:gravity="center" android:text="임대등록 하세요" android:textSize="20sp" android:textStyle="bold" /> <EditText android:id="@+id/imdaeData" android:layout_width="48dp" android:layout_height="wrap_content" android:gravity="center" android:text="날자" android:textSize="20sp"/> </LinearLayout> <androidx.core.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginBottom="10dp" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="5dp" android:background="@drawable/mocer_call_mulback" android:orientation="horizontal"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10dp" android:orientation="horizontal"> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:gravity="left" android:text="물전종류" android:textSize="15sp"/> </LinearLayout> <TextView android:id="@+id/mulgunall" android:layout_width="match_parent" android:layout_height="40dp" android:layout_gravity="center_vertical" android:background="@drawable/mocer_call_no" android:gravity="center_horizontal|center_vertical" android:hint="물건종류를 선택하세요" android:textSize="20sp" android:textStyle="italic" tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" /> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/mocer_call" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:gravity="left" android:text="연락정보" android:textSize="15sp" android:textStyle="bold" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <EditText android:id="@+id/sename" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1.7" android:background="@drawable/mocer_call_mulback1" android:hint="이름" android:paddingLeft="10dp" android:paddingTop="10dp" android:paddingBottom="10dp" android:textSize="20sp" tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" /> <EditText android:id="@+id/sephoneno" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_weight="1" android:background="@drawable/mocer_call_mulback1" android:hint="세입자폰번호" android:inputType="phone" android:maxLength="13" android:paddingLeft="10dp" android:paddingTop="10dp" android:paddingBottom="10dp" android:textSize="20sp" tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" /> </LinearLayout> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:background="@drawable/mocer_call" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|center_vertical" android:layout_marginLeft="10dp" android:layout_marginTop="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:gravity="center|left" android:text="주 소" android:textSize="15sp" android:textStyle="bold" /> <EditText android:id="@+id/etAddress" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:background="@drawable/mocer_call_mulback1" android:hint="주소입력하세요" android:inputType="textMultiLine" android:paddingLeft="10dp" android:paddingTop="10dp" android:paddingRight="5dp" android:paddingBottom="10dp" android:textSize="18sp" tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" /> <EditText android:id="@+id/etAddress1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:background="@drawable/mocer_call_mulback1" android:hint="상세주소 입력하세요" android:inputType="textMultiLine" android:paddingLeft="10dp" android:paddingTop="10dp" android:paddingRight="5dp" android:paddingBottom="10dp" android:textSize="18sp" tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:background="@drawable/mocer_call" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="5dp" android:layout_marginTop="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="80dp" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:gravity="left" android:text="상세내용" android:textSize="15sp" android:textStyle="bold" /> <TextView android:layout_width="80dp" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:gravity="left" android:text="(단위|만원)" android:textColor="#985B01" android:textSize="13sp" android:textStyle="bold" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <EditText android:id="@+id/kwanry" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:layout_weight="1" android:background="@drawable/mocer_call_mulback1" android:hint="관리비" android:inputType="number" android:paddingLeft="5dp" android:paddingTop="10dp" android:paddingRight="5dp" android:paddingBottom="10dp" android:textSize="18sp" tools:ignore="TouchTargetSizeCheck" /> <EditText android:id="@+id/bojung" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:layout_weight="1" android:background="@drawable/mocer_call_mulback1" android:hint="보증금" android:inputType="number" android:paddingLeft="5dp" android:paddingTop="10dp" android:paddingRight="5dp" android:paddingBottom="10dp" android:textSize="18sp" tools:ignore="TouchTargetSizeCheck" /> <EditText android:id="@+id/worldse" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:layout_weight="1" android:background="@drawable/mocer_call_mulback1" android:hint="월세" android:inputType="number" android:paddingLeft="5dp" android:paddingTop="10dp" android:paddingRight="5dp" android:paddingBottom="10dp" android:textSize="18sp" tools:ignore="TouchTargetSizeCheck" /> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:orientation="vertical"> <TextView android:layout_width="60dp" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:gravity="left" android:text="면 적" android:textSize="15sp" android:textStyle="bold" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <EditText android:id="@+id/myungjuk" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:layout_weight="1" android:background="@drawable/mocer_call_mulback1" android:gravity="right|center" android:hint="면적" android:paddingLeft="5dp" android:paddingTop="10dp" android:paddingRight="5dp" android:paddingBottom="10dp" android:textSize="18sp" tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|center_vertical" android:text="㎡" android:textSize="10sp" /> <LinearLayout android:layout_width="2dp" android:layout_height="20dp" android:layout_marginLeft="3dp" android:layout_marginTop="5dp" android:layout_marginRight="3dp" android:layout_marginBottom="5dp" android:background="@color/black" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:layout_weight="1" android:background="@drawable/mocer_call_mulback1" android:gravity="right|center" android:hint="평수" android:paddingLeft="5dp" android:paddingTop="10dp" android:paddingRight="5dp" android:paddingBottom="10dp" android:textSize="18sp" tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|center_vertical" android:text="평" android:textSize="10sp" /> <LinearLayout android:layout_width="2dp" android:layout_height="20dp" android:layout_marginLeft="3dp" android:layout_marginTop="5dp" android:layout_marginRight="3dp" android:layout_marginBottom="5dp" android:background="@color/black" /> <EditText android:id="@+id/chunggo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:layout_weight="1" android:background="@drawable/mocer_call_mulback1" android:gravity="right|center" android:hint="층고" android:paddingLeft="5dp" android:paddingTop="10dp" android:paddingRight="5dp" android:paddingBottom="10dp" android:textSize="18sp" tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|center_vertical" android:gravity="left" android:text="m" android:textSize="10sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5dp" android:orientation="horizontal"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:layout_weight="1" android:background="@drawable/mocer_call_mulback1" android:hint="방/욕실수" android:paddingLeft="5dp" android:paddingTop="10dp" android:paddingRight="5dp" android:paddingBottom="10dp" android:textSize="18sp" tools:ignore="TouchTargetSizeCheck" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:layout_weight="1" android:background="@drawable/mocer_call_mulback1" android:hint="총층수" android:paddingLeft="5dp" android:paddingTop="10dp" android:paddingRight="5dp" android:paddingBottom="10dp" android:textSize="18sp" tools:ignore="TouchTargetSizeCheck" /> </LinearLayout> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:background="@drawable/mocer_call" android:orientation="vertical"> <com.google.android.material.card.MaterialCardView android:id="@+id/layout01" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="10dp" android:layout_marginTop="5dp" android:outlineProvider="none" app:cardBackgroundColor="@color/white"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="옵 션" android:textSize="22sp" android:textStyle="bold" /> </com.google.android.material.card.MaterialCardView> <com.google.android.material.card.MaterialCardView android:id="@+id/layoutDetail01" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5dp" android:layout_marginHorizontal="10dp" android:backgroundTint="#ffffff" android:visibility="visible" app:cardCornerRadius="15dp" app:strokeColor="#aaa" app:strokeWidth="1dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginTop="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:gravity="center" android:orientation="horizontal"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <EditText android:id="@+id/option" android:layout_width="200dp" android:layout_height="40dp" android:background="@drawable/mocer_call_mulback1" android:gravity="center" android:hint="옵션등록10자까지만" android:textSize="15sp" tools:ignore="TouchTargetSizeCheck" /> </LinearLayout> <Button android:id="@+id/add_button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="추 가" /> </LinearLayout> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="5dp" android:layout_marginLeft="5dp" /> </LinearLayout> </com.google.android.material.card.MaterialCardView> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:background="@drawable/mocer_call" android:orientation="vertical"> <com.google.android.material.card.MaterialCardView android:id="@+id/layout02" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="10dp" android:layout_marginTop="5dp" android:outlineProvider="none"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="메 모" android:textSize="22sp" android:textStyle="bold" /> <ImageButton android:id="@+id/layoutBtn02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_margin="10dp" android:background="@android:color/transparent" android:clickable="false" android:src="@drawable/arrow_up" android:textSize="22sp" tools:ignore="SpeakableTextPresentCheck" /> </com.google.android.material.card.MaterialCardView> <com.google.android.material.card.MaterialCardView android:id="@+id/layoutDetail02" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5dp" android:layout_marginHorizontal="10dp" android:backgroundTint="#ffffff" android:visibility="visible" app:cardCornerRadius="15dp" app:strokeColor="#aaa" app:strokeWidth="1dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white" android:gravity="center_horizontal" android:orientation="vertical"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:background="@drawable/mocer_call_mulback2" android:hint="필요한 내용 있으시면 여기에 메모해 주시면 됩니다. 내용은 길게 쓰셔도 되요" /> </LinearLayout> </com.google.android.material.card.MaterialCardView> </LinearLayout> </LinearLayout> </LinearLayout> </androidx.core.widget.NestedScrollView> </LinearLayout> <Button android:id="@+id/imadaeBtn" android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:layout_marginBottom="15dp" android:text="입 력" android:textSize="20sp" android:background="@drawable/mocer_call_yello_button" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> </layout>근데 파이어베이스에 들어가보면 uid값은 null로 나오고 가져오질 못하더라구요 그리고 보안 규칙을 { "rules": { ".read": "auth.uid !== null", ".write": "auth.uid !== null" } }로 하고 로그인을 한 다음 하면 파이어베이스에 게시글이 안들어 가지고 보안규칙을{ "rules": { ".read": "true", ".write": "true" }}해야 지만 게시글이 들어 가지더라구요참 왜 그러는지 잘 모루겠습니다.한번 살펴 봐 주시면 정말 감사하겠습니다.
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
dataModel 에서 값을 갖고 오지 못합니다
수정 버튼을 누르고 이후에 수정하는 페이지가 나올때 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 입니다
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
Favorite.js 질문입니다.! 화면 새로고침하면, 추가한 Favorite chatrooms가 날라가고 딱 1개만 남습니다!
Favorite.js 질문입니다.! 화면 새로고침하면, 추가한 Favorite chatrooms가 날라가고 딱 1개만 남습니다! MessageHeader에서 채팅방 하트 꾸욱 눌러 favorite에 넣으면,SidePanel에 Favorite이 업데이트되어 채팅방이 입력됩니다.Favorite 채팅방 목록 나오고, 개수까지 다 잘 나와요;잘 됩니다. 하지만, F5 새로고침을 누르면 Favorite에는 결국, 1개의 채팅방만 나오고 나머지는 싹 다 날라갑니다.최초에 파이어베이스에서 채팅방목록을 모두 못불러오는것 같아요.코드 수정을 해야할 것 같은데요,작성해주신 코드를 보면 잘못된건 없는것 같은데 왜 그럴까요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
title.text = List[] 질문
val title = convertView!!.findViewById<TextView>(R.id.listViewitem) title.text = List[] 이 부분에서 context 와 text로 나누지않고 한번에listviewmodel의 아이템을 한번에 보여줄순 없나요?예시를 들면 list_item.add(listviewmodel("faker","mid",28))저는 이 faker,mid,28을 한꺼번에 보여주고 싶은 경우에는 어떻게 해야 하나요?
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
게시글 삭제 시 화면 이동
게시글 삭제했을 때 따로 화면 이동이 발생하도록 처리를 해주시지 않으셔서 삭제했을 때 게시글 목록이 있는 화면으로 넘어가도록 처리해주고 싶습니다. 이때 intent로 처리하고자 했으나 talkFragment는 액티비티가 아니라서 원하는 대로 되질 않는데 혹시 어떻게 처리해주면 되나요?
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
로그인 오류가 납니다.
.
-
해결됨[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
사진 업로드 기능
처음 글을 쓸 때 사진을 추가하는 버튼을 눌렀다가 사진을 선택하지 않았을 경우에도 클릭리스너한테 걸려서 까만화면이 뜨는데 이럴 때는 어떤 조건을 걸어주면 되나요?
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
닉네임 중복검사 시 404 에러
서버 주소도 제대로 전달한 것 같은데 404 에러가 뜨는데 뭐가 잘못된걸까요
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
myref 초기화가 안됩니다
3분 8초에 있는 변경 하는 것을 했습니다처음에 타이틀 출력하는 건 됩니다근데 이후로 넘어 가지를 않습니다버전은 전기뱀장어입니다오류 내용입니다
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
회원가입 파이어 베이스 질문입니다.
가입은 되는데 가입버튼을 누를 때 처음엔 실패나 성공 메세지가 생성이 안됩니다. 그리고 가입을 3~4번하고 난 후에 다시 가입버튼 누를 때 실패나 성공 메세지가 생성됩니다.2023-03-10 03:55:08.889 7397-7482/com.example.myapplication666 W/System: Ignoring header X-Firebase-Locale because its value was null. 이런 로그가 띄어집니다.
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
수정 버튼 눌렀을 때 이전 이미지 경로
const [Image, setImage] = useState(PostInfo.image); <ImageUpload Image={Image} /> 이처럼 state값에 PostInfo.image를 해주어서 이미지 경로 값을 지정해주고 props로 넘긴 뒤 <Form.Control type="file"accept="image/*"src={props.Image}onChange={(e) => FileUpload(e)}/>이런식으로 해주었는데 안떠서 그런데 어떤식으로 해야 수정할 때 이전의 이미지 경로가 뜨게 될까요 ??
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
로그 문의입니다.
로그기록볼 떄 no debuggable processes 로그가 안보이는데요. 아래 화면처럼 벌레모양 눌러도 안보일 때는 어떻게 해야 하나요? https://comoi.io/147
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
파이어베이스 회원가입 질문입니다.
.
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
파이어베이스 sdk질문입니다.
파이어베이스 질문있습니다. 제가 사용하고 있는 안드로이드는 2022-12 이후버전이고 https://gainful-topaz-82f.notion.site/Firebase-8aa3137487b84fd3afe60d90e0702986 이 링크에서 나오는 2번째 방법으로 따라했는데요. 링크대로 하면 작동되는데 구글에서 나오는 allprojects까지 입력하면 에러가 나옵니다.구글에서는 allprojects까지 입력하라고 나와있어서 입력했는데 build.gradle': 22: only buildscript {} and other plugins {} script blocks are allowed before plugins {} blocks, no other statements are allowed 이런 에러가 나왔습니다. 왜나오는지 알수있을까요? Firebase SDK에서 google-services.json 구성 값에 액세스할 수 있도록 하려면 Google 서비스 Gradle 플러그인이 필요합니다.프로젝트 수준 build.gradle 파일에 플러그인을 buildscript 종속 항목으로 추가합니다.루트 수준(프로젝트 수준) Gradle 파일(<project>/build.gradle):buildscript { repositories { // Make sure that you have the following two repositories google() // Google's Maven repositorycontent_copy mavenCentral() // Maven Central repositorycontent_copy } dependencies { ... // Add the dependency for the Google services Gradle plugin classpath 'com.google.gms:google-services:4.3.15'content_copy }}allprojects { ... repositories { // Make sure that you have the following two repositories google() // Google's Maven repositorycontent_copy mavenCentral() // Maven Central repositorycontent_copy }}
-
해결됨[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
어댑터 Context
ContentsListActivity에서 어댑터에 context를 넣어줄 때는 baseContext를 쓰고, BookmarkFragment.kt 에서 어댑터에 context를 넣어줄 때는 requireContext()로 다르게 쓰신 이유가 있으실까요?
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
이미지 수정이 안되고 이전 이미지 경로가 안떠요 ㅜㅜ
(사진)
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
upload에서 제출 시 오류
upload에서 제목과 내용을 작성하여 제출하면 이런 오류가 뜨면서 제출이 안되는 것 같습니다. // client에서 보낸 api 요청을 받는 코드app.post("/api/post/submit", (req, res) => {// client에서 보낸 body 값을 temp 변수에 지정let temp = req.body;// Counter 콜렉션에서 name: "counter"인 애들을 찾아서 temp 변수를 통해서 posts 모델의 postNum에 집어넣어준다.Counter.find({ name: "counter" }) .exec() .then((counter) => {temp.postNum = counter.postNum;console.log(temp);// new 명령어를 통해서 Model안에 들어갈 데이터를 정의해준다.// save 명령어를 통해서 저장const CommunityPost = new Post(temp);CommunityPost.save().then(() => {// 몽고 디비에서 하나의 다큐먼트를 업데이트 하는 명령어 , 두개의 query를 받는다 첫번째 쿼리는 어떤 다큐먼트를 업데이트 시킬지, 두번째는 어떻게 업데이트 시킬지// query문에서 증가시키는 코드는 $inc를 통해 가능하다.Counter.updateOne({ name: "counter" }, { $inc: { postNum: 1 } }).then( () => {res.status(200).json({ success: true }); } ); }); }) .catch(() => {res.status(400).json({ success: false }); });});
-
해결됨[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
클릭 이벤트 처리
코드 다듬기 전에 쓰신 클릭 이벤트 처리 방식과 코드 다듬기 후에 쓰신 클릭 이벤트 방식 중 보통 어느 쪽을 더 많이 쓰시나요? 만일 후자(전자)의 방식을 더 많이 쓴다면 성능 상 낫다든가, 혹은 다른 이유 등 전자(후자)를 쓰는 이유가 있을까요?
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
npm run start를 하면 흰색 화면만 나옵니다.
소스코드는 다음과 같습니다.import React, { useEffect } from "react"; import { Routes, Route, useNavigate } from "react-router-dom"; import ChatPage from "./components/ChatPage/ChatPage"; import LoginPage from "./components/LoginPage/LoginPage"; import RegisterPage from "./components/RegisterPage/RegisterPage"; function App() { return ( <Routes> <Route path="/" element={<ChatPage />} /> <Route path="/login" element={<LoginPage />} /> <Route path="/register" element={<RegisterPage />} /> </Routes> ); } export default App;
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
댓글 ListView BaseAdapter position 버그 질문
한사람이 게시글을 작성하면 그 아래 여러사람이 댓글을달고 댓글을 쓴 본인만 댓글을 삭제할수 있도록 구현하려고 합니다. 문제는 한 게시글에 여러사람이 댓글을 달았을때 listView의 getView 메서드의 position이 해당 인덱스의 위치를 잘못된 값을 나타냅니다.Log로 찍어봤을때 해당 댓글들의 키 배열들은 정상적으로 있으나 두 댓글다 position을 찍어봤을때 0을 찍고 있습니다.(제 생각대로는 첫번째 댓글을 찍으면 0, 두번째 댓글을 찍으면 1이 로그에 찍힘) 왜 리스트뷰가 해당 position이 제대로 찍히지 않는 이유가 궁금합니다! 해당 코드입니다.게시글 내부 댓글부분 코드var commentlist = ArrayList<CommentModel>() var commentKeyList = ArrayList<String>() var commentLV = binding.commentLV var lvAdpater = CommentAdapter(commentlist , commentKeyList , key ) commentLV.adapter = lvAdpater val postListener = object : ValueEventListener { override fun onDataChange(dataSnapshot: DataSnapshot) { commentlist.clear() commentKeyList.clear() for(dataModel in dataSnapshot.children){ val item = dataModel.getValue(CommentModel::class.java) if (item != null) { commentlist.add(item) commentKeyList.add(dataModel.key.toString()) } } lvAdpater.notifyDataSetChanged() // ... } override fun onCancelled(databaseError: DatabaseError) { // Getting Post failed, log a message Log.w(TAG, "loadPost:onCancelled", databaseError.toException()) } } FBRef.commentRef.child(key).addValueEventListener(postListener)class CommentAdapter(var list : ArrayList<CommentModel> , var keyList : ArrayList<String>, var key : String): BaseAdapter() { var applicantID : String = "" override fun getCount(): Int { return list.size } override fun getItem(p0: Int): Any { return list[p0] } override fun getItemId(p0: Int): Long { return p0.toLong() } override fun getView(position: Int, p1: View?, p2: ViewGroup?): View { var view = p1 if(p1 == null){ view = LayoutInflater.from(p2?.context).inflate(R.layout.comment_item, p2, false) } val applicant = view?.findViewById<TextView>(R.id.applicant) val content = view?.findViewById<TextView>(R.id.contentArea) val time = view?.findViewById<TextView>(R.id.timeArea) applicant?.text = list[position].applicant applicantID = list[position].applicantID content?.text = list[position].comment time?.text = list[position].time var removeBtn = view!!.findViewById<ImageView>(R.id.removeBtn) // var inviteBtn = view!!.findViewById<Button>(R.id.inviteBtn) if(FBAuth.getUid().equals(applicantID)){ removeBtn.isVisible = true removeBtn.setOnClickListener { var commentKey = keyList[position] Log.e("key",keyList.toString()) Log.e("key", position.toString()) var dlg = AlertDialog.Builder(view.context) dlg.setTitle("댓글을 삭제하겠습니까?") dlg.setPositiveButton("확인", DialogInterface.OnClickListener { dialogInterface, i -> FBRef.commentRef.child(key).child(commentKey).removeValue() }) dlg.setNegativeButton("취소",null) dlg.show() } } return view!! } }