android客户端如何与后台java服务器交互

android客户端如何与后台java服务器交互,第1张

1、java服务器建立至少一种服务webservices、servlet、socket

2、客户端通过socket或者>服务端:
@Override
protected void doGet(>这个取决你android客户端这边是否有数据需要存在本地
比如登录后的用户信息、用户浏览过的商品缓存、购物车缓存什么的?
如果没有数据需要存储,也就不需要用sqllite数据库
当然,即使有数据需要存储,也不一定非要用数据库存,自定义文件格式也是可行的,看你们的设计需要

Google官网将Android服务分为了三种,前台服务,后台服务和绑定服务:

前台服务执行一些用户能注意到的 *** 作。例如,音频应用会使用前台服务来播放音频曲目。前台服务必须显示 通知 。即使用户停止与应用的交互,前台服务仍会继续运行。

后台服务执行用户不会直接注意到的 *** 作。例如,如果应用使用某个服务来压缩其存储空间,则此服务通常是后台服务。

当应用组件通过调用 bindService() 绑定到服务时,服务即处于 绑定 状态。绑定服务会提供客户端-服务器接口,以便组件与服务进行交互、发送请求、接收结果,甚至是利用进程间通信 (IPC) 跨进程执行这些 *** 作。仅当与另一个应用组件绑定时,绑定服务才会运行。多个组件可同时绑定到该服务,但全部取消绑定后,该服务即会被销毁。

我个人理解服务可以分为两种, 前台 和 后台 ,而 绑定 应该是被当作一种状态,因为 前台服务 和 后台服务 都可以进行绑定。

基于这个理解,我们将限制分成了前台和后台两个部分:

从 Android 50(API 级别 21)开始,如果使用隐式 Intent 调用 bindService() ,则系统会抛出异常。为确保应用的安全性,在启动 Service 时,请始终使用显式 Intent,且不要为服务声明 Intent 过滤器。

在后台中运行的 Service 会消耗设备资源,这可能会降低用户体验。 为了缓解这一问题,系统对这些 Service 施加了一些限制。

处于前台时,应用可以自由创建和运行前台与后台 Service。

Android 80 开始:系统不允许后台应用创建后台 Service。否则该函数将引发一个 IllegalStateException。

Android 80 开始:进入后台时,在一个持续数分钟的时间窗内,应用仍可以创建和使用 Service。 在该时间窗结束后,应用将被视为处于 空闲 状态。 此时,系统将停止应用的后台 Service,就像应用已经调用 Service 的 ServicestopSelf() 方法一样。

为了解除这种限制,可以使用 JobScheduler 作业替换后台 Service。

在 Android 80 之前,创建前台 Service 的方式通常是先创建一个后台 Service,然后将该 Service 推到前台。

而在Android 80 之后,系统不允许后台应用创建后台 Service。

解决方案:调用 startForegroundService() ,以在前台启动新 Service。

在系统创建 Service 后,应用有五秒的时间来调用该 Service 的 startForeground() 方法以显示新 Service 的用户可见通知。 如果应用在此时间限制内 未 调用 startForeground() ,则系统将停止此 Service 并声明此应用为 ANR 。

前台服务必须显示优先级为 PRIORITY_LOW 或更高的 状态栏通知 ,这有助于确保用户知道应用正在执行的任务。如果某 *** 作不是特别重要,因而您希望使用最低优先级通知,则可能不适合使用服务;相反,您可以考虑使用 计划作业 。

在 Android 9 (API 28)之后,使用前台服务必须申请 FOREGROUND_SERVICE 权限,否则会报 SecurityException 。 这是普通权限,因此,系统会自动为请求权限的应用授予此权限。

每个运行服务的应用都会给系统带来额外负担,从而消耗系统资源。如果应用尝试使用低优先级通知隐藏其服务,则可能会降低用户正在主动交互的应用的性能。因此,如果某个应用尝试运行拥有最低优先级通知的服务,则系统会在抽屉式通知栏的底部调用出该应用的行为。

以 Android 12 为目标平台的应用在后台运行时无法再启动 前台服务 。

Android 11 及以后,系统对前台服务何时可以访问设备的位置、摄像头或麦克风进行了限制。

如果您的应用以 Android 11 或更高版本为目标平台,且在前台服务中访问摄像头或麦克风,则必须添加 前台服务类型 camera 和 microphone 。

如果你的应用 在后台运行时启动了某项前台服务 :

如果某服务的功能(位置、麦克风 和 相机)受到了限制,则Logcat中会打印如下语句:

PHP可以控制你所说的分配之类的 *** 作的,但是服务器随机得有个触发把,比如说新来一个用户,或者有个按钮,或者一定时间?
举个例子,比如说现在需要进行配对 *** 作,1:1 然后就随机两个在线用户,给他们创建一个单独的聊天室,就可以聊天了,然后在接下来的配对中把这两个用户移除掉,直到他们退出聊天。
然后重复多次,直到所有用户,或者剩余1个用户无法配对的时候。
摇一摇配对和显示在线人数好像不是很难,难得是即时聊天吧。
如果你们能做出聊天,并且很多并发聊天都没有问题的话。我觉得你上述的问题应该不存在才对


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12586650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存