- 1 سال قبل
- علیرضا نصراله زاده
نوشتن کد نیتیو (Native) در فلاتر (Flutter)
در فلاتر (Flutter)، اگر نیاز داشته باشید کد نیتیو (Native) بنویسید، میتوانید از ابزارهای پلتفرمهای مختلف استفاده کنید. در اینجا چگونگی استفاده از کد نیتیو در فلاتر برای دو پلتفرم اصلی (اندروید و iOS) آورده شده است:
1. استفاده از کد نیتیو در اندروید:
در پروژهی فلاتر خود، میتوانید از پوشه android/app/src/main برای اندروید استفاده کنید. در این پوشه، یک پوشه به نام java ایجاد کرده و کد Java نیتیو خود را در آن قرار دهید.
برای فراخوانی این کد در فلاتر، میتوانید از پکیج method_channel استفاده کنید. این پکیج امکان ایجاد یک ارتباط بین کد جاوا (یا کد نیتیو اندروید) و فلاتر را فراهم میکند.
2. استفاده از کد نیتیو در iOS:
در پروژهی فلاتر، به پوشه ios بروید. در این پوشه، یک پوشه به نام Runner وجود دارد. شما میتوانید کد Objective-C یا Swift خود را در این پوشه اضافه کنید.
برای ایجاد ارتباط بین کد نیتیو iOS و فلاتر، میتوانید از همان پکیج method_channel که در قسمت اندروید هم استفاده کردیم، استفاده کنید.
استفاده از MethodChannel در فلاتر:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Native Code in Flutter'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
// فراخوانی کد نیتیو با استفاده از MethodChannel
const platform = MethodChannel('your_channel_name');
try {
final String result = await platform.invokeMethod('your_method_name');
print(result);
} on PlatformException catch (e) {
print('Error: $e');
}
},
child: Text('Call Native Code'),
),
),
),
);
}
}
در کد بالا، MethodChannel برای ایجاد ارتباط بین فلاتر و کد نیتیو استفاده شده است. شما باید your_channel_name و your_method_name را با نام کانال و نام متد مربوط به کد نیتیو خود جایگزین کنید.
برای هر پلتفرم (اندروید یا iOS) باید کد مناسب را در پروژههای نیتیو خود اضافه کنید و با MethodChannel به درستی متصل کنید.