当前位置:首页 » 安卓系统 » android开发后台服务

android开发后台服务

发布时间: 2022-05-23 07:19:18

1. 安卓APP数据后台怎么开发

你先考虑这些问题,解决这些问题,推荐使用PHP语言开发后台
1.打算采用云数据来(如阿里云)进行MySQL数据库服务器的搭建,在进行这方面开发需要学什么语言?SQL语言和PHP语言需不需要学?
2.APP与数据库的通信可以采用什么通信服务?
3.后台数据采集硬件怎么把数据上传到该数据库?

2. Android开发中怎么在后台服务中监听讯飞输入法的莫得键盘的显示和隐藏

摘要 1. 通过ImputMethodManager 获取输入法的打开/关闭状态

3. 有做安卓后台服务端的哥们吗问你们个问题



刚好本科毕业设计是做一个Android即时聊天应用-EasyIM。感谢题主的这个问题,让我有动力整理下毕业设计的代码。

因为实习占用了大四的大部分时间,导致EasyIM只完成了部分功能便参与答辩。虽然最终侥幸过了毕设答辩,但效果与自己期望的相去甚远。

开始工作后,有比较多的空闲时间,我打算慢慢完善该项目,并将近期所学习的一些新技术应用到该项目中。

该项目分为两部分:

  • EasyIM-Server : EasyIM服务端

  • EasyIM-Android : EasyIM Android端

  • EasyIM目前实现了:

  • 用户基础功能(登录/注册)

  • 好友功能(添加/删除好友)

  • 点对点的消息发送功能(文本消息/图文消息)

  • 离线消息功能(获取离线时收到的消息,消息的接收/已读回执)

  • 实现思路

    我们先来聊聊具体实现的思路


    基础协议

    因为移动设备多变的网络环境,以及即时通讯应用实时在线的需求,简单地使用Scoket建立客户端与服务端,或者客户端与客户端的通信是行不通的。
    当前普遍的做法是在服务端与客户端之间建立一个长连接,客户端A将消息发送给服务端,服务端再将消息转发给客户端B。
    而如何建立一个长连接实现客户端与服务端的通信,以及保证连接的质量与低耗电,低耗流量是一个难题。这里就要扯上XMPP,MQTT这两个协议。

  • XMPP是PC时代的产物,其底层通讯的数据格式的XML,数据冗余性太高(约70%),比较耗流量,并且在复杂的移动网络环境下会遇到各种各样的问题。不过胜在拥有比较多的开发资料以及Openfire(底层是基于XMPP)这样一个成熟的即时聊天框架。

  • MQTT协议较之XMPP更为轻量级,其连接的建立与传输的开销都非常小,非常精简,非常适合大量节点在弱网络环境的场景,发布/订阅的模式也比较易于扩展。

  • 很明显, 我们需要选择MQTT作为我们这个即时通信应用的基础协议,关于MQTT客户端与服务端的开源实现有:

  • fusesource/mqtt-client

  • dobermai/android-mqtt-push

  • mqttjs/MQTT.js

  • 比较遗憾的是,因为毕业设计是在太赶,我并没有自己实现(实现难度也挺大的),而是使用了第三方的推送服务。


    服务端实现

    整个服务端实现比较简单,因为整个项目采用重客户端-轻服务端的开发策略,所以服务端的逻辑非常少,总共就4张表,12个接口。使用Restful风格的API。
    用户模块,好友模块比较简单,无外就是增删查改。
    值得一提的是消息模块,我将整个系统的各种功能事件,抽象成为"消息事件“, 比如,添加好友是一条消息,确认添加好友也是一条消息, 发送文本是一条文本消息,发送图文是图文消息。服务端只负责将该消息转发给指定客户端,而不关注消息是什么类型。而客户端接收到消息并根据消息类型进行其他逻辑操作。

4. android开发,怎样才能让后台服务不被各种一键清理关掉

1、在配置文件AndroidManifest.xml应用的application节点添加android:persistent=”true”,保证该应用程序所在进程不会被LMK杀死。提高软件运行的优先级。注:只设置android:persistent=”true”仍然会被杀死的情况。

2、在activity的 onStop()执行时,启用一个像素的悬浮窗防止应用被清理,代码如下:

java">Buttonbutton=newButton(getApplicationContext());
WindowManagerwm=(WindowManager)getApplicationContext()
.getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParamswmParams=newWindowManager.LayoutParams();

