大多数的Android应用开发都会将注意力集中在界面功能上,只有少数应用会需要一个Service,尤其是一个长期运行的Service,去进行后台联网.环境检测.媒体播放等功能.Android环境下的Service有其自身的特点,为了让服务完美地实现预想的功能,首先要解决的一个重要问题就是:如何让你的服务优雅地活着.(太文艺了,请讲人话--) 具体来说,就是要做到两点: 1. 尽可能运行 2. 尽可能省电 看似寻常的道理,实现起来还真不容易,下面一个个来看: 尽可能运行 Android系统会根据当…
http://blog.csdn.net/vipzjyno1/article/details/26004831 Android服务类Service学习四大组建   目录(?)[+] 什么是服务 服务有什么用 概述 类组成 服务的类型 按照使用范围分类 本地服务Local Service用于应用程序内部 远程服务Remote Sercie用于android系统内部的应用程序之间 按照运行类别分类分 前台服务 Running a Service in the Foreground 后台服务 生命周期…
Android 服务端开发之开发环境配置 这里是在Eclipse的基础上安装PhpEclipse插件方法,PHPEclipse是Eclipse的 一个用于开发PHP的插件.当然也可以采用Java开发android服务端. 1.首先要下载PhpEclipse, 官网下载地址:下载地址 其它下载地址:下载地址 解压后features和plugins两个文件夹, 把里面对应的文件拷贝到Eclipse对应的features和plugins文件夹中. 2.重启Eclipse,Window-> Open P…
原文网址:http://blog.csdn.net/tanghua0809/article/details/47056327 本文主要是讲解Android服务器之SFTP服务器的上传下载功能,也是对之前所做项目的整理. 主要的代码块如下所示,对代码中相应地方稍作调整,复制粘贴到项目即可以使用,代码中会提供相应注释. 1.MainActivity public class MainActivity extends Activity implements OnClickListener{ priva…
了解了Android系统的启动过程的读者应该知道,Android的所有Java服务都是通过SystemServer进程启动的,并且驻留在SystemServer进程中.SystemServer进程在启动时,通过创建一个ServerThread线程来启动所有服务,本文主要介绍Android服务中PackageManagerService服务启动过程.首先介绍一些PackageManagerService服务下的相关类关系图: 在SystemServer进程的ServerThread线程中,执行以下…
百度云推送官方地址http://developer.baidu.com/wiki/index.php?title=docs/cplat/push 简单的介绍下原理: 百度云推送支持IOS和Android的云推送.Android支持的还不错,但是IOS一般很难调通.百度云对于IOS的推送来说,他只是做了一个中间的代理,为用户提供接口,优点是使用百度云推送,Android和IOS可以统一管理:缺点是:调通不容易,用户的IOS证书需要上传验证,会直接暴露给第三方,并且IOS的apns支持用户自己构建p…
写在开头 需求方:上传试卷的时候,用户自己拍的照片有很多问题.如:不清晰.图片歪了.错误图片等.我们要是能够对拍摄照片进行识别处理就好了,能够裁切矫正就更好了,最好可以像二维码扫描一样,直接识别处理- 开发:满足你! 一.整体框架逻辑 试卷扫描模块,最核心的逻辑就是数据采集.解码识别.图片裁切,再加上对识别结果和裁切结果的处理,就构成了整个模块的主逻辑(感谢多媒体同事对图片识别与处理提供库的支持).整个逻辑的实现如下图所示: 在模块中,除了UI线程,还开启了一个Deocde线程,用来处理图片的解…
Android服务Service具体解释(作用,生命周期,AIDL) 近期沉迷于上班,没有时间写博客了.解衣入睡,未眠.随起床写一篇博客压压惊! ##我们android系统为什么须要服务Service呢? 在某些场景下.我们须要应用程序长期在后台跑着.对吧!可是呢,我们的应用已经退到后台了. 比方说.我们的播放音乐,我们希望能够退到后台以后,还能够屁颠屁颠地继续播放是吧.也许,你会说,我们起一下子线程播放,即使我们退出了应用,这个线程还是在跑的呀.也就是说,开启一个子线程.也能够没有界面地在后台…
前言:硬着头皮把数据库SQLite看完了,接下来就是android服务了,因为自己本身就是菜鸟,所以呢,也只是做做笔记,技术上的东西就别指望我了. 1.什么是服务呢?举个例子,百度地图,美团外卖,OFO,可以获取你的位置,就提供了位置服务,通知服务基本上每个APP都会有.再举个例子,你开启一个网易云在后台运行,你希望切换到另外一个应用依旧可以听到音乐,这也是服务. 2.服务是没有用户界面的,它是背后默默为人民服务的.只要运行了服务,你就可以放手地去做其他事情了. 3.有两种类型的服务,-----…
android服务是执行在UI主线程的.一下是代码demo: package com.example.testservice; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCr…
原文网址:http://blog.csdn.net/tanghua0809/article/details/47056327 本文主要是讲解Android服务器之SFTP服务器的上传下载功能,也是对之前所做项目的整理. 主要的代码块如下所示,对代码中相应地方稍作调整,复制粘贴到项目即可以使用,代码中会提供相应注释. 1.MainActivity public class MainActivity extends Activity implements OnClickListener{ priva…
引言 前面介绍过了Android服务的两种开启方式:Start方式可以让服务在后台运行:bind方式能够调用到服务中的方法. 在实际的开发工作中,有很多需求是:既要在后台能够长期运行,又要在服务中操作业务.那么就需要两种方式结合在一起,才能做到我们想要的结果. 需求:模仿音乐后台播放案例,实现应用退出后,服务中依然可以在后台运行. 代码如下 AndroidManifest.xml 清单文件中配置service <service android:name=".service.music.Mu…
Android 服务和广播的使用 服务的使用 创建服务类 创建一个java文件,取名 mService.java,继承Service. public class mService extends Service {} 返回服务控制器 /** * 绑定服务 * * @param intent * @return */ @Override public IBinder onBind(Intent intent) { return new myControl(); } 创建一个中间类,来操作服务类方法…
Service是android四大组件之一,没有用户界面,一直在后台运行. 为什么使用Service启动新线程执行耗时任务,而不直接在Activity中启动一个子线程处理? 1.Activity会被用户退出,Activity所在的进程就变成了空进程(没有任何活动组件的进程),系统需要内存可能会优先终止该进程: 2.如果宿主进程被终止,那么该进程内所有的子线程也会被终止,这样可能导致子线程无法执行完成: 3.其实两种方式都是可以处理耗时任务的,使用场景不同而已. 一.通过Start方式启动Serv…
新任务需要Android程序开机跑一个服务,查找资料得出如下方法: 用广播的方法监听系统启动事件:android.intent.action.BOOT_COMPLETED 并在AndroidManifest.xml加入广播监听事件信息 <receiver android:name="AutoStartReceiver"> <intent-filter> <!-- 系统启动完成后会调用--> <action android:name="…
服务有两种启动方式 通过startService方法来启动 通过bindService来开启服务 布局文件 在布局文件中我们定义了四个按键来测试这两种方式来开启服务的不同 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientatio…
该服务的作用是当打电话时自动录音. 布局文件 布局文件中开启录音服务 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="m…
android中服务是运行在后台的东西,级别与activity差不多.既然说service是运行在后台的服务,那么它就是不可见的,没有界面的东西.你可以启动一个服务Service来播放音乐,或者记录你地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作. Service和其他组件一样,都是运行在主线程中,因此不能用它来做耗时的请求或者动作.你可以在服务中开一一个线程,在线程中做耗时动作. 那么究竟Service怎么使用呢? 老规矩,先来点基础知识. 一.基础知识 服务一般分为两种: 1:…
9.4   服务的生命周期 之前章节我们学习过了活动以及碎片的生命周期.类似地,服务也有自己的生命周期, 前面我们使用到的 onCreate().onStartCommand().onBind()和 onDestroy()等方法都是在服务的生命周期内可能回调的方法. 一旦在项目的任何位置调用了 Context 的 startService()方法,相应的服务就会启动起来, 并回调 onStartCommand()方法.如果这个服务之前还没有创建过,onCreate()方法会先于 onStartC…
9.3   服务的基本用法 了解了 Android 多线程编程的技术之后,下面就让我们进入到本章的正题,开始对服务 的相关内容进行学习.作为 Android 四大组件之一,服务也少不了有很多非常重要的知识点, 那我们自然要从最基本的用法开始学习了. 9.3.1    定义一个服务 首先看一下如何在项目中定义一个服务.新建一个 ServiceTest 项目,然后在这个项目中 新增一个名为 MyService 的类,并让它继承自 Service,完成后的代码如下所示: public class My…
android中服务是运行在后台的东西,级别与activity差不多.既然说service是运行在后台的服务,那么它就是不可见的,没有界面的东西.你可以启动一个服务Service来播放音乐,或者记录你地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作. Service和其他组件一样,都是运行在主线程中,因此不能用它来做耗时的请求或者动作.你可以在服务中开一一个线程,在线程中做耗时动作. 那么究竟Service怎么使用呢? 老规矩,先来点基础知识. 一.基础知识 服务一般分为两种: 1:…
xe5 android的服务端和手机客户端的源代码下载地址 http://files.cnblogs.com/nywh2008/AndroidTest.rar…
转自 http://blog.csdn.net/liuhe688/article/details/6874378 富貴必從勤苦得,男兒須讀五車書.唐.杜甫<柏學士茅屋> 作为程序员的我们,须知富贵是要通过勤苦努力才能得到的,要想在行业内有所建树,就必须刻苦学习和钻研. 今天我们来讲一下Android中Service的相关内容. Service在Android中和Activity是属于同一级别上的组件,我们可以将他们认为是两个好哥们,Activity仪表不凡,迷倒万千少女,经常做一些公众人物角色…
Android窗口系统 我们知道Android系统采用OpenGL来绘制3D图形,OpenGL ES提供了本地窗口(NativeWindow)的概念,无论是在Android平台中还是其他平台中,只要实现OpenGL ES中的本地窗口定义的接口,就可以利用OpenGL ES来绘制图形.由于Android系统所有服务都建立在C/S模式下,因此Android系统在实现OpenGL ES的本地窗口时仍然包括两种本地窗口,服务进程端的本地窗口定义为FramebufferNativeWindow,该本地窗口…
在android开发过程中,为了让其他的应用程序,也可以访问本应用程序的服务,android系统采用远程过程调用来实现.android通过接口来公开定义的服务.我们将能够夸进程访问的服务成为AIDL服务(Android Interface Definition Language).本节主要讲述通过aidl服务来传递数据.aidl支持的数据类型“简单数据类型.String和char.List和Map.aidl自动生成的接口.实现android.Parcelable的类. 1.建立aidl服务 在E…
Android学习笔记(五一):服务Service(上)- IntentService 对于需要长期运行,例如播放音乐.长期和服务器的连接,即使已不是屏幕当前的activity仍需要运行的情况,采用服务方式.服务将通过API触发启动或者通过IPC(Interprocess Communication)连接请求触发启动.服务将一直运行直至被关闭,或者内存不足时由系统关闭.一般而言,为了节省电量,服务应进行优化减少CPU的消耗和大量网络通信.服务可用于以下的场景: 1.用户离开activity后,仍…
上一篇说到了通知栏Notification,提起通知栏,不得让人想到Service以及BroadcastReceive,作为android的4大组建的2个重要成员,我们没少和它们打交道.它们能够在无形中使我们的软件和网络.数据库.系统等进行交互,之后通过UI(Notification就是一种展示方式)把结果展如今我们面前.能够说,他们是android生命体系里面的神经系统,通过反射条件让身体展现不同的状态.在整个系统中,广播接收器充当着是传输者和监听者的角色,它把系统的一点点变化都反馈上去,之后…
在实际的项目开发中,经常会用到一些第三方的 SDK ,而使用这些 SDK 基本上都是需要配置 APPKEY 或 APPSECRET 等信息.此外 APP 打包时需要 KEYSTORE , STOREPASSWORD的信息.这些都是私密配置信息,不应该发布到 Github 或其它公共空间. 一般来说有以下几种方式 写在 string 资源文件中 配置在 BuildConfig 类中 使用 Android 密钥库系统 使用 NDK 加密 保存在服务端,通过接口获取 直接硬编码肯定不是最好的方式,只要…
Service服务 服务(Service)是Android中的四大组件之一,适用于开发无界面.长时间运行的应用功能,服务是在后台运行,服务的创建与Activity类似,只需要继承Service和在AndroidManifest.xml文件中注册即可,并且实现Service中的唯一一个方法onBind().记住必须注册. 没有用户界面. 比Activity的优先级高,不会轻易被Android系统终止. 拥有独立的生命周期. 一.服务的生命周期 1.startService方式开启服务的生命周期(启…
服务 Service 是一个可以在后台执行长时间运行操作而不使用用户界面的应用组件.服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行. 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC). 例如,服务可以处理网络事务.播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行. 服务基本上分为两种形式: 启动 当应用组件(如 Activity)通过调用 startService() 启动服务时,服务即处于"启动"状态…