Files
receipity/README.md
T
2026-08-28 18:23:56 +02:00

3.2 KiB

MyApp

Generic Flutter Android starter built with Flutter 3.47 (Dart 3.13), Material 3, null safety, and Provider for state management.

Package name: com.example.myapp

Features

  • Splash screen that fades into the main shell
  • Bottom navigation: Home, Search, Profile, Settings
  • ListView.builder catalog with rounded, shadowed cards
  • Detail screen with a matching Hero animation
  • Light / dark / system theme, persisted with shared_preferences
  • Add-item form with validation
  • Mock catalog plus an http client aimed at JSONPlaceholder (toggle in Settings)

Folder structure

android-flutter-app-generic/
├── android/                         # Android embedding, Gradle, manifest
├── lib/
│   ├── main.dart                    # Entry point, Provider scope, MaterialApp
│   ├── models/
│   │   └── item.dart                # Item + ItemCategory
│   ├── providers/
│   │   ├── item_provider.dart       # Catalog ChangeNotifier
│   │   └── theme_provider.dart      # ThemeMode ChangeNotifier
│   ├── screens/
│   │   ├── splash_screen.dart
│   │   ├── main_shell.dart          # NavigationBar host
│   │   ├── home_screen.dart
│   │   ├── search_screen.dart
│   │   ├── profile_screen.dart
│   │   ├── settings_screen.dart
│   │   ├── item_detail_screen.dart
│   │   └── add_item_screen.dart
│   ├── services/
│   │   ├── storage_service.dart     # shared_preferences wrapper
│   │   ├── item_api.dart            # http placeholder
│   │   ├── fake_item_data.dart      # Offline sample catalog
│   │   └── item_repository.dart     # Mock vs remote switch
│   ├── utils/
│   │   ├── app_theme.dart           # Material 3 light/dark themes
│   │   ├── constants.dart
│   │   └── helpers.dart
│   └── widgets/
│       ├── app_text_field.dart
│       ├── empty_state.dart
│       ├── item_card.dart
│       ├── item_hero_badge.dart
│       ├── loading_view.dart
│       └── responsive_body.dart
├── test/
│   └── widget_test.dart
└── pubspec.yaml

Run the app

You need the Flutter SDK (3.47 or newer) and an Android emulator or device.

cd android-flutter-app-generic
flutter pub get
flutter run

Useful extras:

flutter devices          # list emulators / devices
flutter run -d android   # target Android explicitly
flutter analyze          # static analysis
flutter test             # widget + unit tests

On first Android run, Flutter will download a Gradle distribution and compile the app. Accept any Android licenses with flutter doctor --android-licenses if prompted.

Theme and data

  • Open Settings to switch System / Light / Dark. The choice is stored locally.
  • Turn on Use remote sample API to fetch posts from https://jsonplaceholder.typicode.com/posts through the http package. If the request fails, the app falls back to the bundled mock list.