본문 바로가기

프로그래밍177

[Flutter] WebView JS 통신 오늘은 웹과 앱에서의 JS통신을 구현해봤다. html과 javascript까지 봐야하니까.... 너무 어렵다................... 하지만 그래도 해야하기에 (T^T) html 파일 작성 The navigation delegate is set to block navigation to the youtube website. webToApp appToWeb https://www.youtube.com/ https://www.google.com/ 여기서 WebToApp function은 alert를 띄워주고, 로그를 뿌려준다. appToWeb function은 alert를 띄워주고, container_box id를 가진 div의 backgroundcolor를 변경해준다. main.dart에 index... 2021. 3. 19.
[Flutter] IOS 앱 구동 (2) https://cording-cossk3.tistory.com/101 [Flutter] IOS 앱 구동 (1) android studio로 개발하던 프로젝트를 맥으로 가져와서 빌드하려고 했더니, Downloads Dart SDK 였나? 라고 뜨길래 다운받으려고 링크를 타고 들어갔다. dart.dev/get-dart $ brew tap dart-lang/dart $ brew install dart cording-cossk3.tistory.com flutter 프로젝트로 이동하자 그리고 ios 프로젝트를 열어준다. 그럼 xcode가 실행이 될 것이다!! 왼쪽에 project 구조에서 Runner를 클릭하면 무슨 설정 창 같은게 뜰 것이다. 위처럼 Signing & Capabilities 탭에 들어가면 Tea.. 2021. 3. 19.
[Flutter] IOS 앱 구동 (1) android studio로 개발하던 프로젝트를 맥으로 가져와서 빌드하려고 했더니, Downloads Dart SDK 였나? 라고 뜨길래 다운받으려고 링크를 타고 들어갔다. dart.dev/get-dart $ brew tap dart-lang/dart $ brew install dart 위에 처럼 터미널에서 명령어를 쳐줬더니 Dart SDK 설치 완료! $ brew info dart 위 명령어로는 dart의 정보를 볼 수 있다. 위의 그림이 dart 의 정보이다. 맨 아래에 Dart SDK 경로를 보여주는데, 이것을 android studio에서 dart sdk경로 설정해주면 된다. Languages & Frameworks > Dart에서 Enable Dart support for the project .. 2021. 3. 19.
[Flutter] Flutter http http 패키지 추가하기 dependencies: flutter: sdk: flutter http: 0.13.0 pub.dev/packages/http/example _MyAppState(); } Future fetchPost() async { final response = await http.get(Uri.https('jsonplaceholder.typicode.com', '/posts/1')); if (response.statusCode == 200) { // 만약 서버가 OK 응답을 반환하면, JSON을 파싱합니다. return Post.fromJson(json.decode(response.body)); } else { // 만약 응답이 OK가 아니면, 에러를 던집니다. throw Exception.. 2021. 3. 18.
[Flutter] Layout App (2) * Layout App 이벤트 주기 import 'package:flutter/material.dart'; // Uncomment lines 7 and 10 to view the visual layout at runtime. // import 'package:flutter/rendering.dart' show debugPaintSizeEnabled; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { Widget titleSection = Container( padding: const EdgeInsets.all(32), child: Row( chi.. 2021. 3. 17.
[Flutter] Layout App (1) * layout app 만들기 레이아웃 구조는 다음과 같다. Title Section Widget titleSection = Container( padding: const EdgeInsets.all(32), child: Row( children: [ /*Row1*/ //Expanded : UI 상 남는 공간이 없게 화면을 꽉 채우고 싶을 때, //특정 컴포넌트들을 폰 화면 넓이에 맞게 비율로 적용하고 싶을 때 사용 Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ /*Column1*/ Container( padding: const EdgeInsets.only(bottom: 8), child: Text( 'O.. 2021. 3. 17.
[Flutter] Flutter Video Player * VideoPlayer pubspec.yaml dependencies: flutter: sdk: flutter video_player: Android-/android/app/src/main/AndroidManifest.xml iOS-/ios/Runner/Info.plist NSAppTransportSecurity NSAllowsArbitraryLoads VideoPlayerController 생성 및 초기화 1. StatefulWidget, State class 생성 2. State class에 VideoPlayerController 저장하기 위한 변수 추가 3. State class에 VideoPlayerController.initialize로부터 반환되는 Future 저장하기 위한 변수 추가 4. .. 2021. 3. 16.
[Flutter] Flutter Widget * Text Text( 'Hello World!!!', style: TextStyle( color: Colors.red, fontSize: 20.0, fontStyle: FontStyle.italic ), ) * Row : 가로로 레이아웃 생성 Row( //mainAxisAlignment : 자식의 수평 배열 생성 //MainAxisAlignment.spaceEvenly : 균등 배치 mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Image.asset('images/pic1.png'), Image.asset('images/pic2.png'), Image.asset('images/pic3.png'), ], ) * Column : 세로로 레이아.. 2021. 3. 16.
[Flutter] Flutter App (4) * Flutter 파일 구조 이쯤 되면 궁금해지는 Flutter project의 파일 구조... 파일들을 어떻게 나눠야 될지, 폴더명은 어떻게 하는 게 좋을지 궁금해서 찾아보았다. Root Directory of App (프로젝트 생성 시 만들어지는 기본 폴더가 아님) - Assets : 거의 대부분의 앱에서 반드시 사용해야 함. 로고나 사용자 지정 아이콘, 앱 전체에서 사용되는 정적 이미지 등.. 일단 이러한 요소들이 Assets 폴더에 저장되면 pubspec.yaml에 등록해줘야 함 - Fonts : Flutter에서 제공하는 기본 글꼴 사용 시 필요 없음 - Function : DB 사용 시 별도의 설정 필요한 경우 관련 함수 저장 → 실제 앱을 구동하는 코드와 구분 가능 lib Derectory .. 2021. 3. 16.
[Flutter] Flutter App (3) * 좋아요 목록 보기 import 'package:flutter/material.dart'; import 'package:english_words/english_words.dart'; import 'package:flutter/rendering.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Startup Name Generator', debugShowCheckedModeBanner: false, .. 2021. 3. 16.