떨림 코딩 생성기 떨림에서의 응용
원생 안드로이드 앱을 개발한 사람들은 플래터의 자산을 사용하려 할 때 움츠러들 수 있다.Flatter 개발자로서 코드에서 문자열을 직접 사용해서 인용할 수 있는 선택의 여지가 없습니다.예를 들어, 그림을 처리하는 것은 쉽지 않다. 왜냐하면 그것들의 경로 문자열을 통해 그것들을 인용해야 하기 때문이다.
안드로이드 애플리케이션 개발 환경에는 코드의 어느 곳에서나 참조할 수 있는 모든 자산을 유형 보안 변수로 변환하는 데 도움을 주는 도구가 있습니다.이 도구에는 다음과 같은 여러 가지 이점이 있습니다.
이 문서에서 Flatter 프로그램에서 FlatterGen을 사용하는 방법을 배울 것입니다.
소개하다.
자산은 런타임 시 액세스할 수 있도록 애플리케이션과 번들로 구성되고 구축된 파일입니다.자산은 다음과 같은 형태로 구성될 수 있습니다.
FlatterGen을 사용하면 매우 간단합니다.
pubspec.yaml
문서에 자산을 신고하는데 이것은 귀하의 일반적인 방법과 같습니다.추가 구성이 필요 없음 lib/gen
디렉토리에서 관련Dart 파일 다음은 구성할 수 있는 사용 가능한 파서입니다.
자산
assets.gen.dart
에서 lib/gen
파일 생성fonts.gen.dart
에서 lib/gen
파일을 생성합니다.colors.gen.dart
에서 lib/gen
파일을 생성합니다.개시하다
계속하려면 get the starter app here을 선택하십시오.이 애플리케이션은 루트 디렉토리의
assets
폴더에 다음과 같은 자산을 추가했습니다.애니메이션
.riv
파일 .ttf
파일 .png
및 .svg
파일 .json
파일 .mp4
다음은 폴더 구조 및 응용 프로그램 모양입니다.
이 자산들은 프로그램에 불러왔지만 경로 문자열이 있습니다.자산을 위한 코드를 생성하고 정적 변수를 사용하여 접근할 것입니다.FlatterGen 지점에서 코드를 생성하는 최종 프로그램을 찾을 수 있습니다.
FlatterGen을 사용하는 방법에 대해 알아보십시오.
FlatterGen 설정
응용 프로그램에서 FlatterGen을 설정하려면:
FlatterGen 설치
다음과 같은 방법으로 FlatterGen을 설치할 수 있습니다.
build_runner
의 일부입니다.build_runner
의 일부로 설치할 예정입니다.build_runner
및 flutter_gen
을 dev_dependencies
파일의 pubspec.yaml
에 추가합니다.dev_dependencies:
build_runner:
flutter_gen_runner:
FlatterGen을 설치하려면 루트 응용 프로그램 디렉토리에서 다음 명령을 실행합니다.$ flutter pub get
FlatterGen 사용
pubspec.yaml
파일에 자산 지정:flutter:
uses-material-design: true
assets:
- assets/images/
- assets/video/
- assets/animations/
- assets/json/
fonts:
- family: RobotoMono
fonts:
- asset: assets/fonts/RobotoMono-Regular.ttf
- asset: assets/fonts/RobotoMono-Bold.ttf
weight: 700
- asset: assets/fonts/RobotoMono-Italic.ttf
style: italic
사용하는 해상도 종류: assets
과 fonts
을 주의하십시오.starter app에는 자원과 글꼴이 포함되어 있습니다.자산에 대한 코드 생성
루트 응용 프로그램 디렉토리에서
flutter packages pub run build_runner build
을 실행합니다.이 명령은 lib/gen
폴더의 관련 자산에 대한 파일을 생성합니다.이 경우 두 개의 파서 assets
과 fonts
이 지정되므로 각 파서에 대해 두 개의 파일이 생성됩니다.assets.gen.dart
- 이미지, 비디오, 애니메이션 및 JSON 자산을 포함하는 생성 코드 fonts.gen.dart
- 글꼴 자산 생성된 코드 사용
관련 레이아웃 파일에 파일 가져오기를 추가해야 합니다.
import '../gen/assets.gen.dart';
import '../gen/fonts.gen.dart';
자산 파일의 이름 방식에 따라 경로 문자열을 읽을 클래스를 만들 것입니다.예를 들어, 비디오를 다음 형식으로 추가하면 문자열 클래스가 만들어지고 해당 클래스에 액세스할 수 있습니다.
// getter
String get bee => 'assets/video/bee.mp4';
// static variable
static const String robotoMono = 'RobotoMono';
현재 당신은 당신의 자산을 위해 코드를 생성했습니다. 타자 오류와 작별하고 코드에서 생성된 정적 변수를 사용하십시오.다음은 레이아웃 파일에서 생성된 코드를 사용하는 법을 배울 것입니다.
이미지 처리
만약 떨림이 추가된 이미지 형식을 지원한다면
Image
클래스를 생성합니다.사용자의 경우 이미지 경로는 assets/images/add_color.png
입니다.다음 형식으로 이미지를 로드할 수 있습니다.Assets.images.addcolor
- AssetImage
클래스 Assets.images.addcolor.image(...)
- Image
클래스 Assets.images.addcolor.path
- 반환 경로 문자열 // with string APIs
Image.asset(
"assets/images/add_color.png",
height: 400,
width: 400,
),
// with generated path - option 1
Image.asset(
Assets.images.addColor.path,
height: 400,
width: 400,
),
// with generated image class- option 2
Assets.images.addColor.image(width: 400, height: 400),
.svg
이미지 파일을 사용할 수도 있습니다.이 예에는 svg
류도 창설되었다.flutter_svg
을 통합하여 .svg
파일을 로드합니다.pubspec에서 통합을 사용합니다.yaml 파일
기본적으로 FlatterGen 통합은
false
으로 설정됩니다.이러한 값을 사용하려면 값을 true
으로 설정해야 합니다.flutter_gen:
integrations:
flutter_svg: true
flutter:
언제든지 pubspec.yaml
을 변경하려면 다음 코드를 실행하십시오.flutter pub get
flutter packages pub run build_runner build
이렇게 하려면 SVG 이미지를 응용 프로그램에 추가합니다.// with string APIs
SvgPicture.asset(
"assets/images/book_lover.svg",
height: 300,
width:300,
),
// with generated SVG class
Assets.images.bookLover.svg(width: 300, height: 300),
비디오 처리
videos의 경우 생성된 문자열 클래스에서 경로 문자열을 읽을 수 있습니다.
// with string APIs
_videoController = VideoPlayerController.asset("assets/video/bee.mp4");
// with generated path string
_videoController = VideoPlayerController.asset(Assets.video.bee);
애니메이션 사용
애니메이션과 이미지에 대해
rive
클래스를 만들었습니다. 이 예에서 우리는 .rive
파일을 사용합니다.또한 rive
통합을 설정해야 합니다.flutter_gen:
integrations:
flutter_svg: true
rive: true
이미지에 액세스하는 것과 동일한 방법으로 애니메이션에 액세스할 수 있습니다.// with string APIs
RiveAnimation.asset(
"assets/animations/vehicles.riv",
controllers: [_animationController],
animations: const ['idle', 'curves'],
),
// with generated path - option 1
RiveAnimation.asset(
Assets.animations.vehicles.path,
controllers: [_animationController],
animations: const ['idle', 'curves'],
),
// with generated rive class - option 2
Assets.animations.vehicles.rive(
controllers: [_animationController],
animations: const ['idle', 'curves'],
),
),
글꼴 사용
생성된 글꼴 이름은 애플리케이션을 통해 액세스할 수 있는
FontFamily
클래스의 정적 변수에 지정됩니다.// with string APIs
const Text(
"This is RobotoMono font - medium",
style: TextStyle(fontFamily: 'RobotoMono'),
),
// with generated variable
const Text(
"This is RobotoMono font - medium",
style: TextStyle(fontFamily: FontFamily.robotoMono),
정적 데이터 사용
텍스트와 JSON과 같은 정적 데이터의 경로가 Getter에 할당되어 응용 프로그램에서 읽을 수 있습니다.
// with string APIs
final String response = await rootBundle.loadString("assets/json/assets_tye.json");
final data = await json.decode(response);
// with generated path
final String response = await rootBundle.loadString(Assets.json.assetsTye);
final data = await json.decode(response);
코드 생성 스타일 변경
기본적으로 FlatterGen 패키지는 점 구분자 스타일을 사용하여 자산에 대한 코드를 생성합니다:
Assets.video.bee
.다른 종류의 코드 생성을 지원합니다.이러한 작업은 다음과 같습니다.snake-case
- Assets.video_bee
에 액세스한 자산camel-case
- Assets.videoBee
에 액세스한 자산style
파일에 pubspec.yaml
을 지정해야 합니다.flutter_gen:
integrations:
flutter_svg: true
rive: true
assets:
enabled: true
# Avaliable values:
# - camel-case
# - snake-case
# - dot-delimiter
style: dot-delimiter
결론
자산의 유형과 문자열 경로를 사용하여 Flatter에 접근하는 방법을 알고 있습니다.이제 FlatterGen을 설치하고 사용할 수 있습니다.
LogRocket: 네트워크 애플리케이션에 대한 완벽한 가시성
LogRocket은 프런트엔드 어플리케이션 모니터링 솔루션으로 사용자가 자신의 브라우저에서처럼 문제를 재방송할 수 있습니다.LogRocket은 오류의 원인을 추측하거나 화면 캡처와 로그 저장을 묻는 대신 세션을 재방송하여 오류의 원인을 신속하게 파악할 수 있습니다.프레임워크가 어떻든지 간에, 모든 프로그램과 완벽하게 사용할 수 있으며, 플러그인은 Redux, Vuex, @ngrx/store의 다른 상하문에서 기록됩니다.
Redux 작업과 상태를 기록하는 것 외에 LogRocket에는 콘솔 로그, JavaScript 오류, 스택 추적, 제목과 본문이 있는 네트워크 요청/응답, 브라우저 메타데이터 및 사용자 정의 로그가 기록되어 있습니다.또한 DOM은 페이지의 HTML과 CSS를 기록하여 가장 복잡한 한 페이지 프로그램의 픽셀급 완벽한 영상을 재현합니다.
Try it for free .
Reference
이 문제에 관하여(떨림 코딩 생성기 떨림에서의 응용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/logrocket/using-fluttergen-code-generator-in-flutter-4pai텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)