Android 开发的 12 个最佳实践
作为 Android 工程师,我们都渴望为世界各地的人们创造难忘的体验。而且,随着越来越多的人依赖您的应用程序,期望值也越来越高,而您作为设计师的工作并没有变得更轻松。现在,您不仅需要更新,而且要在其他开发人员中脱颖而出,才能在市场上留下您独特的印记。列出了一些最佳实践,您可以采用这些最佳实践来获得更好的开发成果。
1.选择合适的开发方式
并非所有应用程序都使用相同的方法构建。在开始开发过程之前,您必须集思广益、计划并选择合适的方法。在继续之前,您必须事先确定您的其他应用程序将是本机、混合或基于 Web 的应用程序。这些开发方法各有利弊,进行适当的研究会更好地帮助您。
2. 保持高代码质量
我们都知道编码是一门艺术。一旦一个人开始正确编码,他/她就会开始喜欢这种味道。此外,您编码的创造性如何,表明您是多么优秀的开发人员。您的代码质量始终很重要。因为编写长代码从来都不是一个聪明的步骤,它不仅会增加出现更多错误的机会并消耗大量时间,而且会产生大量复杂性。这里列出了几个要点,您可以采用这些要点来获得卓越的代码质量。
- 为了使您的代码看起来最好,您可以首先研究专家的代码,分析他们的方法并尝试修改它。
- 提供您使用的每个函数的用途。
3.始终保持一致的编码风格和准确的架构
- 使用描述性名称。
- 始终保持你的代码简单和清醒,删除不必要的行,保持你的工作简短和描述性。
Tip: Use Proguard, this will help to remove all unused codes and minimize the APK size.
4. 学习如何使用 Android 文档
Android 本身是一个非常庞大的概念,想象你是所有概念和技术的大师是非常不切实际的。当涉及到编程或构建应用程序时,除了堆栈的文档之外,没有什么可以帮助您。学习如何使用/阅读和理解 Android 文档很重要,这将帮助您构建具有各种功能的大量应用程序。因此强烈建议在 android 上进行开发人员培训:- 入门 |安卓开发者
5. 用户输入
如果与用户高度互动,您的项目工作似乎更友好,而且似乎也更有帮助。在编码时,每个文本字段都计划用于不同的工作。我们将某些文本字段中的输入作为数字或字母。如果我们要求用户输入数值,则仅打开数字键盘被视为更好的做法。语法将是:
XML
XML
XML
Java
public class SimpleOrientationActivity extends Activity {
OrientationEventListener mOrientationListener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mOrientationListener = new OrientationEventListener(this,
SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int orientation) {
Log.v(DEBUG_TAG,
"Orientation changed to " + orientation);
}
};
if (mOrientationListener.canDetectOrientation() == true) {
Log.v(DEBUG_TAG, "Can detect orientation");
mOrientationListener.enable();
} else {
Log.v(DEBUG_TAG, "Cannot detect orientation");
mOrientationListener.disable();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mOrientationListener.disable();
}
除此之外,如果您的字段是密码,那么它必须显示密码提示,以便轻松记住密码。可以实现为。
XML
6.避免布局中的深层
拥有深度分层代码视图实际上会使 UI 管理布局的速度变慢。通过使用正确的视图组,大多数情况下可以避免深层层次结构。建议使用单级层次结构。
XML
7. 牢记设计
开发人员的职责与设计师的职责不同。在很大程度上,建筑商往往擅长技术概念,而设计师则因更具创造力而受到认可。但是话虽如此,在开发应用程序时,您不能戴上眼罩。您想了解布局添加剂将如何创建,以便您可以相应地对应用程序进行编码。为了让设计人员和开发人员共同有效地运作,您的整个团队都希望在同一页面上。您可以使用情绪板和许多其他工具来思考并保持对设计元素的跟踪。这将使您的改进方式变得不那么困难,并减少在适应设计师的过程中进行大量逾期修改的可能性。对于那些认识到扩展和布局方式的人,您仍然应该在这些早期阶段整理您的设计元素。
8. 加速 Android Gradle 构建
- 始终保持 Gradle 更新并使用最新的 Android 版 Gradle 插件。
- 启用项目的离线模式、Gradle 守护程序和并行构建。要离线使用 Gradle,请参阅下面的设置。
- 使用特定的依赖版本而不是 Dynamics 版本。
- 在 gradle.properties 中添加以下标志
- org.gradle.jvmargs=-Xmx2048m – Amount of memory allocation increases around 2GB to the Gradle Daemon VM.
- org.gradle.daemon=true – improves the build and allows the data and code to store in memory for the next build.
- org.gradle.configureondemand=true – only project-related tasks are configured, saves time from the Configuration phase of Gradle.
- org.gradle.parallel=true – executes tasks from different projects in parallel. Especially useful for modularising the app.
- android.enableBuildCache=true – speed up build items by sorting files and directories created in previous builds.
- org.gradle.caching=true – Turns on Gradle-caching.
9. 使用 标签进行选择性布局和重用布局
无论是网站还是应用程序,都是在开发项目之前选择布局的方式。但在我们选择任何布局之前,我们需要了解项目的 UI 是如何创建的。因此,当我们谈论布局时,我们知道有 ConstraintLayout、LinearLayout、RelativeLayout、FrameLayout、CoordinatorLayout,在所有这些布局中,您只需要在开始使用之前对其中的一些进行性能分析。如果您的 XML 的某些部分被重用,并且您希望避免在不同布局中复制代码。只需通过在单独的布局中提取它们来添加
10. 为您的项目使用 Android 调试桥 (ADB)
因此,ADB 基本上是一种工具,不仅用于逆向工程,而且被许多 android-tech 爱好者使用,但很少有人能充分利用它或充分利用它,而且大多被忽视。 ADB - 一个命令行工具,或者我们可以说是一个客户端-服务器程序,可以让您与安卓操作系统进行通信。尽管开发人员不是每天都在使用此工具的功能,也不是日常使用,但您可以减轻大量开发经验。它具有许多功能,例如可以从您的 android 设备中添加或删除文件/数据,并且只需在您的计算机上单击几下即可解决大量隐藏的数据。开发人员使用这些工具在 android OS 设备中进行测试和更改。如果用户忘记了手机密码,我们可以使用 ADB 从 android 目录中删除密码文件,然后重新启动,设备解锁。
11. 处理项目/应用程序的配置更改
处理 android 应用程序的配置是 android 开发人员的繁忙任务之一。基本上,在配置更改中发生的事情是 android 通常会破坏您应用程序的现有活动和片段并重新创建它们。正确处理方向可提供丰富的用户体验,并使应用程序运行顺畅。现在您想以编程方式侦听简单的屏幕方向更改并让您的应用程序对它们做出反应,您可以使用 OrientationEventListener 类在 Activity 中执行此操作。让我们看看它在Activity中的实现。只需实例化一个 OrientationEventListener 并提供它的实现。以下是名为 SimpleOrientationActivity 的 Activity 类的示例,将方向信息记录到 LogCat:
Java
public class SimpleOrientationActivity extends Activity {
OrientationEventListener mOrientationListener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mOrientationListener = new OrientationEventListener(this,
SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int orientation) {
Log.v(DEBUG_TAG,
"Orientation changed to " + orientation);
}
};
if (mOrientationListener.canDetectOrientation() == true) {
Log.v(DEBUG_TAG, "Can detect orientation");
mOrientationListener.enable();
} else {
Log.v(DEBUG_TAG, "Cannot detect orientation");
mOrientationListener.disable();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mOrientationListener.disable();
}
12. 提供最高级别的安全性
无论开发人员打算制作什么样的应用程序,但安全性绝对应该由开发人员优先考虑,事实上,安全云是最被忽视的之一,因为它不仅是一个大概念,而且许多人似乎并不完美。您的应用程序将包含大量数据和您公司的敏感信息以及您应用程序上的用户。根据您开发的应用程序,可能包含支付信息的重要信息,例如家庭地址、电话号码以及用户提供的更多信息。如果您的应用程序不安全,用户会犹豫是否向您提供信息。如果安全受到破坏,它可能会对您的品牌造成如此大的破坏,以至于很难恢复。
因此,作为开发人员,您有责任采取措施并使用加密和其他策略(例如(双因素身份验证 2FA))来保护敏感信息。
Tip: Make sure your application has the feature to wipe out all the data and set up automatic backup as well if urgent the user demands.
现在我们将提到一些可以提高您的工作效率的快速提示
- 切换到 Android Studio – 这是 Android 的官方 IDE
- 使用 Android 调试数据库 - 允许您使用数据库并将首选项发送到浏览器。
- 使用合法的外部库并仅授予它们所需的权限。首先忽略第三方库。
- 避免使用浮点数——浮点数比安卓设备上的整数慢 2 倍左右。
- 如果字符字符串有大量修改,请使用 StringBuffer 或 StringBuilder 类。
- 在应用程序内安装模块化。
- 使用字符串.xml - 从长远来看,将文本添加为字符串资源总是有用的,尤其是在需要添加对新语言的支持时。
结论
开发移动应用程序并不是每个人都喜欢的。它不仅是一个庞大的开发堆栈,而且每个部分都有很多种类。在您的开发道路上,您将不得不跨越坎坷和破坏者以实现里程碑,因此,我相信如果您在日常工作中实施应用程序,很少有指南和最佳实践可以帮助您更轻松地开发应用程序。