일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Overloading
- stream
- length
- mfc
- java
- sensor
- Encapusulation
- wpf
- Unity
- Read
- UNO
- compare
- inheritance
- aduino
- flutter
- preprocessing
- SERIAL
- memory
- digitalRead
- Pointer
- file access
- public
- Class
- parameter
- atmega328
- Binary
- Barcode
- Contour
- Android
- APP
- Today
- Total
목록Flutter, Android (45)
폴크(FOLC)
# toast message 이용 > 화면에 message 를 표시 해준다. # 소스 코드 > import 'package:fluttertoast/fluttertoast.dart'; > > Fluttertoast.showToast( > msg: "메시지내용", > toastLength: Toast.LENGTH_SHORT, > gravity: ToastGravity.CENTER, > timeInSecForIosWeb: 1, > backgroundColor: Colors.red, > textColor: Colors.white, > fontSize: 26.0 > );
# webview_flutter 이용 > web 서버와 message 를 주고 받는다. # 소스 코드 > import 'package:webview_flutter/webview_flutter.dart'; > > WebViewController _webviewcontroller; > > WebView(initialUrl: 'http://-----.--.--', > javascriptMode: JavascriptMode.unrestricted, > onWebViewCreated: (WebViewController webViewController) { _webviewcontroller = webViewController; }, > javascriptChannels: { _toasterJavascriptChan..
# NDK 관련 error 가 발생하며 compile 실패 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':unityLibrary:BuildIl2CppTask'. > NDK is not installed # 해결 방안 # File -> Open -> Solution -> android project -> New Window -> Project Structure -> SDK Location -> Android NDK location -> 위치 설정 후 Apply and OK -> Close Window # make APK # 보통 NDK 는 Android SDK location 안에 있다. # C:..
# 아래와 같은 문제가 있다면? Launching lib\main.dart on sdk gphone x86 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:63779/WKu00zX_lx0=/ws Syncing files to device sdk gphone x86... E/Unity (18016): Failed to load 'libmain.so' E/Unity (18016): E/Unity (18016): java.lang.UnsatisfiedLinkError: dlopen faile..
# FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:lintVitalRelease'. > Could not resolve all artifacts for configuration ':flutter_unity_widget:profileCompileClasspath'. > Could not resolve project :unityLibrary. Required by: project :flutter_unity_widget > No matching variant of project :unityLibrary was found. The consumer was configured to find an A..
# Gradle 관련 이슈 발생 Launching lib\main.dart on sdk gphone x86 in debug mode... Running Gradle task 'assembleDebug'... FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':flutter_unity_widget:compileDebugAidl'. > Could not resolve all task dependencies for configuration ':flutter_unity_widget:debugCompileClasspath'. > Could not resolve project ..
# 크롤링(Crawling) / 스크레이핑(Scraping) 은 웹에 노출된 데이터를 가져와서 특정한 규칙 또는 위치의 데이터를 추출한다. # 전용 소프트웨어를 크롤러(crawler)라고 한다. # 스파이더(spider), 봇(bot)과 같은 지능형 검색엔진들도 크롤링 기법을 많이 이용한다. # 미리 입력된 방식에 따라 끊임없이 새로운 웹 페이지를 찾고 찾은 결과를 이용해 새로운 정보에 색인을 추가 1. Http Client 를 생성한다. 2. Http - Url 접속한다. 3. Http 페이지의 응답을 기다린다. 4. Http 응답이 완료되면 Json 형태의 data 를 parsing 한다.
# JAR (Java Archive) # JAVA 응용 프로그램을 배포하기 위해 고안된 패키지 파일 형식 # 컴파일 된 Java 클래스 파일과 MANIFEST와 같은 파일들이 포함하며, 기본적으로 ZIP 아카이브 형태 # AAR (Android Archive) # Android 라이브러리 프로젝트의 바이너리 배포판 # Java 클래스 파일을 포함하는 Jar + 리소스 파일 ( res ) 들도 포함 # DEX (Dalvik Excutable) # DVM(Dalvik Virtual Machine)을 위한 실행 파일 # Dex 컴파일러에서 JVM 바이트코드 -> DVM 바이트코드로 변환 -> 모든 클래스파일들을 Dex 바이너리 파일로 통합 # APK (Android Application Package) # A..
# 내장된 웹 브라우저 컴포넌트로 앱을 임베딩하는 것을 말한다. 즉, 앱 내에 웹 브라우저(HTML iframe)를 넣는 것이다. > 웹 페이지를 보기 위해서 또는 앱 안에서 HTML을 호출하여 앱을 구현하는 하이브리드 형태로 이용된다. 1. pubspec.yaml 설정 추가 # dependencies - webview_flutter : ^1.0.7 2. /android/app/src/main/AndroidManifest.xml 옵션 설정하기 # 메니페시트 영역 # 안드로이드 영역 android:usesCleartextTraffic="true"> 3. /android/app/src/build.gradle 설정 변경 # minSDKVersion 16 -> 17 로 변경 4. 소스 코드 변경하기 # 자동 생..
# 안드로이드 스튜디오에서 채택한 빌드 배포 도구(release tool) 이다. > Ant, Maven, Gradle 등의 라이브러리 종류가 존재 한다. # 프로젝트를 생성하면 기본적으로 아래와 같이 구조를 제공한다. > Android Studio 에서 Project 내에 Gradle 을 같이 생성 # Eclipse 의 경우에는 통합하여 관리하지만 Android Studio는 코드 편집 부분과 빌드 도구를 분리 시켜서 관리 한다. > 그런 이유로, 간혹 프로젝트의 동기화가 진행되지 않아서 error 나 warning 같은 compile 오류가 발생하기도 한다. # Project - Android - App - src - build.gradle 을 살펴보면 다음과 같다. > apply plugin : 플..
# 생성 페이지에 옵션 추가 # WillPopScope 함수 이용 > 기본 생성 방식 @override Widget build(BuildContext context) { return Scaffold(appBar: AppBar(), body: XXXFunction()); } > 옵션 생성 방식 ( 종료 확인 메시지 표시 ) @override Widget build(BuildContext context) { return WillPopScope( child: Scaffold(appBar: AppBar(), body: XXXFunction()), onWillPop: _onWillPop); } Future _onWillPop() { return showDialog(context:context, builder: (..
# 최상위 페이지를 설정하는 방법 1. 기본 페이지를 생성 @override Widget build(BuildContext context) { return Scaffold(appBar: AppBar(), body: XXXFunction()); } 2. 빈페이지를 생성한뒤 - 빈페이지를 삭제하고 다시 메인 페이지를 추가 하는 방법 @override Widget build(BuildContext context) { return Scaffold(); } Navigator.pop(context); Navigator.push(context, MaterialPageRoute(builder: (context) { return XXXAppPage(); })); 3. 빈페이지를 생성한뒤 - 빈페이지를 삭제하고 다시 메인..
# first work > Weather, Air Condition, Camera 1. Weather # 무료 사이트 이용 - http://api.openweathermap.org import 'package:http/http.dart' as http; String url_weather = 'http://api.openweathermap.org/data/2.5/weather?lat=$dPosX&lon=$dPosY&appid=$apiKey&units=metric'; http.Response response = await http.get(url_weather); if (response.statusCode == res_ok) return jsonDecode(response.body); 2. Air Condit..
1. 변수 # var 라는 키워드를 사용 or 타입을 직접 선언하여 사용 # 이름의 첫 글자는 소문자, 접근 지정자[ _XXX (underbar) 를 붙이면 private ] # 참조 (reference)를 저장한다. > 자료형이 다른 경우 동일한 변수를 이용하려면 - dynamic 키워드를 사용 2. 컬렉션 # List, Map, Set 제공 > List items = ['사자', '호랑이', '고양이']; > Map items_map = { 'Hong' : 'hi', 'Gil' : 'hello' , 'Dong' : 'world'}; > Set items_set = {'Hong', 'Gil', 'Dong'}; 3. 클래스 # 생성시에 new 키워드 생략 # 접근 지정자는 기본적으로 public > _X..
# New Flutter Project 하면 아래와 같이 기본 코드가 자동 생성된다. import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } # material 패키지를 연결시켜서 Dart 문법의 사용하는 기본 함수들이 이용한다. class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( // This is the theme of your appl..
1. Android Studio 실행 # Create New Flutter Project 선택 2. Flutter SDK 설치된 경로 선택 3. 프로젝트 이름 설정 4. 샘플 프로젝트 OPEN 성공 5. 연결된 Device 나 Virtual Device 를 선택 # 만약, Device 가 없다면 AVD Manager 선택 6. Device 를 더블 클릭 7. 디바이스 찾기 수행 # no device selected - Refresh 클릭 8. 디바이스 선택 11. 샘플 프로그램 디버깅 시작 12. Android Process 와 main.dart 파일 연결 확인 # Flutter 개발 환경에서 생성된 apk 파일을 Virtual Device 로 옮긴다. 13. Flutter 개발 환경에서 생성된 apk ..
1. Configure - SDK Manager 선택 2. SDK 설치 # Appearance & Behavior - System Settings - Android SDK - Android SDK Command-line Tools (latest) 선택 3. Next 선택 4. Accept - Next 선택 5. Component Installer 내려받기 시작 6. Component Installer 내려받기 종료 - Finish 클릭 7. SDK 자동 설치 됨. 8. SDK 정상 설치 확인 # Windows 명령 프롬프트 실행 ( cmd ) 9. SDK 정상 설치 확인 # flutter doctor 입력 9. SDK 정상 설치 확인 # X Android license status unkwon 이 표시되..
*. 테스트 가능한 Device 가 있는 경우에는 Virtual Device 를 설치 하지 않아도 된다. 1. Configure - AVD Manager 선택 2. Virtual Device 를 생성한다. 3. 테스트를 원하는 Device 를 선택한다. # ex) Phone - Pixel 2 [ 5.0" - 1920 X 1080] 4. 테스트를 원하는 Device의 System Image 를 선택 # Download 버튼 클릭 5. Virtual Device 의 이름을 설정한다. 6. Virtual Device 추가 끝!
1. Configure - Plugins 선택 2. Android Studio Plugins - Flutter 설치 3. Android Studio Plugins - Dart 설치 4. Flutter SDK 설치 상태 확인 # Windows 명령 프롬프트 실행 ( cmd ) 5. Flutter SDK 설치 상태 확인 # flutter doctor 입력