- 本文为 AriesHoo 原创,未经授权禁止转载!
- 原文地址
相关文章一:用Flutter给Readhub写一个App
相关文章二:Flutter版本Readhub开源
相关文章三:Flutter iOS真机调试及打包过程记录
前言
说来惭愧,去年开始学习Flutter开发时用网上的Api给Readhub开发了个Flutter版App,五个月前(2020-6-26)整理了下发了一篇文章用Flutter给Readhub写一个App,当时准备说再整理下源码给开源下,没想到一拖就5个月过去了。我这拖延症。
最近将源码整理了下,升级了下SDK及各个三方库。并用测试证书打包了一个iOS测试版发布到蒲公英。
因为前面文章介绍了不少的页面及实现功能相关描述,这里只简要介绍下项目的分包及使用的三方库及当前环境。
效果一览
Android 部分
浅色主题 | 深色主题 |
---|---|
![]() |
![]() |
资讯详情 | 更多操作 |
![]() |
![]() |
选择主题 | 社交分享 |
![]() |
![]() |
iOS 部分
浅色主题 | 深色主题 |
---|---|
![]() |
![]() |
资讯详情 | 更多操作 |
![]() |
![]() |
选择主题 | 社交分享 |
![]() |
![]() |
分包


basis:主要存放一些基类
data:为api调用相关-文章及更新app
dialog:为用户信息及分享dialog弹窗-继承Dialog
generated及l10n:为国际化插件自动生成
helper:为路径及权限等帮助类
model:存放数据对象
page:页面
util:各种工具栏
view_model:为page与data之前桥梁
widget:为拆分公共组件
三方库
# 国际化支持
flutter_localizations:
sdk: flutter
# 状态管理State
provider: ^4.3.2
# 吐司toast
oktoast: ^2.2.0
# 设备信息
device_info: ^0.4.2+4
# 应用包信息
package_info: ^0.4.1
# WebView
webview_flutter: ^0.3.22+1
# 网络请求相关dio
dio: ^3.0.9
# 加载网络图片
cached_network_image: ^2.2.0+1
synchronized: ^2.1.0+1
# 下拉刷新
pull_to_refresh: ^1.6.0
# 本地缓存sp
shared_preferences: ^0.5.7+3
#用于做骨架屏-闪光效果
shimmer: ^1.1.1
#跳转系统浏览器/打电话等
url_launcher: ^5.4.11
#二维码-生成
qr_flutter: ^3.2.0
#工具类
flustars: ^0.3.2
#动态权限申请
permission_handler: ^5.0.1
#文件路径
path_provider: ^1.6.11
#分享文字及文件-注意保存文件位置
#注意0.1.2以后的版本分享图片微信提示获取资源失败,分享到其它平台正常
flutter_share_plugin: 0.1.2
本地运行环境
[✓] Flutter (Channel stable, 1.20.0, on macOS 11.0.1 20B29, locale zh-Hans-CN)
• Flutter version 1.20.0 at /Users/scta/develop/Flutter/SDK/flutter
• Framework revision 840c9205b3 (3 months ago), 2020-08-04 20:55:12 -0700
• Engine revision c8e3b94853
• Dart version 2.9.0
• Pub download mirror https://pub.flutter-io.cn
• Flutter download mirror https://storage.flutter-io.cn
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /Users/scta/Library/Android/sdk
• Platform android-29, build-tools 29.0.3
• ANDROID_HOME = /Users/scta/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.2, Build version 12B45b
• CocoaPods version 1.9.3
[!] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] IntelliJ IDEA Ultimate Edition (version 2020.1)
• IntelliJ at /Applications/IntelliJ IDEA.app
• Flutter plugin version 46.0.3
• Dart plugin version 201.7223.43
[✓] Connected device (2 available)
• Android SDK built for x86 (mobile) • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)
• iPhone 8 (mobile) • B3F143F6-7BCE-41D4-9FBC-75163AE84EE9 • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-2 (simulator)
! Doctor found issues in 1 category.
Process finished with exit code 0
原则上任意环境都能正常运行
注意事项
1、笔者已将国际化生成为文件夹都上传了如果发现有相关国际化内容显示异常可安装插件Flutter Intl

结语
该App为笔者学习Flutter练手开发的 ,权当抛砖引玉了,万望各位不吝赐教
关于我
掘金: AriesHoo
简书: AriesHoo
GitHub: AriesHoo
Email: AriesHoo@126.com
网友评论