|
|
1 hafta önce | |
|---|---|---|
| .. | ||
| android | 1 hafta önce | |
| assets | 1 hafta önce | |
| ios | 1 hafta önce | |
| lib | 1 hafta önce | |
| linux | 1 hafta önce | |
| macos | 1 hafta önce | |
| web | 1 hafta önce | |
| windows | 1 hafta önce | |
| .gitignore | 1 hafta önce | |
| .metadata | 1 hafta önce | |
| README.md | 1 hafta önce | |
| analysis_options.yaml | 1 hafta önce | |
| pubspec.lock | 1 hafta önce | |
| pubspec.yaml | 1 hafta önce | |
This Flutter application ports the AI-driven palm oil ripeness detection system to mobile devices. It allows for gallery-based analysis with local history storage and health alerts.
Navigate to the mobile project directory and fetch dependencies:
cd palm_oil_mobile
flutter pub get
To test the app with full AI performance, run it in Release Mode:
flutter run --release
As you're new to Flutter, here’s a map of where the important logic lives. All your custom code is inside the lib/ folder:
lib/main.dartThe entry point of the application. This is where the app theme is defined and the first screen (HomeScreen) is launched.
lib/models/palm_record.dart: Defines the "blueprint" for a detection result. If you want to store more data (like GPS coordinates or weather), you'd add fields here.lib/services/This folder contains "behind-the-scenes" logic:
yolo_service.dart: Wraps the AI model. This is where the TFLite model is initialized and where image inference happens.database_helper.dart: Manages the local SQLite database (palm_oil_history.db). Change this if you need to update the database schema.lib/screens/This is where the UI lives:
home_screen.dart: The main dashboard.analysis_screen.dart: The UI for image selection, showing the loading spinner, and displaying the AI results.history_screen.dart: The list view for previous records and the detail modal.assets/Located at the root of the project. This contains your non-code files:
models/best.tflite: The trained brain of the app.labels/labels.txt: The names of the classes the model can recognize.pubspec.yaml: The project's manifest. This is where you add new dependencies (like camera or GPS plugins) and register new assets.