/**
*以下都是WindowManager.LayoutParams的相关属性具体用途请参考SDK文档
*/
wmParams.type=LayoutParams.TYPE_PHONE;//这里是关键,你也可以试试2003
wmParams.format=PixelFormat.RGBA_8888;//设置图片格式,效果为背景透明
/**
*这里的flags也很关键代码实际是wmParams.flags|=FLAG_NOT_FOCUSABLE;
*40的由来是wmParams的默认属性(32)+FLAG_NOT_FOCUSABLE(8)
*/
wmParams.flags=LayoutParams.FLAG_NOT_TOUCH_MODAL
|LayoutParams.FLAG_NOT_FOCUSABLE
|LayoutParams.FLAG_NOT_TOUCHABLE;
wmParams.width=1;
wmParams.height=1;
wm.addView(button,wmParams);//创建View

5. Android开发的后台属于后端吗,应该学习些什么知识才能开发后台

后台属于后端,包括数据库和逻辑

6. 如何让android的service一直在后台运行

1.把service和activity分开,让service开机启动。设置一个broadcastreceiver接受开机信号,使用RECEIVE_BOOT_COMPLETED的permission,然后启动service。activity启动后绑定到service上,通过ipc机制通信,acitivity结束后松绑。注意安装后要手动启动service,不会自动启动,之后重启手机后才会随开机启动。2.在内存低的时候系统会自动清理进程,这时候后台service可能会被杀掉。可以在onStartCommand中返回START_STICKY,这样系统有足够多资源的时候,就会重新开启service。3.以上不需要NDK,直接用SDK开发就可以了。Android一直运行的后台服务是不存在的,而且也不是最佳实践,因为一直运行的后台服务会耗费大量系统资源,影响其他程序的响应从而影响到用户体验。可以考虑使用如下几种方案来达到一直运行的效果。1.调用startForeground方法,android:.使用AlarmManager发送定时任务:DiamondsAreForever.ServicesAreNot.我现在也遇到这个问题,我想楼主之所以出现这个问题的原因是,你在Activitiy中创建的Service运行在当前进程中,当你把这个Activitiy的进程杀掉之后,自然这个服务也就停止了。所以我的建议是在startService的时候,让这个Service运行在与该Activity不同的进程中(可以startService或者开机时创建一个新的进程)。实际上就是Linux里面的进程操作。可以使用NDK开发,用C或者C++新建一个进程来运行自己的服务,并提高进程优先级,避免被清理掉(我猜测 和 的推送服务,或许是这么实现的)。有一种做法是开两个进程来相互监督,一旦其中一个进程被停止,另一个检测到后,立即或稍后重启另一个进程。这里可以效仿这种做法。可以开两个进程,一个用来做前台,另一个负责运行服务,后者没有activity,由前者初始化并启动,这样,当前台进程被关闭时,服务并不被关闭

7. 安卓开发app,后台需要什么技术

说难确实很难,说简单也很简单。
难:比如简单的注册,手机注册?邮箱注册?验证码总要有吧,那几涉及第三方的信息发送。还有注册登录,必须得有找回密码功能吧,又是一堆。
做个APP包含:安卓版、苹果版、管理后台、手机助手、服务器部署,这几个东西语言都不一样,得一个一个开发。所以费用十万起步,周期2个月左右。
简单:找HiShop开发,不需要编程,自己随便搞搞就能做一个。
类似58同城、京东、天猫、美团等的电商、商城、同城服务APP,今日头条、社交、贴吧等上面都有模板。不需要编程技术,自己就可以搞定。而且这些模板不是死的,都可以修改。
HIShop支持五合一自动生成,安卓版APP、苹果版APP、管理后台、手机管理助手、服务器,自动配置生成,不用逐一开发,资金成本、时间成本的节省可想而知。所以费用不到一万。
费用不到外包价的10%,周期也短。
链接如下,题主自己去看吧:

8. android编程如何让程序后台运行

通过android的四大组件之一的service来实现后台运行,类似Windows上的服务。

1、Android上的service有两种启动方式(或者说两种方法实现service)

①startService()和bindService() ,有区别。

2、简单的使用Service步骤(startService()):

①建立service的子类,重写onStartCommand()。(当服务启动的时候会调用该方法)

{

@Override
publicvoidonCreate(){
}

//这个函数在低版本中使用的是onStart(),onStart()在高版本中已经过时了。
@Override
publicintonStartCommand(Intentintent,intflags,intstartId){
}

@Override
publicvoidonDestroy(){
}
}

②在清单文件中声明Service组件

<application>
<serviceandroid:name="HelloService">
<intent-fiter>
<actionandroid:name="xxxxx">
</intent-fiter>
</service>
</application>

