Flutter'da Sensör, Kamera ve Konum Erişimi

Flutter uygulamalarında cihazın donanım özelliklerine erişmek, kullanıcı deneyimini zenginleştiren temel bir beceridir. Sensörler (ivmeölçer, jiroskop), kamera ve konumlandırma bu işlemlerin başında gelir.

Flutter'da `sensors_plus` paketi kullanarak ivmeölçer, jiroskop ve manyetometre verilerine ulaşabilirsin. Önce pubspec.yaml dosyasına paketi ekle:

1dependencies:
2sensors_plus: ^1.4.0

Ardından ivmeölçer verilerini okumak için:

1import 'package:sensors_plus/sensors_plus.dart';
2
3class SensorPage extends StatefulWidget {
5State<SensorPage> createState() => _SensorPageState();
6}
7
8class _SensorPageState extends State<SensorPage> {
9late StreamSubscription<AccelerometerEvent> _accelerometerSubscription;
10String _sensorData = "Veri bekleniyor...";
11
13void initState() {
14super.initState();
15_accelerometerSubscription = accelerometerEvents.listen((event) {
16setState(() {
17_sensorData = "X: ${event.x.toStringAsFixed(2)}, "
18"Y: ${event.y.toStringAsFixed(2)}, "
19"Z: ${event.z.toStringAsFixed(2)}";
20});
21});
22}
23
25void dispose() {
26_accelerometerSubscription.cancel();
27super.dispose();
28}
29
31Widget build(BuildContext context) {
32return Scaffold(
33appBar: AppBar(title: Text("Sensör Verileri")),
34body: Center(child: Text(_sensorData)),
35);
36}
37}

Çıktı: Cihazı hareket ettirdikçe X, Y, Z eksenlerindeki ivme değerleri güncellenir (örn: X: 0.15, Y: -0.08, Z: 9.81).

`geolocator` paketi ile GPS konumuna ulaşabilirsin:

1dependencies:
2geolocator: ^9.0.0

Android için AndroidManifest.xml'e izinleri ekle:

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası
1<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
2<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

Konum alma kodu:

1Position position = await Geolocator.getCurrentPosition(
2desiredAccuracy: LocationAccuracy.high,
3);
4
5print("Enlem: ${position.latitude}, Boylam: ${position.longitude}");

Çıktı: Enlem: 41.0082, Boylam: 28.9784 (örnek İstanbul koordinatları).

`camera` paketi ile cihaz kamerasını kontrol edebilirsin:

1dependencies:
2camera: ^0.10.0

Basit kamera uygulaması:

1final cameras = await availableCameras();
2final firstCamera = cameras.first;
3
4final controller = CameraController(
5firstCamera,
6ResolutionPreset.high,
7);
8
9await controller.initialize();

Her durumda izinleri kontrol et ve kullanıcıdan iste. Sensör, konum ve kamera erişimi hassas verilerdir; güvenlik ve gizlilik en öncelikli tutulmalı.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz