我的第一个发布的应用程序(第1部分)
Intro
大家好, 我刚完成将我的第一个应用发布到Google Play。 我决定写这篇文章来纪念这一经历,并提供一些有关构建和发布的技巧。
此帖子不应跟在“ t”后面。 我最近才获得Android应用程序开发人员认证,并且有很多方法可以构建自己的专业应用程序。 这篇文章供那些希望通过构建和发布过程,并希望他们知道其他人的经验的人,以帮助他们摆脱发布过程中的紧张情绪。
About
ØWL Flash Cards Level 1 en-cn. Code Repo, App
使用Android Studio版本3.3创建。 要求最低SDK级别为19。 针对SDK级别28进行了编译。
其他依赖项:Firebase,Support,Arch.Persistence.Room,Arch.Lifecycle和Expresso用于测试。
Starting a New Project
Creating the Idea/concept.
首先我会说中文很糟糕,但是我嫁给了一个来自中国的女孩。 因此,结婚一段时间后,我尝试学习中文,而我基本上讨厌大多数程序教给您的方式。 有空的时候,我想要一种快速的方法来学习一两个单词,而最好的方法似乎是抽认卡。
对于创建自己的应用程序创意,最好的方法通常是公正的,您想要什么,然后将其向外扩展以帮助其他人。 这可以使志趣相投的人容易被您的应用创意吸引。
Creating a look for the Idea.
许多人听说过抽认卡并可能使用了它们,但是如何设计一个看起来像它们的应用程序呢?
首先,您可以尝试阅读设计师制作精美卡片动画的技巧和窍门,但是如果过早这样做,通常会遇到障碍。 我发现最好的方法是从小开始:
- Create a single app page and design its layout.这可以通过在纸上绘图或使用编辑器来完成。首先将所需项目放在“标题栏,导航栏等...”之间。不要过早地选择颜色,设置背景和元素的样式可能很有趣,但是过早地进行操作会导致代码混乱,并在以后进行大量清理。填写其余内容,但不要忘记为您自己的徽标和标题留出空间。Lorem ipsum is a great way to put filler text, until you've organized your layout more.*remember to draw buttons for apps with more then 1 screen, or look into other options like the navigation drawer.Reference other apps, does the page you created look like a home page, a menu, the main content, etc...如果不是通常使用的设计,请考虑可以通过参考他人来改进自己的设计的方法,或者尝试向朋友解释如何使用您的设计。 如果您不能亲自解释它,几乎现在用户只能通过看到它来理解它。您不需要看起来与其他应用完全相似,但是除非设计是他们的专业,否则人们往往会草率设计。 因此,请尽可能使用其他应用程序作为参考。完成所有这些操作有助于建立您正在创建专业应用程序的验证。Create a story board for apps with more then 1 page.这样,您所有的设计和页面都可以排成一行,因此当您跳至功能时,您会记住谁与谁连接。
我亲自重新绘制了大约一个星期的设计和情节提要,直到发现现在我只需要最简单的布局即可。
Android Studio first time build
因此,Android Studio为您提供了一些基本模板,现在,如果您不需要任何其他模板,则可以使用空的活动布局。 但是请记住,不仅要跳到默认设置,还要看一下设计应用程序时所做的事情,是否将所有用于将屏幕切换到导航抽屉的按钮按下,以及如果android已经为您准备好布局。
- 记住要看可用的东西,因此以后不必重新创建*。
Building the app layout
最后,我们可以开始编码了。 这个应用程序的准备工作花了我很多时间,但是能够开始编码并在手机屏幕上看到我弹出的布局非常值得。
现在对于主屏幕和菜单屏幕,一开始非常简单。 我只需要一个LinearLayout即可容纳由Textviews,ImageViews和Buttons组成的视图,但这对我来说是一个错误的假设。
线性布局很棒,但它们只是一个方向,因此,如果要连续两个项目,则必须添加另一个布局组。 如果添加第二个线性布局以容纳这两个项目,则还需要担心布局权重。 布局权重很棒,因为它们可以帮助您组织多个屏幕尺寸的内容,但当嵌套在一起时可能会导致性能问题。 这是由于计算机必须调用onmeasure并提取多次以正确处理每个项目的尺寸而导致的,这减慢了所有其他资源的速度,通常会极大地使用户烦恼。
那么我该怎么做才能保持不同屏幕尺寸的灵活性? 对于标题屏幕,我使用约束布局作为父级,并在其中放置了一个滚动视图。 滚动视图环绕着我的线性布局,允许我的应用程序超越手机的边界...是的,我知道这对于标题屏幕是错误的,因为如果您的标题部分或后续内容超出范围,那么什么用户会 认为,“哦,我可以滚动到它,没关系”。 没有那个是谁。 但是,当我在多设备屏幕上进行测试时,我允许了这个早期的错误,因此我现在不必构建水平方向。
后来我确实去为页面构建水平布局,但是起初我专注于功能,没关系。 如果您确实决定以这种方式集中精力,请确保实现// TODO提醒,以免日后忘记任何事情。
Fragment layout building
片段布局是包括在内放入预先存在的布局中,因此请记住您的视图层次结构,避免嵌套权重,而忘记父级已经具有权重,可能会导致严重的性能问题。
我的应用程序当前使用2个片段,一个用于设置首选项片段,另一个用于抽认卡本身。 构建布局是半直接的,只是花了我一段时间才弄清楚如何使卡片翻转并显示翻译的一面。 但更多有关第2部分。
from: https://dev.to//davidcf/my-first-published-app-part-1-510k