四级没过写android翻译——service

Android使用百度翻译api 一直想试用一下百度翻译的接口,前些天从网上看了一篇关于json的博客,突然想试一下百度翻译api,于是我做了一个使用百度翻译api的Android小程序。 首先要使用百度翻译(也可以使用有道翻译)必须要有一个userkey,至于如何去申请userkey,还有请求的规则什么的,这里不再介绍,网站上写的都非常清楚。废话不多说下面直接说开发过程: 1、首先做一个界面出来(至于界面如何做,自己随意就好... 阅读详情

服务(http://developer.android.com/guide/components/services.html)




服务是一个不提供界面的应用程序组件,该组件可以在后台执行耗时操作。其他的应用程序组件可以启动服务,即使用户切换到其他的应用程序,服务仍可以在后台继续运行。另外,一个组件可以绑定一个服务并与之交互甚至执行IPC。例如,一个服务可以处理网络事务、播放音乐、执行文件的I/O操作,或者与内容提供者交互,这些交互都在后台执行。


本质上,一个服务可以采取两种形式:
启动:
当一个应用程序组件(例如:activity)通过执行startService()即可启动服务。一旦启动,服务即可立即在后台运行,即使启动它的组件被销毁。通常,被启动的服务顺序执行操作且不返回结果给启动它的组件。例如,它可以通过网络下载或者上传文件。当操作结束,服务应该结束它自己。
绑定:
当一个应用程序组件通过执行bindService()即可绑定一个服务。绑定服务以一种C/S模式接口展现,它允许组件与服务交互,发送请求,获取结果,甚至执行跨进程的IPC。一个可以绑定的服务仅仅当另一个应用程序组件去绑定它才会运行。多个组件可以一次绑定到服务,但是当它们全部解除绑定,服务会被销毁。

尽管这篇文档通常分开讨论这两种服务,但是你的服务可以以这两种方式工作,它可以启动(无限期的运行)和绑定。It’s a simply a matter of 你是否实现一个对回调方法:onStartCommand()允许组件去启动服务,onBind()运行组件去绑定服务。

不管你的应用是启动、绑定、还是既启动又绑定,任何应用程序组件都可以使用服务(甚至包括来自独立的应用)。任何组件都可以使用activity的Intent以同样的方式启动服务。然而,你可以为了阻止其他其他程序的进入在Manifest文件中声明服务类型为私有,这个问题的更多讨论在“在manifes中声明服务” 章节中。
注意:服务运行在他进程的主线程当中,服务不创建它自己的线程,除非你特别指定,服务不运行在单独的进程。这意味着,如果你的服务将要执行CPU密集型工作,如:播放MP3或者网络操作,你应该在服务内部创建新的线程来做这些工作。通过使用独立的线程,你将会减少ANR错误的风险,同时,应用程序的主线程可以继续专注于用户与你的activities的交互。

基本的:
创建一个服务,你必须创建一个Service的子类或者已存在的Service的子类。在你的实现类中,你必须重写一些回调方法处理服务生命周期的关键环节,如果有必要,提供组件绑定到服务的机制。你需要实现的最重要的方法如下:
onStartCommand()
当其他组件如activity通过调用startService()请求启动服务,系统调用此方法。一旦此方法执行,服务即被启动并立即在后台运行。如果你实现了此方法,当服务的工作完成时,你有必要调用stopSelf()或者stopService()终止服务(如果你仅仅希望提供绑定,此方法不必实现)。
onBind()
当其他组件想通过调用bindService()绑定服务(如执行RPC)时,系统调用此方法。在你的对此方法的实现中,你必须通过返回一个IBinder对象实现客户端与服务交互的接口。此方法你必须实现的,但是,如果你不运行绑定,你应该返回null。
onCreate()
当服务第一次启动执行一次初始化程序的时候(在调用onStartCommand()或者onBind()之前),系统调用此方法。如果服务已经运行,此方法不会被调用。
onDestory()
当服务不再使用将要被销毁的时候系统调用此方法。你的服务应该实现此方法来清理任何资源,如线程,注册的监听器,接收者等。这是服务接收到的最后一方法

如果一个组件通过调用startService()启动服务(这将导致调用onStartCommand方法),服务会一直保持运行直到它调用stopSelf()或者其他组件通过调用stopService()才会停止。

如果一个组件通过调用bindService()创建一个服务(onStartCommand()不会被调用),then the service runs only as long as the component is bound to it,一旦所有的客户端从服务解绑,系统会销毁服务。

Android系统仅仅在内存低的时候和用户强制系统恢复activity的系统资源时才会强制结束服务。如果用户强制结束一个绑定到activity的服务,此服务不太可能被干掉。如果服务被声明为在前台运行(稍候讨论),它几乎永远不会被干掉。另外,如果服务已经启动并长时间运行,随着时间的推移,系统将会把它放在后台任务列表的低(优先级)位置,同时服务变的更容易被干掉,如果你的服务将被启动,你必须巧妙的设计处理被系统的重启。如果系统干掉了你的服务,当资源再次变的可以系统会重启服务(不过,这依然依赖你从onStartCommand()的返回值,稍候讨论)。更多系统可能会在何时销毁服务的信息,参考文档:Processes and Threading。


在接下来的章节,你将会看到如何创建各种类型的服务和如果在其他组件中使用。

待续 2013-05-18

Android Service使用方法--简单音乐播放实例       Service翻译成中文是服务,熟悉Windows 系统的同学一定很熟悉了。Android里的Service跟Windows里的Service功能差不多,就是一个不可见的进程在后台执行。      Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行,例如我们打开 阅读详情

相关推荐

【Android 】零基础到飞升 | Service进阶

4.2.2 Service进阶 分类 Android 基础入门教程 本节引言 上节我们学习了Service的生命周期,以及两种启动Service的两种方法, 本节继续来深入了解Service中的IntentService,Service的使用实例: 前台服务与轮询的实现! 1.IntentService的使用 在上一节后我们已经知道了如何去定义和启动Service,但是如果我们直接把 耗时线程放到Service中的onStart()方法中,虽然...

m0_58523831的博客 23万+

哪些组件可以绑定到Service?

答:只有 Activity、服务和内容提供程序可以绑定到服务—您无法从广播接收器绑定到服务。 即,四大组件中只有BoradcastReceiver不能绑定到服务。其他的Activity ,Service,ContentProvider都可以绑定到服务。

ly969434341的专栏 528

详解GPU显存和batch size的关系

GPU显存、规格指标;神经网络训练,显存占用

orangerfun的博客 6213

Android:解析多组件绑定同一服务(BindService)

BindService生命周期

Dan的博客 3112

《UE4游戏开发》之 《查cook资源失败,问题记录》

当项目打包时,cook出错,但是从原始引擎提供的信息中,没有提示具体的那个资源出错,要查到出错资源,还是非常麻烦。 下面就材质cook出错,增加一些日志,方便查找问题做简单记录 材质cook的一个阶段,是收集MaterialShaderMap,如果在这个阶段收集的信息出错,将会在FShaderMapContent::GetOutdatedTypes函数中,因为Shaders指针指向的内存有问题而出错,通过断点发现,FShaderMapContent这个类对象指针为null,而这个类对象的来源于AllMat.

qq_21919621的博客 2581

Allegro17.4原理图-PCB双向联动技巧:从网表生成到同步高亮

本文深入解析了Cadence Allegro 17.4中原理图与PCB的深度双向联动技巧。核心在于通过精准的网表生成与管理、实时的跨窗口交互高亮与信号追踪,以及元件与封装的智能匹配更新,构建高效协同设计工作流。掌握这些技巧能显著提升高速、高密度电路设计的效率与准确性,实现从逻辑设计到物理实现的无缝衔接。

weixin_29178069的博客 359

解决多个路由绑定同一个组件 获取参数只获取一次的方法

``` {     path: '/application',     title: '我的工作',     icon:'code-working',     name: 'application',     component: Main,     children: [       {         path: 'index/:id', title: '我的申请', nam

wj86611199的博客 1211

Shader Graph实战:5分钟搞定Flow Map水体流动效果(含UV偏移避坑指南)

本文详细解析了如何使用Unity的Shader Graph工具快速实现Flow Map水体流动效果,涵盖基础原理、核心节点搭建、高级技巧及性能优化。特别针对UV偏移问题提供避坑指南,帮助开发者轻松打造专业级动态水面效果,适合游戏场景增强视觉表现。

weixin_29250403的博客 246

四大组件之Service_绑定服务

[文章内容来自Developers] 绑定服务是客户端-服务器接口中的服务器。绑定服务可让组件(例如 Activity)绑定到服务、发送请求、接收响应,甚至执行进程间通信 (IPC)。 绑定服务通常只在为其他应用组件服务时处于活动状态,不会无限期在后台运行。 基础知识 绑定服务是 Service类的实现,可让其他应用与其绑定和交互。要提供服务绑定,您必须实现 onBind()回调方法。该方法返...

weixin_33966095的博客 250

大数据领域存算分离:教育行业的数据应用探索

在当今数字化时代,教育行业积累了海量的数据,如学生的学习记录、考试成绩、在线学习行为等。如何高效地存储、管理和分析这些数据,以挖掘其潜在价值,为教育决策、教学改进和学生个性化发展提供支持,成为教育行业面临的重要挑战。大数据领域的存算分离技术为解决这一问题提供了新的思路和方法。本文旨在探索存算分离技术在教育行业的数据应用,分析其原理、优势和实际应用场景,为教育行业的数据管理和分析提供参考。本文共分为十个部分。第一部分介绍背景,包括目的和范围、预期读者、文档结构概述和术语表;

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 815

【YOLO26科研级突破】集成BiFPN双向特征金字塔,让多尺度特征融合效率与精度双跃升

打开确保模型解析器能识别BiFPN模块。通过将BiFPN双向特征金字塔集成到YOLO26中,我们实现了一个“全尺度双向特征流动+加权融合+精准检测”的目标检测模型。这个改进不仅在工程上能大幅提升多尺度、复杂场景下的检测精度,更在科研上提供了“双向特征融合”的创新思路——这种思路可以延伸到其他检测网络(如Faster R-CNN、SSD)的Neck模块改进中,帮你在论文中打造独特的研究点。

LXY_LOVE36的博客 200

Android Service 翻译

Android Service ========================= public abstract class Service extends ContextWrapper implements ComponentCallbacks2 java.lang.Object     |- android.content.Cont

u014744764的专栏 694

【技能】OpenClaw Skill 操作钉钉(原理+20个实例)

OpenClaw Skill是遵循AgentSkills规范的自动化逻辑单元,用于指导AI助理调用钉钉工具。每个Skill包含SKILL.md文件,定义触发条件、执行逻辑和接口调用方式。Skill通过钉钉Connector插件实现API鉴权和请求转发,需配置ClientID/Secret等凭证。Skill加载路径包括工作目录、本地目录和内置目录,优先级由高到低。使用前需安装必备插件并配置钉钉权限,通过openclaw.json管理Skill开关和环境变量。ClawHub作为官方技能仓库支持Skill的安装和

海兰 1223

Android中Service(服务)详解

Service是Android中四大组件之一,在Android开发中起到非常重要的作用,先来看一下官方对Service的定义: A Service is an application component that can perform long-running operations in the background and does not provide a user interfac

Ryan's zone 12万+

智能化教育改革中的教师角色转变:AI应用架构师如何设计“人机协同”系统?

个性化与规模化的矛盾:如何用AI实现规模化的个性化学习,同时保留教师的“人文温度”?自动化与自主性的矛盾:如何用AI自动化流程(如批改),同时避免教师沦为“AI操作工人”?数据驱动与经验驱动的矛盾:如何平衡AI的“数据决策”与教师的“经验决策”,避免“算法偏见”或“经验固化”?在智能化教育改革中,教师始终是教育的核心——AI系统是“辅助工具”,而非“替代者”。

小白菜的博客 1270

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Android API文档翻译——Service

概述: 声明一个Service(或其子类)组件。与Activity不同的是,Service是非可见的。他们常用于实现长驻后台的操作或为其他Application提供类似WebService的交互接口。 所有的Service必须在manifest配置文件中通过标签来声明。如果没有声明的话,则不会在system中看到,而且永远不能被运行。   参数: android:enabled   S

空想家的专栏 2862

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android Service系列(十一)starting Service 以及stopping a service

Starting a service You can start a service from an activity or other application component by passing anIntenttostartService()orstartForegroundService(). The Android system calls the service'so...

perfectnihil的博客 857

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Android中service用法

Service翻译: Class Overview A Service is an application component representing either an application's desire to perform a longer-running operation while not interacting with the user or to supply fun

FlowLeaf 1397

Android Service系列(十四)运行前台service

A foreground service is a service that the user is actively aware of and isn't a candidate for the system to kill when low on memory. A foreground service must provide a notification for the status ba...

perfectnihil的博客 1417

android Service实例

Service翻译成中文是服务,熟悉Windows 系统的同学一定很熟悉了。Android里的Service跟Windows里的Service功能差不多,就是一个不可见的进程在后台执行。 Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行,例如我们打开一个音乐播放器来听音乐,

yuwenhao0518的专栏 769

【Service】使用有道翻译API构建翻译服务

转载声明:Ryan的博客文章欢迎您的转载,但在转载的同时,请注明文章的来源出处,不胜感激! :-) http://my.oschina.net/ryanhoo/blog/100589 今天我们来学习使用现有的服务构建应用的功能模块——利用有道的翻译API构建...

cibaoqb025084的博客 601

android service 多个实例,Android中Service的一个Demo例子

广播广播是指在一个局域网中向所有的网上节点发送信息。这是UDP连接的一种广播有一个广播组,即只有一个广播组内的节点才能收到发往这个广播组的信息。什么决定Android中Service的一个Demo例子Service组件是Android系统重要的一部分,网上看了代码,很简单,但要想熟练使用还是需要Coding。本文,主要贴代码,不对Service做过多讲解。代码是从网上找的一个例子,Copy下来发现...

weixin_32815027的博客 774

Android Service 深度解析(1)

Android Service 深度解析(1)这段时间我重新对Android基础进行了学习,还是先从官方文档开始,做了关于Service的文档翻译,熟悉了关于Service的知识点。但是在用的时候还是有很多需要注意的地方,需要把这些知识点联系起来,因此有了这篇文章。我将主要从以下几个方面对Service类进行深度解析: 1、 Service的生命周期(看起来简单,实际上很复杂的); 2、

CHTSX的专栏 1324

Android Service通信详解

本文旨在归纳所有与Service通信需要用到的所有技术。有:直接使用IBinder对象通信;使用Messenger实现通信;AIDL和使用广播方式

Yetwish的专栏 1879

Android高级开发第四讲--API之Service

博客出自:http://blog.youkuaiyun.com/liuxian13183,转载注明出处! All Rights Reserved ! 今天主要跟大家翻译一下Service的内容,请慢慢阅读! Service是一个应用组件,它可以在后台长时间的运行,而不产生用户界面。 一个应用程序可以开启一个Service,即使切换到另外一个应用程序,它依然会继续执行。 此外,一个

劝学 5398

安卓学习笔记之service(一)

安卓四大组件之service

告诉自己,每天进步一点点。 315
上一篇: 点点滴滴——面试暂告一段落
下一篇: 工具问题——android升级ADT22之后新建android项目提示R cannot be resolved to a variable
ttdevs
博客等级 码龄15年 388粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值