묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Flutter 중급 2편 - 실전 앱 개발 - 미국 주식 앱 (with 클린 아키텍처)
수업과 관련이 없지만 물을 곳이 없어...교수님께 여쭙니다..
dto랑 이미지 파일을 dio로 이용하여 post 하려는데 뭘해도 400, 415 등등 에러가 나옵니다 혹시 이유를 알 수 있을까요?... 수업내용이 아닌 질문 죄송합니다. Future<void> postUser(UserInfo userDto, XFile? imageFile) async { try { // Dio 인스턴스 생성 Dio dio = Dio(); // 멀티파트 요청 생성 FormData formData = FormData(); // Add userDto as a JSON part formData.fields.add(MapEntry('userDto', jsonEncode(userDto.toJson()))); // Add image file if (imageFile != null) { formData.files.add(MapEntry( 'image', await MultipartFile.fromFile(imageFile.path), )); } // Dio를 사용하여 POST 요청 보내기 Response response = await dio.post( 'http://43.200.217.158:8080/bookstore-0.0.1-SNAPSHOT/user', data: formData, options: Options( headers: { "Content-Type": "multipart/form-data", }, ), ); // 응답 확인 if (response.statusCode == 200) { print("User Data sent successfully"); } else { print('response.statusCode: ${response.statusCode}'); throw Exception("Failed to send data"); } } catch (e) { print("Failed to send post data: $e"); } } ------------------------------------------------------------------------------- 서버 코드 스프링 @PostMapping(value = "/user", consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.MULTIPART_FORM_DATA_VALUE}) public ResponseEntity<ApiResponse> save(@RequestPart UserDto userDto, @RequestPart MultipartFile image) { try { log.info("유저 생성 입장!!"); Long save = userService.save(userDto, image); return ResponseEntity.status(HttpStatus.OK).body(new ApiResponse("Created", "유저 생성 성공", save)); } catch (Exception e) { log.error("e={}", e); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(new ApiResponse("NotFound", "유저 생성 실패", null)); } }
-
미해결Flutter 중급 1편 - 클린 아키텍처
뷰/뷰모델 작성 질문
강의를 수강하며 클린 아키텍쳐라는 개념을 처음 사용하다보니 미숙한 부분이 많다보니 질문이 많아지는 것 같습니다.^^; 페이지간 이동이 아닌, 하나의 페이지안에서 일부 위젯들만 변경되거나 노출/숨김되는 경우, 그러나 기능적으로는 분명한 차이가 있을 때, 뷰/뷰모델 작성은 어떻게 나누어서 하면 될까요?간단한 예를 들어보면 같은 배경에서 중앙에 배치 되는 위젯들만 PageScroll 또는 숨김/노출되는 상황입니다.첫 진입 -> 중앙에 시작 버튼 노출시작버튼 클릭 시 -> 시작 버튼 숨김/ 중앙에 비디오 선택창 노출비디오 선택 시 -> 비디오 선택창 숨김/비디오 플레이어 노출비디오 종료 시 -> 비디오 플레이오 숨김/ 다시보기 버튼 노출위젯의 배치로만 보았을 때는 1개의 view에 여러개의 component가 있는 형태이지만,기능적으로 구분하면 시작/비디오선택/비디오플레이/다시하기 이런식으로 4개의 view로도 구분할 수 있는 것 같아보입니다.강사님께서는 이럴 경우 어떤식으로 코드를 작성하시는지 궁금합니다.
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
오류 질문
안녕하세요! 잘 나오던 그림들이 rvAdapter.notifyDataSetChanged()를 추가하자 안 나옵니다. 뭐가 문젠가요?!mingreen0107/mango_contents (github.com)
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
잘 실행되던 코드가 갑자기 실행이 안됩니다..
트와이스 앱 만들기를 끝냈는데분명 잘 실행됐던 코드인데 지금은 저 상태로 멈춰서 실행이 안됩니다.오른쪽 상단에 계속 로딩 표시가 뜨고 test 에뮬은 저 화면에서 멈춰있습니다.프로그램을 껐다 켜보기도하고 컴퓨터도 리부팅해봤는데 도무지 모르겠어요..에뮬을 새로 만들어보려고했는데 아래와 같이만 뜨고 device manager가 없어요..가상 디바이스는 하나만 되는건지.. 확인 부탁드리겠습니다.
-
미해결[LV1] Jetpack Compose - UI 연습하기
프로젝스 생성 시 EmptyComposeActivity를 만드는 건가요?
안녕하세요.UI를 더 잘 그리고 싶어서 강의를 듣기 시작했습니다.프로젝트를 만드는 법에 Empty Activity를 선택하시라고 했는데, Empty Activity를 생성하면 MainActivity가 강의와 다른것 같습니다.Empty Compose Activity의 아이콘 이미지가 프로젝트 만드는 법에서 선택된 Empty Activity 와 같은데 Empty Compose Activity로 만들면 되는 것인지 문의 드립니다. 감사합니다.
-
미해결Flutter로 SNS 앱 만들기
섹션 7 게시글 정보 가져오기 부분 오류
강의 영상처럼 logger를 했을때 Instance of FeedModel이 안찍힙니다..혹시 몰라서 진행해 봤는데 feed_screen.dart에서 feedList[0]부분에서 오류가 납니다.Firestore에 feed 있는 상태, 없는 상태 둘다 해봤는데도 log가 안찍힙니다.
-
해결됨Flutter로 SNS 앱 만들기
섹션 6) 사용자 정보, 게시글정보를 Model 클래스로 관리 영상 오류
안녕하세요 섹션 6, 사용자 정보, 게시글정보를 Model 클래스로 관리 영상에서영상 따라서 마지막에 삭제할 것 삭제하고 다시 게시물 등록해서 firestore과 storage에 정상적으로 데이터 들어가나 해봤는데storage에는 feeds 폴더 안에 데이터가 들어오는데firestore에는 users 컬렉션만있고 feeds 컬렉션이 안뜹니다..비슷한 질문 올리신 분 계셔서 참고해봤는데 코드에는 이상이 없는 것 같아서 질문합니다.
-
미해결[중급편] 친절한 JETPACK 개론 <상> (Android Kotlin)
Activity/Fragment ViewModel 공유 10분35초경에 fragment 에 viewModel선언
viewModel 선언하고MainViewModel by activityViewModel 이렇게 넣는코드있잖아요.혹시 구글이 공식적으로 이런식으로 액티비티와 프래그먼트간에 데이터를 공유할때 이렇게 써라라고 한 문서가있나요?되게 간편해보이는데, 제가 못찾고있는느낌이나서,저게아니라면 구글에서는 어떤 방식으로 activity와 fragment 에서 viewModel 에 대해서 공유하라는 제안이있는 공식문서 출처좀 알수있을까요??
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
intend 코드가 들어가면 앱이 동작하지 않습니다..
package com.sunny.bts_lectureimport android.content.Intentimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.widget.ImageViewimport android.widget.Toastclass MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {// 화면을 보여주는 코드 super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)//1. 버튼 클릭을 인식하는 코드 val image1 = findViewById<ImageView>(R.id.btsimage_1)image1.setOnClickListener { Toast.makeText(this, "1번 클릭 완료", Toast.LENGTH_LONG).show()//2.화면 전환 후 이미지를 크게 보여주는 코드 val intent : Intent = Intent(this, Bts1Activity::class.java)startActivity(intent)}}} 코드는 위와 같구요.. 1번 클릭 완료. 까지는 잘되다가 마지막 intent 부분이 들어가면 앱이 실행되지 않고아래와 같은 화면만 계속 떠있습니다. (가상 디바이스..)왜 이럴까요..아무리 찾아봐도 모르겠습니다. ㅠㅠ
-
해결됨Flutter로 SNS 앱 만들기
signOut()에서 에러가 났습니다.
await context.read<AuthProvider>().signOut();main_screen.dart에서 signOut에서 에러가 났습니다.메일 보낼게요
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
오류 질문
안녕하세요!이렇게 오류가 뜹니다. DataModel이 선언 되었는데 뭐가 문제인가요?감사합니다~mingreen0107/diet_memo (github.com)
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
앱실행 오류가 있어요.
안녕하세요, 궁금한게 있어서 문의 드립니다. 다이어트메모 앱을 처음 만들었을때는 강의처럼 잘 되었는데, 복습차원으로 새로 하나 다시 만들었습니다. 그런대 두번째로 만든앱에서 앱실행 후에 이미지뷰를 누르니 앱이 강제 종료가 되더라고요. 그래서 처음 것과 변수이름까지 같게 해가면서 몇 번 다시 실행해 보니 이번엔 실행도 되지 않고 에러가 떴습니다. 뭐가 잘못된 건지 알려주시면 감사하겠습니다!!https://drive.google.com/file/d/177O_1hLuKez4SMsV4acQhgFsZhEtQnQV/view?usp=sharing https://drive.google.com/file/d/1n0r5Cc5y8bcHCyG4rMSJlkyKxogt_0SU/view?usp=sharing
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
오류관련문의
에뮬레이터에서도 기기에서도 앱이 강제 종료 되며 오류가 납니다. 다음은 앱의 구성 파일입니다 😀(링크로 공유)(참고 : 미완성 파일이지만, 오류가 나서 중간에 올림)(https://www.dropbox.com/scl/fi/1kfq163m0uop1xyhrdudy/listview_ex.zip?rlkey=dz9yhyhrnb6slgyufjl6pam4p&dl=0)
-
해결됨[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
댓글화면 레이아웃 디자인
안녕하세요 강의를 다 듣고 스스로 프로젝트를 개발하는중에 질문이 생겨서 질문드려요 저 댓글창부분을 android:layout_alignParentBottom="true"을 사용해서 하단에 고정시키려하는데 저 코드를 작성해도 고정이 안되는것같습니다. 리사이클러뷰를 적용하면 댓글창이 하단에 고정이 안되는것같습니다그리고 댓글창을 제외하고 나머지부분을 스크롤뷰로 감싸서 댓글창 빼고 다 스크롤뷰로 스크롤될수있게 적용했는데 오류가 있는지 디자인 미리보기 화면이 아얘 사라져? 버립니다..뭐가 문제인지 한번 봐주실수있을까요? <?xml version="1.0" encoding="utf-8"?> <layout xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <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="25dp" android:orientation="horizontal"> <ImageView android:id="@+id/backbutton" android:layout_marginStart="30dp" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/back_button"/> <ImageView android:layout_width="120dp" android:layout_height="25dp" android:layout_marginStart="100dp" android:src="@drawable/community_name"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="25dp" android:orientation="horizontal"> <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" app:srcCompat="@drawable/circle" /> <TextView android:id="@+id/nickname1" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_weight="4" android:text="닉네임" android:fontFamily="@font/bmjua_ttf" android:textSize="20sp" android:textColor="@color/black" android:gravity="center_vertical"/> <ImageView android:id="@+id/threedot" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:src="@drawable/threedot"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="80dp" android:layout_marginTop="15dp" android:orientation="vertical"> <TextView android:id="@+id/title1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="제목" android:textSize="15sp" android:textStyle="bold" android:textColor="@color/black" android:layout_marginStart="30dp"/> <TextView android:id="@+id/content1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="30dp" android:layout_weight="1" android:text="내용" android:textSize="12sp" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:orientation="horizontal"> <ImageView android:id="@+id/favorate1" android:layout_width="20dp" android:layout_height="20dp" android:layout_weight="1" android:layout_marginStart="30dp" android:src="@drawable/heart1" /> <TextView android:id="@+id/favorateText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="center_vertical" android:layout_marginStart="5dp" android:textColor="@color/black" android:textSize="15dp" android:text="7" android:fontFamily="@font/bmjua_ttf"/> <ImageView android:id="@+id/comment1" android:layout_width="20dp" android:layout_height="20dp" android:layout_weight="1" android:layout_marginStart="20dp" android:src="@drawable/comment1" /> <TextView android:id="@+id/commentText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="center_vertical" android:layout_marginStart="5dp" android:textColor="@color/black" android:textSize="15dp" android:text="5" android:fontFamily="@font/bmjua_ttf"/> <TextView android:id="@+id/time1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="220dp" android:layout_gravity="center_vertical" android:fontFamily="@font/bmjua_ttf" android:textSize="10dp" android:text="2024.02.13" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="3dp" android:layout_marginTop="35dp" android:background="@color/bottomgray"/> <androidx.recyclerview.widget.RecyclerView android:id="@+id/commentRV" android:layout_width="match_parent" android:layout_height="680dp" android:layout_marginTop="30dp"/> </ScrollView> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentBottom="true"> <LinearLayout android:layout_width="wrap_content" android:layout_height="60dp" android:layout_alignParentBottom="true" android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:layout_marginBottom="10dp" android:background="@drawable/button_radius_green_stroke"> <EditText android:id="@+id/commentArea" android:hint="댓글을 작성해주세요" android:layout_marginLeft="10dp" android:layout_width="310dp" android:layout_height="match_parent" android:background="@android:color/transparent"/> <Button android:id="@+id/commentBtn" android:layout_width="60dp" android:layout_height="45dp" android:layout_gravity="center_vertical" android:background="@drawable/button_radius_green" android:fontFamily="@font/bmjua_ttf" android:text="등록" android:textColor="@color/white" android:textSize="15dp" android:layout_marginEnd="8dp" /> </LinearLayout> </RelativeLayout> </LinearLayout> </RelativeLayout> </layout>해당 레이아웃 전체코드입니다
-
해결됨Flutter로 SNS 앱 만들기
섹션 3중 Firebase Auth 로 메일 인증 유저만 로그인
안녕하세요섹션 3중 Firebase Auth 로 메일 인증 유저만 로그인부분에서강의처럼 인증되지 않은 이메일이라고 안나오고 위 사진처럼 나옵니다. 뭐가 문제일까요..?
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
xml 파일 디자인 부분
안녕하세요 선생님섹션 4 - 팁 페이지 만들기 - 첫번째 강의(레이아웃 설정 및 아이콘 넣기)를 수강중입니다.제가 중간에 어디 부분을 놓쳐서 이해를 못하고 있는지 잘 모르겠습니다. 4:04 부분에 보이는 꿀팁화면(fragment_tip.xml) 디자인 (안드로이드 스튜디오 우측 그림)에는 상단에 내용 부분(사진 3개)만 있고 지붕 디자인이 없는데애뮬레이터를 실행하는 부분(4:17) 에서는 지붕 디자인(자취생으로 살아남기 글자랑 그림, 우측에 막대기 3개 표시)이 나오는데 윗부분 디자인은 어디서 가지고 오는 건가요?main xml에서 지붕부분을 만든 것은 알겠는데 꿀팁 tip xml 에서는 지붕에 대한 코드가 없습니다 코드상으로는 지붕에 대한 코드가 없는데 애뮬레이터를 실행하면 지붕이 나오게 되는데 왜 그런 것인지 모르겠습니다.아래는 애뮬레이터 실행한 부분입니다.
-
해결됨Flutter로 SNS 앱 만들기
4섹션중 로그인 인증 상태에 따라 메인 또는 로그인 화면으로 이동
저는 로그인 화면으로 나오지 않고CircularProgressIndicator() 실행 되고 있는것 같습니다.왜 로그인 화면이 뜨지 않습니까...혹시나 해서 멜로 파일 전체파일 보냈습니다..
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
nickname, age, city 데이터 안 보임
안녕하세요!다음과 같이 코드를 작성하고, 오류도 뜨지 않지만보여야 할 데이터가 보이지 않습니다..(메인 화면입니다.)뭐가 문젠가요?!
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
에뮬레이터 실행 에러
안녕하세요. 강의를 듣다가 에뮬레이터를 실행하려는데 실행이 되지 않습니다.해결방안을 찾아보다 SDK Tools를 보는데 필수 도구들 중에 intel x86 Emulator (HAXM installer)가 없는 것을 알게 되었습니다. 이게 없어서 에뮬레이터 실행이 안 되는 것일까요? 해결방안을 아무리 찾아도 모르겠습니다...위의 사진이 계속해서 뜨는 에러입니다. 기존에 이미 있는 에뮬레이터 말고 다른 것을 실행시켜도 같은 에러가 뜹니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
영상과 똑같이 따라했는데 주사이 정렬도 안되고 버튼색도 검은색이 아니라 보라색이 나옵니다.
(사진)