不以規矩,不能成方圓
本章主要介紹一下整個項目的目錄架構以及項目使用的第三個依賴包。
一、目錄結構
下面是需要關注的目錄和檔案,其他的不需要過多理會。
book_reader
├── android
├── assets
│ ├── fonts
│ ├── icons
│ ├── images
│ ├── json
│ ├── sounds
│ └── web
├── doc
├── ios
├── lib
│ ├── common
│ ├── database
│ ├── localizations
│ ├── module
│ ├── network
│ ├── pages
│ ├── plugin
│ ├── redux
│ ├── utils
│ ├── widget
│ ├── generated_plugin_registrant.dart
│ └── main.dart
├── pubspec.yaml
└── README.md
- android: Android項目檔案夾
- assets: 其他資源,如圖檔、字型、音頻等
- assets - fonts:字型檔案夾
- assets - icons:圖示檔案夾
- assets - images:圖檔檔案夾
- assets - json:初始化資料存放的檔案夾
- assets - sounds:聲音檔案夾
- assets - web:手機啟動一個Web服務,電腦端可通路的頁面内容,裡面存放的都是JavaScript和Html檔案
- doc: 項目文檔說明
- ios:iOS項目檔案夾
- lib: 存放所有的dart語言代碼,包括所有的子產品和頁面
- lib - common: 項目常量和項目配置檔案夾
- lib - database: 項目資料庫檔案夾,資料庫操作相關的都放這裡
- lib - localizations: 國際化相關的類都放這裡
- lib - module: 功能子產品,子產品的業務邏輯可以存放這裡
- lib - network: 網絡子產品,封裝通路網絡相關的類
- lib - pages: 頁面展示類都放這裡,類似MVC中的V
- lib - plugin: 插件類,與原生子產品互動的類都放這裡
- lib - redux: Redux子產品,用于頁面間的狀态管理
- lib - utils: 工具類
- lib - widget: 控件類,通用的控件子產品可以抽象出來放這裡
- lib - generated_plugin_registrant.dart: 插件注冊Dart檔案,所有與原生代碼互動的插件,需要在這裡注冊
- lib - main.dart: 項目入口主類
- pubspec.yaml: 項目配置檔案,包括第三方插件、圖檔等
- README.md: README檔案
二、第三方依賴包
# 網絡
dio: ^5.1.2
# SQLLite資料庫
sqflite: ^2.2.8+3
# 持久化資料存儲
shared_preferences: ^2.1.1
# 事件通知
event_bus: ^2.0.0
# 網絡連接配接狀态
connectivity_plus: ^3.0.6
# 電池
battery_plus: ^4.0.0
# 查詢包資訊版本
package_info_plus: ^4.0.1
# 擷取裝置資訊
device_info_plus: ^9.0.1
# webview插件
webview_flutter: ^4.2.0
# 下拉重新整理
pull_to_refresh: ^2.0.0
# 滑動删除
flutter_slidable: ^0.6.0
# 底部彈出
modal_bottom_sheet: ^3.0.0-pre
# 格式化字元串
sprintf: ^7.0.0
# 二維碼, 需要配合 image_picker
flutter_qr_reader: ^1.0.5
image_picker: ^0.8.7+5
# flutter_svg
flutter_svg: ^1.0.1
# 生成二維碼
qr_flutter: ^4.1.0
# 檔案選擇
file_picker: ^5.3.0
# 檔案分享
share_extend: ^2.0.0
# 圖檔緩存
cached_network_image: ^3.2.3
# html處理
html: ^0.15.3
# 顯示html
flutter_html: ^3.0.0-beta.1
# html轉義
html_unescape: ^2.0.0
# 權限管理
permission_handler: ^10.2.0
# utf8轉gbk
fast_gbk: ^1.0.0
# 打開URL
url_launcher: ^6.1.11
# 文本轉語音
flutter_tts: ^3.6.3
# 隐藏iOS底部白條
home_indicator: ^2.0.2
# 漢字轉拼音,繁轉簡
lpinyin: ^2.0.3
# redux
flutter_redux: ^0.10.0
# path
path: ^1.8.3
path_provider: ^2.0.15
# UUID
uuid: ^3.0.7
# json注解,配合build_runner和json_serializable生成json檔案
json_annotation: ^4.8.1
intl: ^0.18.0
flutter_localization: ^0.1.11
# 廣告子產品
admob_flutter: ^3.0.0