• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

android - 退出申请是否令人不悦?

[复制链接]
菜鸟教程小白 发表于 2022-8-1 01:25:53 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

继续尝试学习 Android,我只是 read the following :

Question: Does the user have a choice to kill the application unless we put a menu option in to kill it? If no such option exists, how does the user terminate the application?

Answer: (Romain Guy): The user doesn't, the system handles this automatically. That's what the activity lifecycle (especially onPause/onStop/onDestroy) is for. No matter what you do, do not put a "quit" or "exit" application button. It is useless with Android's application model. This is also contrary to how core applications work.



呵呵,我在Android世界中每走一步都会遇到一些问题=(

显然,您无法退出 Android 中的应用程序(但 Android 系统可以在任何时候完全摧毁您的应用程序)。那是怎么回事?我开始认为编写一个功能为“普通应用程序”的应用程序是不可能的——用户可以在他/她决定退出时退出应用程序。这不是应该依赖操作系统来做的事情。

我尝试创建的应用程序不是 Android Market 的应用程序。它不是一般大众“广泛使用”的应用程序,它是一个将在非常狭窄的业务领域中使用的业务应用程序。

我实际上非常期待为 Android 平台开发,因为它解决了 Windows Mobile 和 .NET 中存在的许多问题。然而,上周对我来说有点令人失望......我希望我不必放弃Android,但现在看起来不太好=(

有没有办法让我真正退出应用程序?



Best Answer-推荐答案


这最终会解决您的问题,但我首先想解决您在对撰写本文时已经给出的各种答案的各种评论中提出的一些问题。我无意改变你的想法——相反,这些是为将来阅读这篇文章的其他人准备的。

The point is that I cannot allow for Android to determine when my app is going to be terminated. that must be the choice of the user.


数百万人对环境根据需要关闭应用程序的模型非常满意。这些用户根本不会考虑“终止”Android 应用程序,就像他们不会考虑“终止”网页或“终止”恒温器一样。
iPhone 用户的情况大致相同,因为按下 iPhone 按钮并不一定“感觉”该应用程序已终止,因为许多 iPhone 应用程序从用户离开的地方开始,即使该应用程序真的被关闭(因为 iPhone 只允许目前一次一个第三方应用程序)。

As I said above, there is a lot of things going on in my app (data being PUSHed to the device, lists with tasks that always should be there, etc.).


我不知道“总是应该在那里的任务列表”是什么意思,但“数据被推送到设备”是一个令人愉快的虚构,在任何情况下都不应该通过 Activity 来完成。使用计划任务(通过 AlarmManager )更新您的数据以获得最大的可靠性。

Our users log in and can't be doing that every time they get a phone call and Android decides to kill the app.


有许多 iPhone 和 Android 应用程序可以解决这个问题。通常,这是因为他们持有登录凭据,而不是每次都强制用户手动登录。

For example, we want to check updates when exiting the application


这在任何操作系统上都是错误的。众所周知,您的应用程序被“退出”的原因是操作系统正在关闭,然后您的更新过程将在中途失败。一般来说,这不是一件好事。在启动时检查更新或完全异步检查更新(例如,通过计划任务),永远不要退出。

Some comments suggest that hitting the back button does not kill the app at all (see link in my question above).


按 BACK 按钮不会“杀死应用程序”。当用户按下 BACK 按钮时,它会完成屏幕上的 Activity 。

It should only terminate when the users want to terminate it - never ever any other way. If you can't write apps that behave like that in Android, then I think that Android can't be used for writing real apps =(


那么 Web 应用程序也不能。或 WebOS ,如果我正确理解他们的模型(还没有机会玩一个)。在所有这些中,用户不会“终止”任何东西——他们只是离开。 iPhone 有点不同,因为它目前一次只允许运行一件事(有一些异常(exception)),因此离开的行为意味着应用程序的立即终止。

Is there a way for me to really quit the application?


正如其他人告诉您的那样,用户(通过 BACK)或您的代码(通过 finish())可以关闭您当前正在运行的 Activity 。对于正确编写的应用程序,用户通常不需要其他任何东西,就像他们需要“退出”选项来使用 Web 应用程序一样。

根据定义,没有两个应用程序环境是相同的。这意味着您可以在新环境出现和其他环境被掩埋时看到环境中的趋势。
例如,越来越多的运动试图消除"file"的概念。大多数 Web 应用程序不会强制用户考虑文件。 iPhone 应用程序通常不会强制用户考虑文件。 Android 应用程序通常不会强制用户考虑文件。等等。
同样,越来越多的运动试图消除“终止”应用程序的概念。大多数 Web 应用程序不会强制用户注销,而是在用户一段时间不 Activity 后隐式注销。与 Android 相同,在较小程度上与 iPhone(可能还有 WebOS)相同。
这需要更加重视应用程序设计,关注业务目标,而不是坚持与以前的应用程序环境相关的实现模型。没有时间或不愿意这样做的开发人员会对打破他们现有思维模型的新环境感到沮丧。这不是任何一种环境的错,更不是 Storm 在山上流动而不是通过它的山的错。
比如一些开发环境,比如Hypercard和 Smalltalk,将应用程序和开发工具混合在一个设置中。除了应用程序的语言扩展(例如, VBA 中的 ExcelLisp in AutoCAD )之外,这个概念并没有流行起来。因此,提出假设应用程序本身存在开发工具的心智模型的开发人员要么不得不改变他们的模型,要么将自己限制在他们的模型适用的环境中。
所以,当你写:

Along with other messy things I discovered, I think that developing our app for Android is not going to happen.


这似乎是最好的,对你来说,现在。同样,我建议您不要尝试将您的应用程序移植到 Web,因为您在 Android 上报告的一些相同问题也会在 Web 应用程序中找到(例如,没有“终止”)。或者,相反,如果有一天你将你的应用程序移植到 Web 上,你可能会发现 Web 应用程序的流程可能更适合 Android,届时你可以重新访问 Android 端口。

关于android - 退出申请是否令人不悦?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2033914/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap