묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
[긴급] 플러터 앱 개발 시 안드로이드 에뷸레이터에서 아래와 같은 에러가 납니다
선생님 레슨, 책, 유튜브 잘 보고 있습니다.플러터 챗 봇 앱 만들었는데 아이폰 시뮬레이터에서는 잘 돌아가는데 안드로이드 에뷸레이터에서는 아래와 같은 에러가 뜨고채팅 창에 글자도 입력이 안되네요현재 구글 플레이 스토어에 출시는 한 상태입니다. 보시면 전송 버튼을 눌러도 아무런 응답이 없습니다.어떻게 해결하면 좋을까요?앱 이름은 '친절한 한쌤' 입니다. 빠른 답변 늘 감사합니다... Launching lib/main.dart on sdk gphone64 x86 64 in debug mode...Running Gradle task 'assembleDebug'...✓ Built build/app/outputs/flutter-apk/app-debug.apk.Debug service listening on ws://127.0.0.1:53849/OrbnIHJyefU=/wsSyncing files to device sdk gphone64 x86 64...I/ImeTracker( 4545): com.aihanssam.kindteacherhan:a09ac563: onRequestShow at ORIGIN_CLIENT_SHOW_SOFT_INPUT reason SHOW_SOFT_INPUTD/InputMethodManager( 4545): showSoftInput() view=io.flutter.embedding.android.FlutterView{86562a2 VFE...... .F....ID 0,0-1080,1857 #1 aid=1073741824} flags=0 reason=SHOW_SOFT_INPUTI/AssistStructure( 4545): Flattened final assist data: 472 bytes, containing 1 windows, 3 viewsD/EGL_emulation( 4545): app_time_stats: avg=15687.04ms min=37.24ms max=46608.22ms count=3D/InsetsController( 4545): show(ime(), fromIme=true)I/ImeTracker( 4545): com.aihanssam.kindteacherhan:a09ac563: onShownD/EGL_emulation( 4545): app_time_stats: avg=205.99ms min=65.45ms max=322.47ms count=5D/EGL_emulation( 4545): app_time_stats: avg=293.51ms min=39.90ms max=566.13ms count=4D/EGL_emulation( 4545): app_time_stats: avg=500.04ms min=499.71ms max=500.36ms count=2D/EGL_emulation( 4545): app_time_stats: avg=499.55ms min=483.14ms max=516.56ms count=3D/EGL_emulation( 4545): app_time_stats: avg=500.43ms min=499.89ms max=500.97ms count=2D/EGL_emulation( 4545): app_time_stats: avg=500.48ms min=500.24ms max=500.72ms count=2
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
스타일링 마무리 직후 갑자기 에러 발생
안녕하세요 강사님. 다름이 아니라 스타일링 마무리 직후 갑자기 type 'String' is not a subtype of type 'int' of 'index' 라는 에러가 발생해서 글 남깁니다.분명 스타일링 마무리 후 재시작하여 잘 실행이 되는 것을 확인했으나, 안드로이드 스튜디오를 껐다 켠 이후로 FutureBuilder 내에서 계속 위와 같은 에러가 발생하고 있습니다. int 값을 넣어야 할 곳에 String 값을 넣은 적이 없는 것 같은데 말이죠...분명 잘 되는 것을 확인했는데 갑자기 이런 에러가 발생하니 당황스럽네요. 혹시 짐작가는 부분이 있으신지 궁금해서 글 남겨 봅니다.
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
tvLocationTitle이 Null이에요 ㅠ
어떤 부분이 문제인지 혼자 머리 싸매고 고민해봐도 영 답이 없네요 ㅠ밑에는 Logcat(location), LocationProvider,MainActivity 코드 내용 입니다! 2023-07-09 00:55:07.703 8921-8921 m.dk.airQualit com.dk.airQuality W DexFile /data/data/com.dk.airQuality/code_cache/.studio/instruments-234ebcbd.jar is in boot class path but is not in a known location2023-07-09 00:55:07.725 8921-8921 m.dk.airQualit com.dk.airQuality W Accessing hidden method Landroid/app/LoadedApk$ReceiverDispatcher;->setUnregisterLocation(Ljava/lang/RuntimeException;)V (greylist-max-o, linking, denied)2023-07-09 00:55:07.725 8921-8921 m.dk.airQualit com.dk.airQuality W Accessing hidden method Landroid/app/LoadedApk$ReceiverDispatcher;->getUnregisterLocation()Ljava/lang/RuntimeException; (greylist-max-o, linking, denied)2023-07-09 00:55:07.725 8921-8921 m.dk.airQualit com.dk.airQuality W Accessing hidden method Landroid/app/LoadedApk$ServiceDispatcher;->getUnbindLocation()Ljava/lang/RuntimeException; (greylist-max-o, linking, denied)2023-07-09 00:55:22.314 8996-8996 m.dk.airQualit com.dk.airQuality W DexFile /data/data/com.dk.airQuality/code_cache/.studio/instruments-234ebcbd.jar is in boot class path but is not in a known location2023-07-09 00:55:22.341 8996-8996 m.dk.airQualit com.dk.airQuality W Accessing hidden method Landroid/app/LoadedApk$ReceiverDispatcher;->setUnregisterLocation(Ljava/lang/RuntimeException;)V (greylist-max-o, linking, denied)2023-07-09 00:55:22.341 8996-8996 m.dk.airQualit com.dk.airQuality W Accessing hidden method Landroid/app/LoadedApk$ReceiverDispatcher;->getUnregisterLocation()Ljava/lang/RuntimeException; (greylist-max-o, linking, denied)
-
미해결애플 웹사이트 인터랙션 클론!
원래 쿼리셀렉터에서는 띄워쓰기 하면안되나요?
- 질문에 대한 답변은 강의자가 하는 경우도 있고, 수강생 여러분들이 해주시는 경우도 있습니다. 같이 도와가며 공부해요! :)- 작성하신 소스코드 자체의 오류보다는, 개념이나 원리가 이해되지 않는 부분을 질문해주시는게 좋습니다. 그대로 따라했는데 소스코드에서 버그가 나는 경우는 99%가 오타에 의한거라서, 완성된 소스랑 찬찬히 비교해보시면 직접 찾으실 수 있을 거예요. 개발자도구 console에 오류로 표시된 부분만 완성 코드에서 복사->붙여넣기를 해보시는 것도 방법입니다.- 먼저 유사한 질문이 있었는지 검색해보세요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 원래 위처럼 document.querySelector("#scroll-section-0 .main-message.a"),.main-message.a 와 같이 클래스는 붙여서 작성해야하나요? 띄워서 작성하니까 안찾아지던데아이디와 클래스는 다른 속성이라서 띄워주고, 클래스끼리는 붙여서 작성해야하는 건가요아니면main-message클래스랑 a클래스는 형제클래스니까 부모 자식의 관계를 뜻할 때만 띄워주는 건가요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
강의 초기 셋팅 문제
react를 처음 접해보는 취준생입니다.제가 강의를 보면서 따라하려는데 settings/js 디렉토리의 디렉토리명을 front로 변경해서 사용하고 back 디렉토리에서 npm start로 백앤드 서버 실행시키고 따라하라고 하신거 같아서 그렇게 따라하고 있습니다. 현재 localhost:3095로 접근하면 슬리액 페이지가 잘 나오는데 front 디렉토리에서 코드 수정해도 반영이 안고 있는데 혹시 어떤걸 잘 못 하고 있는지 알 수 있을까요?
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
dev_dependencies 추가 방법
안녕하세요 강사님. dependencies 추가 방법에 대해 궁금한 점이 생겨서 문의 남깁니다.dependencies의 경우 pubspec.yaml을 직접 수정하지 않고, 터미널에서 flutter pub add ~를 입력해도 추가할 수 있는 것으로 알고 있습니다.그러면 dev_dependencies 역시 터미널 명령어로 추가할 수 있는 방법이 있을까요?또한, pub.dev에서 dev_dependencies도 검색이 되는 게 맞을까요?궁금합니다...
-
미해결[LG유플러스] 앱 만들기 초급 과정 (Flutter)
""구글지도 사용해보기" 에서 에러 문제
구글 맵은 확대/축소 버튼 까지 뜨는데요,흰색 빈 화면으로 나옵니다.에러 원인을 찾다가 못 찾겠어서요에러 내용 아래와 같이 올려 드립니다.어떻게 해결하면 될지 문의 드립니다.[에러 문구]Launching lib\main.dart on sdk gphone x86 64 in debug mode...Running Gradle task 'assembleDebug'...√ Built build\app\outputs\flutter-apk\app-debug.apk.Installing build\app\outputs\flutter-apk\app-debug.apk...D/FlutterGeolocator( 8967): Attaching Geolocator to activityD/FlutterGeolocator( 8967): Creating service.D/FlutterGeolocator( 8967): Binding to location service.D/FlutterGeolocator( 8967): Geolocator foreground service connectedD/FlutterGeolocator( 8967): Initializing Geolocator servicesDebug service listening on ws://127.0.0.1:51323/1PK6KOdyzYM=/wsSyncing files to device sdk gphone x86 64...I/ple.chool_check( 8967): Compiler allocated 4533KB to compile void android.view.ViewRootImpl.performTraversals()D/MapsInitializer( 8967): preferredRenderer: nullD/zzcb ( 8967): preferredRenderer: nullI/zzcb ( 8967): Making Creator dynamicallyW/ziparchive( 8967): Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000002/DynamiteLoader.dm': No such file or directoryW/ziparchive( 8967): Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000002/DynamiteLoader.dm': No such file or directoryI/DynamiteModule( 8967): Considering local module com.google.android.gms.maps_dynamite:0 and remote module com.google.android.gms.maps_dynamite:203115000I/DynamiteModule( 8967): Selected remote version of com.google.android.gms.maps_dynamite, version >= 203115000V/DynamiteModule( 8967): Dynamite loader version >= 2, using loadModule2NoCrashUtilsW/ziparchive( 8967): Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000006/MapsDynamite.dm': No such file or directoryW/ziparchive( 8967): Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000006/MapsDynamite.dm': No such file or directoryI/Google Maps Android API( 8967): Google Play services client version: 12451000D/CompatibilityChangeReporter( 8967): Compat change id reported: 183155436; UID 10160; state: ENABLEDI/Google Maps Android API( 8967): Google Play services package version: 225014047I/Google Maps Android API( 8967): Google Play services maps renderer version(legacy): 203115000D/MapsInitializer( 8967): loadedRenderer: LEGACYD/zzcb ( 8967): preferredRenderer: nullI/Google Maps Android API( 8967): Google Play services package version: 225014047I/Google Maps Android API( 8967): Google Play services maps renderer version(legacy): 203115000D/CompatibilityChangeReporter( 8967): Compat change id reported: 210923482; UID 10160; state: ENABLEDD/CompatibilityChangeReporter( 8967): Compat change id reported: 171228096; UID 10160; state: ENABLEDI/PlatformViewsController( 8967): Using hybrid composition for platform view: 0W/Parcel ( 8967): Expecting binder but got null!E/GoogleMapController( 8967): Cannot enable MyLocation layer as location permissions are not grantedD/EGL_emulation( 8967): eglMakeCurrent: 0x785afc957d10: ver 3 1 (tinfo 0x785d1cf4d080) (first time)I/bb ( 8967): Successfully registered with Phenotype.E/EGL_emulation( 8967): eglQueryContext 32c0 EGL_BAD_ATTRIBUTEE/EGL_emulation( 8967): tid 8967: eglQueryContext(2122): error 0x3004 (EGL_BAD_ATTRIBUTE)D/HostConnection( 8967): createUnique: callD/HostConnection( 8967): HostConnection::get() New Host Connection established 0x785afc95e850, tid 9046D/HostConnection( 8967): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma ANDROID_EMU_hwc_multi_configs GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_1 D/EGL_emulation( 8967): eglCreateContext: 0x785afc95e010: maj 1 min 0 rcv 1D/EGL_emulation( 8967): eglMakeCurrent: 0x785afc95e010: ver 1 0 (tinfo 0x785d1cf4d280) (first time)D/EGL_emulation( 8967): eglMakeCurrent: 0x785afc95e010: ver 1 0 (tinfo 0x785d1cf4d280) (first time)
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안드로이드 스튜디오 실행 시 start failed라는 오류가 발생하는데 어떡하나요?
인텔칩이 탑재된 맥을 사용하고 있습니다.그런데 안드로이드 스튜디오를 실행하면 start failed라는 제목의 오류가 발생하며 실행되지 않습니다.오류 내용은 이렇습니다.Internal error. Please refer to https://code.google.com/p/android/issuesjava.nio.file.AccessDeniedException: /Users/hanjaejune/Library/Application Support/Google/AndroidStudio2022.2 at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source) at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(Unknown Source) at java.base/java.nio.file.Files.createDirectory(Unknown Source) at java.base/java.nio.file.Files.createAndCheckIsDirectory(Unknown Source) at java.base/java.nio.file.Files.createDirectories(Unknown Source) at com.intellij.idea.SocketLock.lockPortFiles(SocketLock.java:202) at com.intellij.idea.SocketLock.lockAndTryActivate(SocketLock.java:131) at com.intellij.idea.StartupUtil.lockSystemDirs(StartupUtil.java:783) at com.intellij.idea.StartupUtil.start(StartupUtil.java:169) at com.intellij.idea.Main.bootstrap(Main.java:125) at com.intellij.idea.Main.main(Main.java:82)-----Your JRE: 17.0.6+0-17.0.6b802.4-9586694 x86_64 (JetBrains s.r.o.)/Applications/Android Studio.app/Contents/jbr/Contents/Home 어떻게 해결하면 좋을까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
pushNamedAndRemoveUntil관련 질문있어용
import 'package:flutter/material.dart'; import 'package:navigation/layout/main_layout.dart'; import 'package:navigation/screen/route_three_screen.dart'; class RouteTwoScreen extends StatelessWidget { const RouteTwoScreen({super.key}); @override Widget build(BuildContext context) { final arguments = ModalRoute.of(context)!.settings.arguments; return MainLayout(title: 'Route Two', children: [ Text( 'arguments: ${arguments}', textAlign: TextAlign.center, ), ElevatedButton( onPressed: () { // [HomeScreen(), RouteOne(), RouteTwo()] stack 구조! Navigator.of(context).pop(); }, child: Text( 'Pop', ), ), ElevatedButton( onPressed: () { Navigator.of(context).pushNamed('/three', arguments: 999); }, child: Text('Push Named'), ), ElevatedButton( onPressed: () { // Navigator.of(context).pushReplacement( // MaterialPageRoute( // builder: (_) => RouteThreeScreen(), // ), // ); Navigator.of(context).pushReplacementNamed('/three'); }, child: Text('Push Replacement'), ), ElevatedButton( onPressed: () { // Navigator.of(context).pushAndRemoveUntil( // MaterialPageRoute(builder: (_) => RouteThreeScreen()), // (route) => route.settings.name == '/', // ); Navigator.of(context).pushNamedAndRemoveUntil( '/three', (route) => route.settings.name == '/one', ); }, child: Text('Push Named Replacement'), ), ]); } } Navigator.of(context).pushNamedAndRemoveUntil( '/three', (route) => route.settings.name == '/one', );제가 이런식으로 '/'이 아닌 '/one'으로 바꾸어 보았는데, route_three에서 pop()하면 one으로 가는게 아니라 그냥 검은 화면이 보여요. '/'은 잘 작동하고 main파일에서도 정확히 '/one'으로 잘 등록해 놓았는데 왜 작동이 안되는 걸까요??
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
블루투스로 센서 데이터 수집하고 싶은데 어떠게 해야 할까요?
강의 잘 듣고 있습니다. 정말 감사드립니다.제가 블루투스를 이용해서 센서에서 데이터를 수집하는 app을 개발하려고 합니다. 아직 준비 중이라 이렇게 flutter 강좌를 듣고 있습니다.블루투스를 이용한 데이터 수집과 관련된 강좌나 참고할만한 자료가 있을 까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
중첩 map 쓰는 부분
안녕하세요 강사님.return query.watch().map( (rows) => rows .map( (row) => ScheduleWithColor( schedule: row.readTable(schedules), categoryColor: row.readTable(categoryColors), ), ) .toList(), );이 부분에 질문이 있어서 글 남깁니다.제 생각에는 데이터 구조가 위와 같다고 생각했습니다. 이에 그냥 아래와 같이 작성하면 어떨까라는 생각이 들었습니다.return query.watch().map( (rows) => ScheduleWithColor(schedule: rows[0].readTable(schedules), categoryColor: rows[0].readTable(categoryColors)), ).toList();근데 이와 같이 작성하면 return 타입이 Stream이 아니라 Future가 되는 것 같더군요. 제가 어느 부분에서 혼란을 겪고 있는지 알고 싶습니다. + 추가제가 이렇게 생각한 이유는return query.watch().map((rows) { print(rows.length); return rows .map( (row) => ScheduleWithColor( schedule: row.readTable(schedules), categoryColor: row.readTable(categoryColors), ), ) .toList(); });코드를 이렇게 변경해 봤을 때, rows.length가 1이 출력되었기 때문입니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
children 속성과 관련하여 질문이 있습니다.
children: [ 123, 456, 789, ].map((e) => Row( children:[ e.toString().split('').map((y) => Image.asset('asset/img/$y.png')).toList(), ] )).toList(), ),이 부분에서 강사님이 children에 [] 부분을 빼고 코드 작성을 하셨지만 저는 안드로이드 스튜디오에서 children : [] 을 자동완성 시켜주기도 하고 []의 존재 이유가 복수의 위젯을 넣기 위함이니 그냥 하나만 넣어서 작성하여도 상관없을 것이라고 생각하였습니다.하지만 막상 그렇게 작성해보니 오류가 나서 인터넷도 찾아보고 GPT한테도 물어봤지만 마땅한 해답은 못찾은 채 children 부분에 []를 지우니 오류가 사라지더군요. 왜 그런지 알 수 있을까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
CrossAxisAlignment 질문
import 'package:flutter/material.dart'; class HomeScreen extends StatefulWidget { const HomeScreen({super.key}); @override State<HomeScreen> createState() => _HomeScreenState(); } class _HomeScreenState extends State<HomeScreen> { @override Widget build(BuildContext context) { return Scaffold( body: SafeArea( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text('랜덤숫자 생성기'), IconButton( onPressed: () {}, icon: Icon( Icons.settings, ), ), ], ), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Text('123'), Text('456'), Text('789'), ], ), ), Container( width: double.infinity, child: ElevatedButton( onPressed: () {}, child: Text('생성하기!'), ), ), ], ), ), ); } }그냥 수업 내용인데, 왜 첫번째 Column에서는 container나 sizedBox하지 않고 그냥 crossAxisAlignment가 바로 적용되는 건가요?? 혹시 SafeArea 영역이 width가 최대라서 바로 횡축 정렬이 가능해지나요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
앱번들 빌드 에러좀 봐주세요.
유튜브 다트 강의, 인프런 플러터 강의, 그리고 코드팩토리의 플러터 프로그래밍 책까지 잘 보고 있습니다.양질의 컨텐츠와 친절한 답변에 매번 감사드립니다.현재 챗gpt api를 이용한 간단한 앱을 만들었고 이것을 빌드하려고 합니다.책 606쪽의 flutter build appbundle이라고 터미널에 치면 아래 에러가 납니다. mac@HanHoseokui-iMac kind_teacher_han % flutter build appbundle💪 Building with sound null safety 💪FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':app:mergeReleaseResources'.> Multiple task action failures occurred: > A failure occurred while executing com.android.build.gradle.internal.res.Aapt2CompileRunnable > Android resource compilation failed ERROR:/Users/mac/Documents/codefactory/kind_teacher_han/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: AAPT: error: file failed to compile. > A failure occurred while executing com.android.build.gradle.internal.res.Aapt2CompileRunnable > Android resource compilation failed ERROR:/Users/mac/Documents/codefactory/kind_teacher_han/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: AAPT: error: file failed to compile. > A failure occurred while executing com.android.build.gradle.internal.res.Aapt2CompileRunnable > Android resource compilation failed ERROR:/Users/mac/Documents/codefactory/kind_teacher_han/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: AAPT: error: file failed to compile.* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 5sRunning Gradle task 'bundleRelease'... 6.2sGradle task bundleRelease failed with exit code 1 이미지 쪽에 에러가 있는 것 같아 보입니다. 저는 앱 아이콘 만들기 웹 사이트(https://www.appicon.co)에서 제가 만든 아이콘으로 안드로이드용 이미지를 만든 후 /Users/mac/Documents/codefactory/kind_teacher_han/android/app/src/main/res에 폴더 붙여넣기를 했었는데 이게 문제가 되었을까요? 옛날에 앱인벤터라는 교육용 블록코딩 앱 개발 플랫폼으로 했을 때는 앱 출시까지 그렇게 어렵지 않게 했었는데.. 한 달가량 헤메고 있으니 힘드네요ㅠㅠ 도와주세요!^^
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
클래스 상속 질문있습니다.
부모 클래스를 상속할 때..class Idol { String name; int membersCount; Idol({ required this.name, required this.membersCount, }); void sayName() { print('저는 ${this.name}입니다.'); } void sayMembersCount() { print('${this.name}은/는 ${this.membersCount}명의 멤버로 구성되어 있습니다.'); } } 강의에서 설명해주신class GirlGroup extends Idol { GirlGroup( String name, int membersCount, ) : super( name: name, membersCount: membersCount, ); }이 코드 대신 명시적으로class BoyGroup extends Idol { BoyGroup({ required super.name, required super.membersCount, }); }이렇게 사용해도 인스턴스에서 명시적으로 선언하는 것 외에 다른 차이는 없는 건가요?(두 가지 모두 정상 출력확인했습니다.)
-
미해결Slack 클론 코딩[실시간 채팅 with React]
DM이 두개씩 보내져요..
안녕하세요.우선 저는 맥북을 사용하고 있습니다.import { VFC, useCallback, useEffect, useRef } from 'react'; import { Form, MentionsTextarea, SendButton, Toolbox } from './styles'; import React from 'react'; import autosize from 'autosize'; interface Props { chat: string; onSubmitForm: (e: any) => void; onChangeChat: (e: any) => void; placeholder?: string; } const ChatBox: VFC<Props> = ({ chat, onSubmitForm, onChangeChat, placeholder }) => { // const onSubmitForm = useCallback(() => {}, []); const textareaRef = useRef(null); useEffect(() => { if (textareaRef.current) { autosize(textareaRef.current); } }, []); const onKeydownChat = useCallback( (e) => { if (e.key === 'Enter') { if (!e.shiftKey) { e.preventDefault(); onSubmitForm(e); } } }, [onSubmitForm], ); return ( <Form onSubmit={onSubmitForm}> <MentionsTextarea id="editor-chat" value={chat} onChange={onChangeChat} onKeyDown={onKeydownChat} placeholder={placeholder} ref={textareaRef} /> <Toolbox> <SendButton className={ 'c-button-unstyled c-icon_button c-icon_button--light c-icon_button--size_medium c-texty_input__button c-texty_input__button--send' + (chat?.trim() ? '' : ' c-texty_input__button--disabled') } data-qa="texty_send_button" aria-label="Send message" data-sk="tooltip_parent" type="submit" disabled={!chat?.trim()} > <i className="c-icon c-icon--paperplane-filled" aria-hidden="true"></i> </SendButton> </Toolbox> </Form> ); }; export default ChatBox; 이건 제가 작성한 ChatBox입니다.import React, { useCallback } from 'react'; import { Container, Header } from './styles'; import useSWR, { useSWRInfinite } from 'swr'; import fetcher from '@utils/fetcher'; import { useParams } from 'react-router'; import gravatar from 'gravatar'; import ChatBox from '@components/ChatBox'; import ChatList from '@components/ChatList'; import useInput from '@hooks/useInput'; import axios from 'axios'; import { IDM } from '@typings/db'; const DirectMessage = () => { const { workspace, id } = useParams<{ workspace: string; id: string }>(); const { data: userData } = useSWR(`/api/workspaces/${workspace}/users/${id}`, fetcher); const { data: myData } = useSWR('/api/users', fetcher); const [chat, onChangeChat, setChat] = useInput(''); const { data: chatData, mutate: mutateChat, revalidate, } = useSWR<IDM[]>(`/api/workspaces/${workspace}/dms/${id}/chats?perPage=20&page=1`, fetcher); const onSubmitForm = useCallback( (e) => { e.preventDefault(); if (chat?.trim()) { axios .post(`/api/workspaces/${workspace}/dms/${id}/chats`, { content: chat, }) .then(() => { revalidate(); setChat(''); console.log('submit'); }) .catch((error) => { console.log(error); }); } }, [chat], ); if (!userData || !myData) { return null; } return ( <Container> <Header> <img src={gravatar.url(userData.email, { s: '24px', d: 'retro' })} alt={userData.nickname} /> <span>{userData.nickname}</span> </Header> <ChatList chatData={chatData} /> <ChatBox chat={chat} onChangeChat={onChangeChat} onSubmitForm={onSubmitForm} /> </Container> ); }; export default DirectMessage; 이건 DirectMessage 입니다.e.preventDefault()로 기본 이벤트를 막아줬는데도 DM을 엔터로 전송하면 (한글로만 전송하면 2개씩 보내져요...!)어떨때는 2개가 보내지고 어떨때는 1개가 보내져요... 네트워크나 콘솔에도 2개씩 뜨고요.. 전송버튼을 눌렀을때는 1개만 보내집니다.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
오류 문의
강의를 따라하는 도중에 npx sequelize db:create를 입력하였을때는 정상적으로 "Database sleact create."라는 메세지가 확인됬습니다. 그 이후로 yarn dev를 실행하니 아래와 같은 오류가 확인됬습니다.이유가 뭘까요?ㅜㅜ
-
미해결하울의 안드로이드 인스타그램 클론 만들기
NavigationBarView 사용법 변경으로 인한 네비게이션 바 애니메이션 적용법
NavigationBarView 23년 이후 .. : 네이버블로그 (naver.com)해결방법 정리 블로그
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
색상정보 입력 테스트 시 id 문제 문의 드립니다ㅜㅜ
[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: SqliteException(1299): while executing statement, NOT NULL constraint failed: category_colors.id, constraint failed (code 1299)이란 에러가나는데 flutter pub run build_runner build로햇는데도 이런데 어떻게하면될까요?ㅠㅠ
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
자동완성 시 좌측에 같이 뜨는 심볼 의미
위 사진처럼 자동완성 박스가 뜨면, 왼쪽에 심볼의 의미가 궁금합니다.검색 해봤을때 C는 class, E는 enum 이라고 하는데 =의 의미는 무엇인가요??