flutter 20

[flutter] native(앱) 의 웹뷰(vue3) 양방향 통신 방법 InAppWebView 사용

pubspec.yaml dev_dependencies: flutter_test: sdk: flutter # The "flutter_lints" package below contains a set of recommended lints to # encourage good coding practices. The lint set provided by the package is # activated in the `analysis_options.yaml` file located at the root of your # package. See that file for information about deactivating specific lint # rules and activating additional ones. ..

[flutter] 소켓 통신 응답받을때 데이터 짤리는 문제

flutter 에서 소켓 접속후 응받받을때 데이터가 짤리는경우가 발생한다. 수정전 Future _listenToSocket() async { _socket.listen( (List data) async { // 데이터 수신 처리 _hexString = HEX.encode(data); print('flutter 에서 데이터 수신'); print(_hexString); // 비동기 작업을 수행하고자 하는 경우, await 키워드로 Future를 기다릴 수 있습니다. await someAsyncTask(); // 비동기 작업 후 추가적인 코드 }, onError: (e) { print('Socket error: $e'); _disconnect(); }, onDone: () { print('Socket disc..

[flutter] native(앱) 의 웹뷰(vue3) 양방향 통신 방법 webview_flutter 사용

webview_flutter : 안드로이드에서는 정상 작동하지만 iOS 에서는 alert 을 비롯한 알수없게 작동안된다. => InAppWebViewController 로 변경 목적 : flutter 와 웹뷰(vue3) 의 양방향 통신방법에 대해서 알아본다. 전제 조건 : vue3 에서는 쉐워드워커, 워커를 사용하기 때문에 워커에서는 flutter 의 웹뷰로 의 양방향 통신은 불가능하다. 프로세스 흐름 - input (request) ui 에서 Tr 클릭 (n_flutter.vue) Tr input 객체를 만들어 Worker 로 전송 $Worker.send(data); (n_flutter.vue) js/index.js 의 send 함수에서 웹인지 앱인지 체크 (/js/index.js) inputHexSt..

[flutter] native 와 webview 양방향 통신 방법

목적 : 네이티브와 웹뷰간의 양방향 통신 방법을 알아본다. 네이티브 : 서버와 tcp/ip 소켓접속 후 데이터 전송하여 받아오는 역할을 한다. 웹뷰: input 정보를 네이티브에 전송하고 서버에서 받아온 응답 데이터를 네이티브에서 받아온다. 현재까지는 hexString 으로 input 값으로 전달한후 output 값도 hexString 으로 받아온다. output connect : tcp/ip 소켓 접속연결한다. sendTr : 연결된 소켓으로 input hexString 보낸다. Flutter 프로젝트 구조 main.dart /* * https://pub.dev/packages/webview_flutter * https://kbwplace.tistory.com/176 * */ import 'dart:c..

flutter json -> object 로 변경 jsonDecode 사용

Flutter에서 JSON 데이터를 디코딩하는 방법은 dart:convert 라이브러리의 jsonDecode() 함수를 사용하는 것입니다. jsonDecode() 함수는 JSON 문자열을 Dart 객체로 변환해줍니다. 아래는 Flutter에서 JSON 디코딩을 수행하는 간단한 예제 코드입니다: import 'dart:convert'; void main() { // 예제로 사용할 JSON 문자열 String jsonString = '{"name": "John", "age": 30, "isMarried": false}'; // JSON 문자열을 디코딩하여 Dart Map으로 변환 Map parsedJson = jsonDecode(jsonString); // 디코딩된 데이터 사용 String name = pa..

flutter socket 연결후 데이타 계속 보내기 mymq 연결후 응답받음

. 서버 실행 [@localhost socket_server]# php server2_php.php SocketManager.dart import 'dart:io'; class SocketManager { late Socket _socket; bool _connected = false; static const String host = "220.72.212."; // php server static const int port = 25003; // static const String host = "13.125.57."; // mymq // static const int port = 9001; Future connectToSocket() async { try { _socket = await Socket.con..

flutter dart 에서 hexString 을 byte 로 변환 (소켓한번만연결)

목적 : flutter 에서 hexString 을 byte 로 변환하여 접속된 소켓으로 보내려고 한다. javascript 에서는 hexString 을 Uint8Array 로 변환한다. (arrayBuffer) # inutString 0000012931334331202020202020202020202020646f6d202020202057313931304130312020202020202020202020202020202020202020202020202020202020203030302e3030302e3030302e303030203030302e3030302e3030302e3030302030302d30302d30302d30302d30302d30302020205330313832383520202020202020202..

flutter webview 와 네이티브간의 데이터 통신 webview-javascript-bridge 사용

flutter 네이티브와 웹뷰와 데이터 통신하는 방법을 알아보도록 하겠습니다. webview 에서 버튼을 클릭하면 javascript 함수에서 flutter 를 호출합니다. 버튼 클릭시 webviewjsbridge 로 전송됩니다. decoding 해보겠습니다. 웹페이지의 javascript 에서 보낸 json 이 출력됩니다. . webview -> 네이티브 /lib/main.dart /* https://github.com/flutter/flutter/issues/117333 https://pub.dev/packages/webview_javascript_bridge https://blog.steinjun.net/post/8 */ import 'package:flutter/material.dart'; imp..

flutter 앱에 webView 추가 방법

안드로이드 스튜디오를 이용하여 flutter 에서 webview 추가하는 방법을 알아보겠습니다. pubspec.yml webview_flutter 추가 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 webview_flutter: ^4.0.2// 추가 android > app > build.gradle 수정 defaultConfig { // TODO: Specify your own unique Application ID (htt..

Flutter 이용하여 TCP socket 연결 샘플 코드

fultter 이용하여 TCP socket 접속을 해보겠습니다. 본 블로그에서 만들려는 flutter는 클라이언트 socket 입니다. 안드로이드와 IOS 에 적용가능하도록 개발합니다. socket 서버 샘플은 아래 주소를 확인하세요. https://trytoso.tistory.com/1643 flutter 프로젝트를 생성 main.dart import 'package:flutter/material.dart'; import 'views/view_test.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widge..