③在Activity等调用startService(intent);启动你的Service

Intentintent=newIntent("xxxxx");
//还可以使用Intentintent=newIntent(activity.this,HelloService.class);
startService(intent);

注:两种方法各有不同,具体请看官方API:

http://developer.android.com/guide/components/services.html

9. android 怎样启动后台服务

后台服务就是后台运行的意思,只要单击任务栏上代表这程序的按钮,原来后台运行的程序就会到前台来,前台运行的程序就会到后台去了。如下图所示。

Windows 7可以打开几个窗口,每个任务分配一个窗口,各个窗口可以重叠、排开、放大、缩小、移动等,可以方便地在各打开的窗口间切换,各个打开的应用程序共享电脑资源,多任务环境对用户是透明的,每个任务都可以按前台、后台和独占三种方式进行。

多任务并存时,打开一个窗口后,在任务栏的空白处单击鼠标右键,然后在弹出的快捷菜单中可以选择层叠、横向平铺或纵向平铺等。

当Windows 7打开了几个窗口时,实际上只有一个是你可以对它进行操作的窗口,叫做当前活动窗口。在所有打开窗口的最前面,标题栏底色为深色的窗口为当前活动窗口。单击任务栏上的按钮,或按下换档键加制表键,即可以把这个窗口切换为当前活动窗口。

任何已经打开,不在前台运行的窗口,在后台仍然是活动的,占用内存和中央处理器等系统资源,所以,从这个意义上来说,长时间不用的窗口要及时关闭,方法是单击应用程序窗口标题栏右上角的关闭按钮。

;一个应用程序,无论是否最小化,在任务栏上都会以按钮的形式显示出来,当前活动窗口的应用程序的按钮呈凹陷形状,其余呈隆起形状。因此,判断一个窗口是否关闭,只要看其是否还在任务栏中即可。

10. android后台服务保持,不被杀死

作者:闭关写代码
链接:https://www.hu.com/question/29826231/answer/71207109
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

强烈建议不要这么做,不仅仅从用户角度考虑,作为Android开发者也有责任去维护Android的生态环境。现在很多Android开发工程师,主力机居然是iPhone而不是Android设备,感到相当悲哀。
从技术角度概括一下现在普遍的防杀方法

Service设置成START_STICKY,kill 后会被重启(等待5秒左右),重传Intent,保持与重启前一样
通过 startForeground将进程设置为前台进程,做前台服务,优先级和前台应用一个级别,除非在系统内存非常缺,否则此进程不会被 kill

双进程Service:让2个进程互相保护,其中一个Service被清理后,另外没被清理的进程可以立即重启进程
QQ黑科技:在应用退到后台后,另起一个只有 1 像素的页面停留在桌面上,让自己保持前台状态,保护自己不被后台清理工具杀死
在已经root的设备下,修改相应的权限文件,将App伪装成系统级的应用(Android4.0系列的一个漏洞,已经确认可行)
Android系统中当前进程(Process)fork出来的子进程,被系统认为是两个不同的进程。当父进程被杀死的时候,子进程仍然可以存活,并不受影响。鉴于目前提到的在Android-Service层做双守护都会失败,我们可以fork出c进程,多进程守护。死循环在那检查是否还存在,具体的思路如下(Android5.0以下可行)
用C编写守护进程(即子进程),守护进程做的事情就是循环检查目标进程是否存在,不存在则启动它。
在NDK环境中将1中编写的C代码编译打包成可执行文件(BUILD_EXECUTABLE)。
主进程启动时将守护进程放入私有目录下,赋予可执行权限,启动它即可。
联系厂商,加入白名单
------------------------------------------------------
TIP: 面对各种流氓软件后台常驻问题,建议使用“绿色守护”来解决,可是杀掉那些第三方清理工具难以清除的后台程序

热点内容
linux编程java 发布:2025-08-22 07:57:40 浏览:309
steam删文件夹 发布:2025-08-22 07:57:38 浏览:51
bytec语言 发布:2025-08-22 07:37:34 浏览:386
苹果手机怎么上传视频到qq空间 发布:2025-08-22 07:10:03 浏览:636
淘宝androidsdk 发布:2025-08-22 06:52:04 浏览:938
编程挣钱吗 发布:2025-08-22 06:31:21 浏览:1001
敬请存储 发布:2025-08-22 06:25:42 浏览:610
linuxphp7配置 发布:2025-08-22 06:17:01 浏览:415
shellftp脚本 发布:2025-08-22 06:11:57 浏览:797
sql数据库打开 发布:2025-08-22 05:58:36 浏览:889