当我对Flutter产生兴趣之后,我一直在寻找解决问题的简单应用的想法。
这篇文章是回顾,写了第一行代码后的两个星期。
问题
首先,我们需要解决一个问题。
我和妈妈一起在市场购物。 我们正在为即将到来的圣诞节买一些东西。 她有一张纸上要买的产品清单。 一切正常,只有一个例外。 在购买了一些产品之后,我意识到我们已经从市场的一端转到另一端。 我查看了此列表,发现了问题。
![](https://i-blog.csdnimg.cn/blog_migrate/6e0139cc05d3c56269fafb339c6dc4ba.png)
该列表写得不好,阅读它需要一些努力。 因此,不可能快速查看列表中的所有项目,并在看到它们时将它们放入购物篮中。 收集每种产品后,您每次都必须阅读列表,因为您不会自动记住列表中的其他内容。
另外,您应该始终记得随身携带该清单。 如果您碰巧忘记了它,那就有问题了。 您可以尝试提醒自己里面有什么,或者打电话给家里的人发送给您。
我观察到的最后一个问题是查看篮子中已有的东西和没有的东西。 我敢打赌您没有一支笔来检查或划掉已经收集的物品。 因此,您会不时查看清单并检查您已经拥有的和仍然需要的。 它会分散您的购物时间并浪费您的时间。
理念
解决这些问题的想法非常简单。 简单的想法是最好的。
我妈妈需要一个清晰易读的购物清单。
![](https://i-blog.csdnimg.cn/blog_migrate/0ff727357be992fa30c45893a50f1ac5.png)
而已。 问题的根源在于阅读清单并确保始终随身携带所需的精力。 如果列表易于阅读,您将集中精力从列表中收集项目,而不是列表本身。
简单直观的控件也将有助于区分篮子中已有的物品和仍未收集的物品。
通过使用解决所有问题的移动应用程序,可以轻松解决所有问题。
实作
我需要创建一个应用。 第一,它将非常易于使用,直观,清晰并且完全不会让人感到不知所措。
在技术方面,答案很简单。 我选择了Flutter。 我需要简单的功能。 只有一个屏幕和两个对话框。
- 屏幕显示所有项目。
- 允许您添加新项目的对话框。
- 确认您要删除项目的对话框。
![](https://i-blog.csdnimg.cn/blog_migrate/5d2eee7ec5a602915688438ea6bc384c.png)
我实现了这些东西。 唯一的一个屏幕由ListView
组成,该列表显示ListTile
每个项目。 轻击它可以使前导图标从破折号转换为选中状态,并将图块的背景更改为绿色。 再次点击可以扭转这种情况。 尾随的小部件是一个删除的IconButton
,它在对话框中确认后从列表中删除了该项目。 除此之外,还有一个FloatingActionButton
负责显示“添加新项”对话框。
如果列表为空,则会显示一个“未绘制”插图。
![](https://i-blog.csdnimg.cn/blog_migrate/37420e4a859f8a00820569d24f66131b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/10fbc82363cebb28e6d0ef44153214f4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d96085d239585e52bc00c531baa084b5.png)
项目已保存在应用程序状态下的列表中。 完成每个操作后,该列表将以JSON格式保存到“共享的偏好设置”,并在应用启动时加载。
之后,我实现了本地化,因为我希望该应用程序以我的母语(波兰语)和英语显示。 这篇文章对我有帮助。
就应用程序本身而言就是这样。 我创建了启动器图标(白色背景上的橙色文本),并在Google Play控制台中编写了文本。 我将其发布到Alpha频道,发送给几个朋友,然后等待他们的反馈。 他们没有遇到任何问题,并且喜欢它的简单性。
我发布了第一个生产版本。 我请同学们测试一下,并展示给妈妈。 我的同学和妈妈都喜欢它。 好吧,她对此感到惊讶,并迫使她的同事也下载了它。 😁
我根本不喜欢该应用程序的屏幕截图和启动器图标。 有一段时间,我在Adobe Xd中玩了一些模型,图标和文本,并提出了一些不错的图标和新的“屏幕截图”。 我从Iconfinder中组合了两个免费的商业用图标,并制作了Google Play和启动器图标。 “屏幕截图”包含我在网上找到的免费使用的Google Pixel 2 XL样机。 我发布了带有更新的启动器图标的1.0.1版。
![](https://i-blog.csdnimg.cn/blog_migrate/c66287fb2ad77cf9dfc4f867d2d00fdd.png)
几天后,我想到了可以添加的新功能。 该应用程序必须尽可能简单,但存在一些小问题。 我妈妈向我解释说,一旦她将某些项目检查为完成,然后点击“ 删除所有想法”,它将只删除已检查的项目,但她丢失了整个清单。
我将Delete all按钮的效果更改为delete complete,因为我认为这是更直观的行为。 我也添加了撤消功能。 删除一个项目(或所有已完成的项目)后,小吃店会弹出几秒钟,告诉您有关情况并显示“ 撤消”按钮。
在后台,我重新实现了产品如何存储在内存中。 我将使用状态重构为使用ScopedModel
。 之后,我发布了1.1.0版本,该版本是当前应用程序的最新版本。
您可以下载该应用程序并自己检查一下!
几天后下载统计数据还不错。 我仍在寻找将我的应用推广到更广泛的受众的方法。
![](https://i-blog.csdnimg.cn/blog_migrate/e24a2c22753488a32b78b9c719a91a2e.png)
您还可以在GitHub上找到源代码,欢迎使用星号。 😏
From: https://hackernoon.com/from-solving-a-problem-to-google-play-publishing-with-flutter-e0b4716c2394