전체 글 썸네일형 리스트형 Flutter : 플러터 기존 프로젝트 2.0 으로 마이그레이션 하기 기존 Flutter 앱을 null safety를 지원하는 2.0으로 마이그레이션 해 보았습니다. 현재 앱의 dart 총 소스 라인은 1만 2천 라인 가까이 되는 프로젝트며 완벽한 마이그레이션까지 총 3일 정도 소요된 것 같습니다. Flutter의 업그레이드 및 마이그레이션의 자세한 내용들은 아래 링크에 들어가시면 자세히 보실 수 있습니다. https://dart.dev/null-safety/migration-guide Migrating to null safety How to move your existing Dart code to the world of null safety dart.dev 우선 Flutter 2.0으로 업그레이드는 Flutter 홈페이지에서 2.0을 받아와 기존 하드의 Flutter 폴.. 더보기 플러터(Flutter) - SnackBar 사용 플러터 2.0 부터는 Scaffold 대신 ScaffoldMessenger 를 사용해야 합니다. ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text('내용 표시'))); 처음 플러터에서 SnackBar를 사용해 보려 하면 뜻대로 안 될 때가 많을 것입니다. SnackBar의 기본 구조는 아래와 같습니다. Scaffold.of(context).showSnackBar(SnackBar(content:Text('내용표시'))); 메시지 전달에서 간편하게 사용할 수 있지만 사용하려면 Scaffold 안에서 context 문제를 해결해 줘야 합니다. 첫 번째 새로운 context를 가져오면 됩니다. child: Builder( builder:(con.. 더보기 플러터(Flutter) - Generate signed apk fails with build\app\intermediates\flutter\profile\libs.jar 오류 플러터에서 안드로이드 APK 앱으로 빌드시키려 할 때 Generate signed apk fails with build\app\intermediates\flutter\profile\libs.jar Project Structure.. 를 선택 후... Project 오른쪽 화면의 Gradle version를 다운시켜 준 후 Apply 적용해 주시면 됩니다. 플러터가 열린 창에서 Project Structure.. 메뉴를 여시면 다른 화면이 나오니 안드로이드 파일이 열린 창에서 열어주셔야 합니다. 이제 apk로 다시 빌드해 주시면 됩니다. 더보기 Flutter - CurvedNavigationBar(네비게이션바) 구현 https://pub.dev/packages/curved_navigation_bar curved_navigation_bar | Flutter Package Stunning Animating Curved Shape Navigation Bar. Adjustable color, background color, animation curve, animation duration. pub.dev Flutter의 하단 내비게이션 바 중 하나인 CurvedNavigationBar입니다. CurvedNavigationBar를 사용하기 위해선 pubspec.yaml에 dependencies를 추가해 주셔야 합니다. dependencies: curved_navigation_bar: ^0.3.4 class _main exten.. 더보기 경주 안압지 야경 토요일 주말 경주엔 사람이 너무~ 너무 많았습니다. 특히 안압지 야경 시간대에 맞혀 가시면 주차하시기 힘드네요... 사람이 너무~ 너무 많아서... 안압지 사진만 몇장 올려 봅니다. 점등 시간에 맞쳐 갔더니 좋은 자리는 이미.... 대충 찍어도 다 이렇게 나오네요. 안압지 주차가 힘들경우 바로 옆 경주 박물관 쪽에 주차하시면 그나마 몇 개의 자리는 있지 않을까 생각됩니다. 더보기 Flutter - 스마트폰 테마 적용하기 스마트폰의 테마 설정 변경에 따라 Flutter 앱도 폰 테마에 따라가게 설정해 보겠습니다. import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, title: 'Test App', theme: ThemeData( brightness: Brightness.light, ), darkTheme: ThemeData( brightness: Brightness.dark ), home: Test.. 더보기 안드로이드 Entry name 'classes.dex' collided 에러 대처 안드로이드 스튜디오에서 bundle 파일 생성 시 확장자가. aab 생성 시엔 문제가 없는데. apk 파일 생성 시 Entry name 'classes.dex' collided라는 에러를 만난다면 해결 방법입니다. 하지만 100% 문제 해결이 된다 말씀드리기 힘들며 제가 해결한 방법의 한 종류 일 뿐입니다. 이 방법으로 해결이 힘들 경 우 구글링으로 검색하시기 바라며 다른 방법의 답변은 드리지 못합니다. 우선 해당 프로젝트의 폴더를 여신 후 build 폴더를 삭제합니다. 다음 해당 프로젝트의 app폴더로 이동하신 후 역시 build 폴더를 삭제합니다. 그리고 마지막으로 app폴더의 release폴더 안의 파일 역시 모두 삭제 해 주신 후 apk파일을 생성해 주시면 됩니다. 삭제된 build 폴더들은. a.. 더보기 JAVA - String 값 한글자씩 표시해보기(타이핑 효과) String str = "abcdef"; str의 값을 한 글자씩 조금의 딜레이를 주어 화면에 나오게 하려면 public class Test { public static void main(String[] args) { Runnable r = new Runnable() { @Override public void run() { String str = "abcdef"; try { for (int i = 0; i < str.length() + 1; i++) { System.out.println(str.substring(0, i)); Thread.sleep(100); } } catch (InterruptedException e) { e.printStackTrace(); } } }; r.run(); } } str... 더보기 이전 1 2 3 4 5 6 7 8 ··· 10 다음