gpt4 book ai didi

android - 如何设计一个在后台对网页进行测试,让用户正常使用手机的APP?

转载 作者:太空狗 更新时间:2023-10-29 14:27:15 24 4
gpt4 key购买 nike

我目前正在尝试设计一个特定的应用程序,但我真的不知道该怎么做。该应用程序必须像这样运行。

我必须做的:

用户启动应用程序。此操作启动一些独立于 UI(当前是服务)的东西,它必须请求远程服务器获取测试场景、执行测试并将结果发送到同一服务器,即使应用程序的 UI 不在屏幕上也是如此。

第二个约束:用户在开始时选择来自服务器的场景的两次请求之间的时间。

示例: 用户启动应用程序,选择“每 5 分钟执行一次测试场景请求”,之后,他可以在手机上执行任何他想执行的操作.并且应用程序每 5 分钟发送一次获取测试场景的请求(不是一个,而是一个不同的数字,例如 50),执行测试场景,并将结果发送到服务器;然后,等待下一个请求。
在此期间,我认为状态栏中的通知图标可能是访问应用程序 UI 的好东西。这样,当用户觉得该应用已完成足够的测试时,他可以访问 UI 并停止该应用。

我已经做了什么:

我创建了一个创建服务的 Activity 。我还使用 AlarmManager 设置了一个警报,通过 AlarmReceiver 接收,它每 X 分钟/秒/... 调用服务并在服务中启动对服务器的请求获取场景(http 请求在 AsyncTask 中完成)。该服务在其 onCreate() 方法的状态栏中放置一个通知。我还设法解析 JSON、发送 HttpRequest 以及诸如此类的技术问题。

我的问题是什么:

我发现该服务在 onStartCommand() 结束时自行停止。它完成了方法,然后转到 onDestroy()(我没有放置 stopSelf()),但是服务真的关闭了吗?如果是,我怎么能在整个申请期间让它“启动”?

状态栏中的通知随着AlarmManager 给出的节奏出现和消失。我怎样才能“稳定”它?

如果您已经设计了这样的应用程序(邮件应用程序,我认为是一个很好的例子,它每 X 分钟请求邮件服务器检查新邮件并发送通知),我如何才能达到我的目标?重用邮件应用程序示例:检查服务器上新邮件的服务是否一直在运行?

我真的不知道如何设计这个应用之王,所以欢迎任何帮助。对不起,我的英语不好。如果您想要精度、服务代码、 Activity ,请询问。

问候

最佳答案

看起来您的 Service 正在 UI 线程上运行。您应该在 Service 中创建一个新线程,所有网络操作都将在其中进行。因此,AlarmManager 中没有必要 - 只需在 Thread等待 X 毫秒即可。

附言如果您不知道如何创建新线程:

new Thread(new Runnable(){
public void run(){
//your code here
}
}).start();

但我强烈建议您先阅读有关多线程的内容。

关于android - 如何设计一个在后台对网页进行测试,让用户正常使用手机的APP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11048690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com