tradein_plugin 0.0.7 tradein_plugin: ^0.0.7 copied to clipboard
Trade in plug in package is for usage of native modules like android and ios code are using in flutter app
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:tradein_plugin/tradein_plugin.dart';
import 'package:tradein_plugin/modal/student.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String _platformVersion = 'Unknown';
String _dataFromAndroidNativeCode = 'Unknown';
String _resultFromAndroidNativeCode = 'Unknown';
List<Map<String, dynamic>> arr = [
{'name': 'man', 'age': 28},
{'name': 'ram', 'age': 34},
];
Map<String, dynamic> json = {'name': 'man', 'age': 28};
@override
void initState() {
super.initState();
initPlatformState();
}
// Platform messages are asynchronous, so we initialize in an async method.
Future<void> initPlatformState() async {
final student = Student(name: 'man', age: 20);
String platformVersion;
String _dataFromAndroid = 'Unknown';
// Platform messages may fail, so we use a try/catch PlatformException.
// We also handle the message potentially returning null.
try {
platformVersion =
await TradeinPlugin.platformVersion ?? 'Unknown platform version';
TradeinPlugin.passValuesToNative(student,
value: 'hi', arr: arr, json: json, isTrue: true);
_getTradinPluginSDKValues();
print("Venky calling for data - "+_dataFromAndroid);
} on PlatformException {
platformVersion = 'Failed to get platform version.';
}
// If the widget was removed from the tree while the asynchronous platform
// message was in flight, we want to discard the reply rather than calling
// setState to update our non-existent appearance.
if (!mounted) return;
// setState(() {
// print("Venky calling for data - "+_dataFromAndroid);
// _dataFromAndroidNativeCode = _dataFromAndroid;
// print("Venky calling for data - "+_dataFromAndroidNativeCode);
// });
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Trade In Plugin example app'),
),
body: Center(
child: Column(children: <Widget>[
Container(
margin: EdgeInsets.all(25),
child: FlatButton(
child: Text(
'Welcome To Trade In Host App \n\n\n$_dataFromAndroidNativeCode\n\n Result : $_resultFromAndroidNativeCode',
style: TextStyle(fontSize: 20.0),
),
onPressed: () {},
),
),
Container(
margin: EdgeInsets.all(25),
child: FlatButton(
child: Text(
'Trade In',
style: TextStyle(fontSize: 20.0),
),
color: Colors.blueAccent,
textColor: Colors.white,
onPressed: _showNativeView,
),
),
])),
),
);
}
Future<void> _showNativeView() async {
print("Venky calling for data _showNativeView");
String data1;
try {
// TradeinPlugin.loadTradinPluginSDK();
final String? data = await TradeinPlugin.loadTradinPluginSDKWithValues("userName","iLotid","vin");//sending data from flutter here
setState(() {
print("Venky calling for data _showNativeView - "+data!);
_resultFromAndroidNativeCode = data;
print("Venky calling for data _showNativeView - "+_dataFromAndroidNativeCode);
});
} on PlatformException catch (e) {
data1 = "Android is not responding please check the code";
}
}
Future<String?> _getTradinPluginSDKValues() async {
print("Venky calling for data new");
String data;
try {
data = (await TradeinPlugin.getTradinPluginSDKValues)!;//sending data from flutter here
} on PlatformException catch (e) {
data = "Android is not responding please check the code";
}
setState(() {
print("Venky calling for data new - "+data);
_dataFromAndroidNativeCode = data;
print("Venky calling for data new - "+_dataFromAndroidNativeCode);
});
}
}