오랜만에 Flutter 관련 포스팅을 하게 되었습니다.
Flutter에서 웹을 띄우는 패키지에 대해서 포스팅을 합니다.
가장 인기있는 package 는 webview_flutter 입니다.
https://pub.dev/packages/webview_flutter
간단하게 만든 소스는 아래와 같습니다.
위의 example 사이트에는 너무 많은 것이 있어서 웹사이트만 딱 띄우는 예제를 포스팅해드립니다.
flutter 에서는 package를 관리하는 pubspec.yaml이 있는데 이곳에 의존성을 추가하셔야합니다.
import 'dart:async';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
class MusicList extends StatefulWidget {
const MusicList({Key? key}) : super(key: key);
@override
State<MusicList> createState() => _MusicListState();
}
class _MusicListState extends State<MusicList> {
final Completer<WebViewController> _controller = Completer<WebViewController>();
@override
void initState() {
super.initState();
if(Platform.isAndroid){
WebView.platform = SurfaceAndroidWebView();
}
}
@override
Widget build(BuildContext context) {
var screenHeight = MediaQuery.of(context).size.height;
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
title: const Text('나비드 음악'),
automaticallyImplyLeading: true,
),
body: Builder(builder: (BuildContext context){
return WebView(
initialUrl: 'https://www.genie.co.kr/detail/artistInfo?xxnm=79678096',
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
);
},
),
),
);
}
}
예제에 initialUrl 만 변경하시면 원하시는 사이트를 띄우실 수 있으실꺼에요 ^^
제가 좋아하는 가수 나비드의 음악이 올려진 사이트를 flutter 에서 올려보았습니다.
매번 프로젝트를 다른 언어로 하니 힘드네요
flutter 를 좋아하는 마음으로 올려봅니다.
즐거운 코딩되세요.
[Flutter] Android key tool 버그 해결방법 (0) | 2022.05.02 |
---|---|
[Mac OS X bug] Unable to load JNA library (OS: Mac OS X 12.3.1)해결방안 (0) | 2022.04.12 |
Ganache transaction Test (0) | 2022.03.03 |
flutter calendar custom 사용법 (0) | 2022.02.22 |
dart source file naming 규칙 (0) | 2022.01.10 |