일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 나른한 오후
- 자바
- 코틀린
- 인공지능 거북이 관상
- 인공지능 관상
- ==>
- 재물운
- 연애운
- Teachable Machine
- AR Lipstick Viewer
- 관상
- 쥐상관상
- 거북이상
- 관상이야기
- 인공지능 호랑이상
- 동물상
- 안드로이드
- 테스트
- 호랑이상
- 나른한오후
- 인공지능 동물상 관상 테스트
- 코로나
- 관상 테스트
- 프로그램
- 실시간 인공지능 관상 테스트
- 인공지능
- 늑대상
- 관상 이야기
- #자바
- Lipstick
- Today
- Total
목록Flutter (12)
주식회사 이웃사촌
안드로이드 스튜디오에서 android 부분을 열고서.., 1.gradle-wrapper.property 에서 distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.1-bin.zip 2.프로젝트의 build.gradle 에서 dependencies { classpath 'com.android.tools.build:gradle:4.0.1' } 3.앱의 build.gradle 에서 .., compileSdkVersion 30 targetSdkVersion 30 확이하기.., 4.메sb Refactor/Migrate To AndroidX 를 클릭하여 마이그레이션 처리하기.., 5.처리한다음 gradel.property 를 확인하면.., an..
@override void initState() { super.initState(); _controller = TabController( length: tabs.length, vsync: this, initialIndex: selectedIndex); //컨트롤러 리스너 달기 _controller.addListener(() { if (selectedIndex != _controller.index) { selectedIndex = _controller.index; _sendCurrentTab(); } }); } void _sendCurrentTab() { observer.analytics.setCurrentScreen(screenName: 'tab/$selectedIndex'); }
1.변수선언 static FirebaseAnalytics analytics = FirebaseAnalytics(); static FirebaseAnalyticsObserver observer = FirebaseAnalyticsObserver(analytics: analytics); 2.버튼을 클릭하면.., _sendAnalyticsEvent(); 호출 Future _sendAnalyticsEvent() async { await analytics.logEvent( name: 'test_event', parameters: {'string': 'helloo flutter', 'int': 100}); setMessage('Analytics 보내기 성공'); }

1.프로젝트 생성 2.구성 파일 다운로드 및 프로젝트에 복사하기 3.SDK 추가 project 단위의 build.gradel 에서 다음라인 추가 모듈단위의 build.gradel 에서
1.Flutter 에서 호출하기 static const platform = const MethodChannel('com.flutter.dev/info'); static const platform3 = const MethodChannel('com.flutter.dev/dialog'); Future _getDeviceInfo() async { String deviceInfo; try { final String result = await platform.invokeMethod('getDeviceInfo'); deviceInfo = 'Device Info : $result'; } catch (e) { deviceInfo = 'Failed to get Device info : ${e.toString()}'; } ..
late AnimationController _animationController; late Animation _transAnimation; late Animation _rotateAnimaiton; late Animation _scaleAnimation; bool isForward = true; @override void initState() { super.initState(); //���ϸ��μǿ��� ������ ������ �ʱ�ȭ �Ѵ�. //0.��Ʈ�ѷ� _animationController = AnimationController(duration: Duration(seconds: 5), vsync: this); //1.�̵� _transAnimation = Tween(begin: Offset..
//todos ==> List ==> List Future getTodos() async { //1.데이타베이스 참조 Database database = await widget.db; //2.query List maps = await database.query('todos'); //3.convert List ==> List return List.generate(maps.length, (index) { bool active = maps[index]['active'] == 1 ? true : false; return Todo( title: maps[index]['title'], content: maps[index]['content'], active: active); }); }
import 'dart:io'; import 'package:flutter/material.dart'; import 'package:path_provider/path_provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; class FileApp extends StatefulWidget { const FileApp({Key? key}) : super(key: key); @override _FileAppState createState() => _FileAppState(); } class _FileAppState extends State { int _count = 0; //과일항목을 담을 리스트를 선언한다. List itemL..
dependencies: flutter: sdk: flutter # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 path_provider: ^2.0.2 //화일에 내용을 쓴다. void writeCountFile(int count) async { var dir = await getApplicationDocumentsDirectory(); File(dir.path + '/count.txt').writeAsStringSync(count.toString()); } //화일에 내용을 쓴다. void..
_scrollController = new ScrollController(); _scrollController!.addListener(() { if (_scrollController!.offset >= _scrollController!.position.maxScrollExtent && !_scrollController!.position.outOfRange) { print('bottom'); page++; getJSONData(); } });