flutter- 다국어 지원. App Name. 어플 이름. 안드로이드.

표시되는 어플 이름 다국어 지원 방법. 안드로이드만 다룹니다.   * android/app/src/main/res 폴더에 지원하는 언어의 폴더를 만듭니다.     - 예)  values, values-en, values-ko * 위에서 만든 폴더에 Strings.xml 파일을 만듭니다. <? xml version ="1.0" encoding ="utf-8" ?> <resources> <string name ="appName" > 테스트 </string> </resources> * AndroidManifest.xml 에 다음 항목을 적용합니다. android:label="@string/appName"

flutter- 다국어 지원. easy_localization

* 라이브러리 사이트. https://pub.dev/packages/easy_localization * 라이브러리 설치. flutter pub add easy_localization * 설정.      - 폴더 생성 - assets/translations/      - 폴더에 다국어 파일 생성.             + 예) en-US.json, ko-KR.json { "hello" : "hello" , }     - main.dart 예시. import 'package:flutter/material.dart' ; import 'package:flutter_localizations/flutter_localizations.dart' ; import 'package:easy_localization/easy_localization.dart' ; void main() async { WidgetsFlutterBinding. ensureInitialized () ; await EasyLocalization. ensureInitialized () ; runApp( EasyLocalization ( supportedLocales: [ Locale ( 'en' , 'US' ) , Locale ( 'ko' , 'KR' )] , path: 'assets/translations' , fallbackLocale: Locale ( 'en' , 'US' ) , child: MyApp () ) , ) ; } class MyApp extends StatelessWidget { @override Widget build (BuildContext context) { return MaterialApp (

파이썬 폴더 순회 os.scandir. python

다이얼로그에서 폴더 선택 후 작업하는 일반적인 패턴 구현 소스. import os import tkinter import tkinter . filedialog import tkinter . messagebox def select_folder ():     path = tkinter . filedialog . askdirectory ()     return path def work_file ( src_path ):     try :         path , name = os . path . split ( src_path )     except Exception as e :         tkinter . messagebox . showinfo ( "Exception!" , e ) def work_folder ( folder_path , is_sub ):     try :         with os . scandir ( folder_path ) as it :             for entry in it :                 if entry . is_file ():                     work_file ( entry . path )                 elif is_sub and entry . is_dir ():                     work_folder ( entry . path , is_sub )     except Exception as e :         tkinter . messagebox . showinfo ( "Exception!" , e ) if __name__ == "__main__" :     try :         work_path = select_folder ()         work_folder ( work_path , True )         os . system ( &q

파이썬 vscode에서 자동 코드 정렬. Formatter.

세가지 autopep8, black, yapf 규칙이 있습니다. 저는 black이 가장 취향 이었습니다. * 설치. pip install black * vscode 설정.     - 아래 둘 중에 하나로 선택해 설정한다.     -  settings.json          +  "python.formatting.provider": "black"     - vscode-파일-기본설정-설정-확장-Python-Formatting:provider-black * 코드 정렬 방법.     - 단축키 Shift+Alt+F      - 코드에서 우클릭 - 문서 서식.     - 터미널에서  black --check file_name.py * 이외의 자동 정렬 설정.     - 파일저장, 복사, 타이핑 시 자동 정렬 옵션.      - settings.json          +  "editor.formatOnSave": true,         + "editor.formatOnPaste": true,         + "editor.formatOnType": true, * 주의.     - 확장자 .py 파일이어야 자동 정렬 합니다. * 참조. https://code.visualstudio.com/docs/python/editing https://jiku90.tistory.com/12

flutter- 아이콘 적용하기.

플러터 프로젝트는 이미지나 아이콘 툴이 기본 탑재되어 있지 않아 상당히 불편하다. 그래서 이를 자동화해주는 flutter_launcher_icons을 사용한다. * 툴의 사이트. https://pub.dev/packages/flutter_launcher_icons * 툴 설치. flutter pub add flutter_launcher_icons * 아이콘 이미지 추가. 프로젝트 폴더에 assets폴더를 만들고 app_icon.png 을 추가했다. 아이콘 이미지는 1024*1024 (ios때문인거 같다.), 알파채널 제거. * 설정 파일 생성. pubspec.yaml 을 그대로 사용하거나 flutter_launcher_icons.yaml 파일을 만들어 사용할 수 있다. flutter_icons : image_path : "assets/app_icon.png" android : true ios : true * 실행.  pubspec.yaml 일때는 flutter pub run flutter_launcher_icons:main flutter_launcher_icons.yaml 일때는 flutter pub run flutter_launcher_icons:main -f flutter_launcher_icons.yaml 적용된다. ////////////////////////////////////// 안드로이드 기기(픽셀4)에 따라 라운드 아이콘 일 때 제대로 보이지 않는 문제가 있다.  구조상 자동으로 해결되기는 어려울 것으로 보여 수동으로 추가해 줘야 한다. * 라운드 아이콘을 만든 후 다운로드 받는다. https://romannurik.github.io/AndroidAssetStudio/ Launcher icon generator 항목으로 이동 후 아이콘을 만들어 다운 받는다. * 이미지 복사. 압축을 풀고 이미지 파일 이름을 적절하게 변경한다. _back, _fore 같은 배경 파일이 필요 없다면 삭제한다. 프로젝트폴더\android

flutter- keystore 만들기.

안드로이드 어플을 스토어에 올리기 위해서 key 파일이 필요하다. 키파일을 만들기 위한 순서를 올린다. jre 폴더 위치는 아래 명령어로 알 수 있다. flutter doctor -v C:\Program Files\Android\Android Studio\jre\bin>keytool -genkey -v -keystore d:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key 키 저장소 비밀번호 입력: 새 비밀번호 다시 입력: 이름과 성을 입력하십시오.   [Unknown]:  name 조직 단위 이름을 입력하십시오.   [Unknown]: 조직 이름을 입력하십시오.   [Unknown]:  name 구/군/시 이름을 입력하십시오?   [Unknown]: 시/도 이름을 입력하십시오.   [Unknown]:  Seoul 이 조직의 두 자리 국가 코드를 입력하십시오.   [Unknown]:  kr CN=Dev Cats, OU=Unknown, O=Minihand, L=Unknown, ST=Seoul, C=kr이(가) 맞습니까?   [아니오]:  y 다음에 대해 유효 기간이 10,000일인 2,048비트 RSA 키 쌍 및 자체 서명된 인증서(SHA256withRSA)를 생성하는 중         : CN=Dev Cats, OU=Unknown, O=Minihand, L=Unknown, ST=Seoul, C=kr [d:/key.jks을(를) 저장하는 중] * 참고. https://flutter-ko.dev/docs/deployment/android#keystore-%EB%A7%8C%EB%93%A4%EA%B8%B0 - 얼마전까지 Android Studio에 gui툴이 있었는데 안보이네요.

flutter- wakelock 꺼짐 방지. 화면 유지.

화면 꺼짐 방지 방법. * 라이브러리 페이지. https://pub.dev/packages/wakelock * 라이브러리 설치. flutter pub add wakelock * 코드. 기본 사용법은 아래와 같이 매우 심플하다. Wakelock.enable(); Wakelock.disable(); 아래와 같은 사용법도 있다. bool enable = true; Wakelock.toggle(enable: enable); Wakelock.isEnabled