2022년 6월 16일 목요일

구글 Flutter 로 하이브리드 웹 앱 띄우기 1

이래저래 사정이 있어서

구글 Flutter 로 하이브리드 웹앱을 만드는 중..

시간 관계 상 자세히 파고드는 건 다음에 하고..

일단 만드는 것 우선으로 해서 이래저래 찾아보면서 소스 줒어서 조립 중..

다음이 그 소스..

시간 될 때 Flutter 는 함 배워볼 만 할 듯..

0. 세팅은 알아서.. 유튜브나 구글링 해보면 강좌들이 많다. 사용한 Flutter 버전은 3.0.1

1. 소스는 간단하나 실제로 Webview 를 띄워보니 javascript가 전혀 동작하지 않아서 먹통이 되어 황당했음.

2. 별도의 javascript 처리기를 구현해야 함을 구글링을 통해 알고, 처리 후 정상작동 확인.

3. javascript 처리기 원 소스는 다음 링크 : https://cording-cossk3.tistory.com/103

4. 그리고 앱 빌드하고 구동시에 사이트 로딩시 'net::ERR_CLEARTEXT_NOT_PERMITTED' 같은 오류가 발생한다면 다음 링크 확인 : https://stackoverflow.com/questions/55592392/how-to-fix-neterr-cleartext-not-permitted-in-flutter

이하 소스!

끗~~! 뭘봐!



import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        //appBar: AppBar(),
        appBar: AppBar(
          title: const Text('제목자리'),
        ),
        body: WebView(
          initialUrl: '호출할URL',
          javascriptMode: JavascriptMode.unrestricted,
          onWebViewCreated: (WebViewController webViewController) {
            //_controller.complete(webViewController);
          },
          onProgress: (int progress) {
            print("WebView is loading (progress : $progress%)");
          },
          javascriptChannels: <JavascriptChannel>{
            _webToAppChange(context),
          },
        ),
      ),
    );
  }
}

JavascriptChannel _webToAppChange(BuildContext context) {
  return JavascriptChannel(
      name: 'webToAppChange',
      onMessageReceived: (JavascriptMessage message) {
        // ignore: deprecated_member_use
        print("webToAppChange 메시지 : ${message.message}");
      });
}

댓글 없음:

댓글 쓰기

BE Band (비밴드) - 2024년 03월 02일 잠실새내 락앤롤욱스 공연

나의 10~20대를 보낸 잠실에서의 공연.. 오랜만에 가보니.. 여기가.. 마눌님과 자주 가던 영화관이었는데... 여긴 뭐가 있었는데... 란 추억도 떠올리며 기분좋게 감.​ 공연장은 좀 협소한 편이었고, 인천의 쥐똥나무 보다는 약간 크고... 인천 ...