技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

android基础笔记:服务(Service)跨进程调用Service(AIDL Service)

为了实现进程间的通信(IPC:inter process communication),Android 提供了 AIDL Service (AIDL:android interface definition language  安卓接口定义语言)1、参考:android基础笔记:服务(Service) 采用接口的方式调用本地服务的方法  文章,采用接口的方式编写一个服务;... 全文

Android Service AIDL

Android

位置定位(Location)服务(Service)类的基本操作本文地址: http://blog.csdn.net/caroline_wendy定位服务(Location Service),可以确定移动设备的地址,在地图相关服务中,经常会使用GPS和移动相关的两种定位服务,GPS较为精准。... 全文

Mystra Android LOCATION_SERVICE CONNECTIVITY_SERVICE WIFI_SERVICE

Android系统各种类型的service刨根解读

    Android存在3大类service, 处于android系统的不同框架层,具体解读如下:1) init.rc中的service//关键词“service"  name  二进制可执行程序路径service servicemanager /system/bin/servicemanager    class core    user system    group system    critical    onrestart restart healthd    onrestart restart zygote    onrestart restart media... 全文

android service init.rc service android

Android Service学习之本地服务

    Service是在一段不定的时间运行在后台,不和用户交互应用组件。每个Service必须在manifest中 通过<service>来声明。可以通过contect.startservice和contect.bindserverice来启动。    Service和其他的应用组件一样,运行在进程的主线程中。这就是说如果service需要很多耗时或者阻塞的操作,需要在其子线程中实现。    service的两种模式(startService()/bindService()不是完全分离的):本地服务 Local Service 用于应用程序内部。  它可以启动并运行,直至有人停止了它或它自己停止。在这种方式下,它以调用Context.startService()启动,而以调用Context.stopService()结束。它可以调用Service.stopSelf() 或 Service.stopSelfResult()来自己停止。不论调用了多少次startService()方法,你只需要调用一次stopService()来停止服务。  用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线程后台执行,这样用户体验比较好。远程服务 Remote Service 用于android系统内部的应用程序之间。  它可以通过自己定义并暴露出来的接口进行程序操作。客户端建立一个到服务对象的连接,并通过那个连接来调用服务。连接以调用Context.bindService()方法建立,以调用 Context.unbindService()关闭。多个客户端可以绑定至同一个服务。如果服务此时还没有加载,bindService()会先加载它。  可被其他应用程序复用,比如天气预报服务,其他应用程序不需要再写这样的服务,调用已有的即可。生命周期    Service的生命周期并不像Activity那么复杂,它只继承了onCreate(),onStart(),onDestroy()三个方法,当我们第一次启动Service时,先后调用了onCreate(),onStart()这两个方法,当停止Service时,则执行onDestroy()方法,这里需要注意的是,如果Service已经启动了,当我们再次启动Service时,不会在执行onCreate()方法,而是直接执行onStart()方法。    而启动service,根据onStartCommand的返回值不同,有两个附加的模式:    1. START_STICKY 用于显示启动和停止service。    2. START_NOT_STICKY或START_REDELIVER_INTENT用于有命令需要处理时才运行的模式。    服务不能自己运行,需要通过调用Context.startService()或Context.bindService()方法启动服务。这两个方法都可以启动Service,但是它们的使用场合有所不同。    1. 使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。    如果打算采用Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。    如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。    采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。    2. 使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点。    onBind()只有采用Context.bindService()方法启动服务时才会回调该方法。该方法在调用者与服务绑定时被调用,当调用者与服务已经绑定,多次调用Context.bindService()方法并不会导致该方法被多次调用。    采用Context.bindService()方法启动服务时只能调用onUnbind()方法解除调用者与服务解除,服务结束时会调用onDestroy()方法。看看官方给出的比较流程示意图:    官方文档告诉我们,一个service可以同时start并且bind,在这样的情况,系统会一直保持service的运行状态如果service已经start了或者BIND_AUTO_CREATE标志被设置。如果没有一个条件满足,那么系统将会调用onDestory方法来终止service.所有的清理工作(终止线程,反注册接收器)都在onDestory中完成。拥有service的进程具有较高的优先级    官方文档告诉我们,Android系统会尽量保持拥有service的进程运行,只要在该service已经被启动(start)或者客户端连接(bindService)到它。当内存不足时,需要保持,拥有service的进程具有较高的优先级。1. 如果service正在调用onCreate,onStartCommand或者onDestory方法,那么用于当前service的进程则变为前台进程以避免被killed。2. 如果当前service已经被启动(start),拥有它的进程则比那些用户可见的进程优先级低一些,但是比那些不可见的进程更重要,这就意味着service一般不会被killed.3. 如果客户端已经连接到service (bindService),那么拥有Service的进程则拥有最高的优先级,可以认为service是可见的。4. 如果service可以使用startForeground(int, Notification)方法来将service设置为前台状态,那么系统就认为是对用户可见的,并不会在内存不足时killed。如果有其他的应用组件作为Service,Activity等运行在相同的进程中,那么将会增加该进程的重要性。本地service1.不需和Activity交互的本地服务 public class LocalService extends Service {         private static final String TAG = "LocalService";         @Override         public IBinder onBind(Intent intent) {                 Log.i(TAG, "onBind");                 return null;         }         @Override         public void onCreate() {                 Log.i(TAG, "onCreate");                 super.onCreate();         }         @Override         public void onDestroy() {                 Log.i(TAG, "onDestroy");                 super.onDestroy();         }         @Override         public void onStart(Intent intent, int startId) {                 Log.i(TAG, "onStart");                 super.onStart(intent, startId);         } }Activity: public class ServiceActivity extends Activity {         @Override         protected void onCreate(Bundle savedInstanceState) {                 super.onCreate(savedInstanceState);                 setContentView(R.layout.servicedemo);                 ((Button) findViewById(R.id.startLocalService)).setOnClickListener(                                 new View.OnClickListener(){                                         @Override                                         public void onClick(View view) {                                                 // TODO Auto-generated method stub                                                startService(new Intent("com.demo.SERVICE_DEMO"));                                         }                                  });                 ((Button) findViewById(R.id.stopLocalService)).setOnClickListener(                                 new View.OnClickListener(){                                         @Override                                         public void onClick(View view) {                                                 // TODO Auto-generated method stub                                                 stopService(new Intent("com.demo.SERVICE_DEMO"));                                         }                                 });         } }在AndroidManifest.xml添加: <service android:name=".LocalService">         <intent-filter>                 <action android:name="com.demo.SERVICE_DEMO" />                 <category android:name="android.intent.category.default" />         </intent-filter> </service> 否则启动服务时会提示new Intent找不到"com.demo.SERVICE_DEMO"。    对于这类不需和Activity交互的本地服务,是使用startService/stopService的最好例子。    运行时可以发现第一次startService时,会调用onCreate和onStart,在没有stopService前,无论点击多少次startService,都只会调用onStart。而stopService时调用onDestroy。再次点击stopService,会发现不会进入service的生命周期的,即不会再调用onCreate,onStart和onDestroy。    而onBind在startService/stopService中没有调用。2.本地服务和Activity交互    对于这种case,官方的sample(APIDemo\app.LocalService)是最好的例子: /** * This is an example of implementing an application service that runs locally * in the same process as the application.    The {@link LocalServiceController} * and {@link LocalServiceBinding} classes show how to interact with the * service. * * <p>Notice the use of the {@link NotificationManager} when interesting things * happen in the service.    This is generally how background services should * interact with the user, rather than doing something more disruptive such as * calling startActivity(). */ public class LocalService extends Service {         private NotificationManager mNM;         /**          * Class for clients to access.    Because we know this service always          * runs in the same process as its clients, we don't need to deal with          * IPC.          */         public class LocalBinder extends Binder {                 LocalService getService() {                         return LocalService.this;                 }         }                  @Override         public void onCreate() {                 mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);                 // Display a notification about us starting.    We put an icon in the status bar.                 showNotification();         }         @Override         public int onStartCommand(Intent intent, int flags, int startId) {                 Log.i("LocalService", "Received start id " + startId + ": " + intent);                 // We want this service to continue running until it is explicitly                 // stopped, so return sticky.                 return START_STICKY;         }         @Override         public void onDestroy() {                 // Cancel the persistent notification.                 mNM.cancel(R.string.local_service_started);                 // Tell the user we stopped.                 Toast.makeText(this, R.string.local_service_stopped, Toast.LENGTH_SHORT).show();         }         @Override         public IBinder onBind(Intent intent) {              return mBinder;        }         // This is the object that receives interactions from clients.    See         // RemoteService for a more complete example.         private final IBinder mBinder = new LocalBinder();         /**          * Show a notification while this service is running.          */         private void showNotification() {                 // In this sample, we'll use the same text for the ticker and the expanded notification                 CharSequence text = getText(R.string.local_service_started);                 // Set the icon, scrolling text and timestamp                 Notification notification = new Notification(R.drawable.stat_sample, text,                                 System.currentTimeMillis());                 // The PendingIntent to launch our activity if the user selects this notification                 PendingIntent contentIntent = PendingIntent.getActivity(this, 0,                                 new Intent(this, LocalServiceController.class), 0);                 // Set the info for the views that show in the notification panel.                 notification.setLatestEventInfo(this, getText(R.string.local_service_label),                                              text, contentIntent);                 // Send the notification.                 // We use a layout id because it is a unique number.    We use it later to cancel.                 mNM.notify(R.string.local_service_started, notification);         } }   这里可以发现onBind需要返回一个IBinder对象。也就是说和上一例子LocalService不同的是,1. 添加了一个public内部类继承Binder,并添加getService方法来返回当前的Service对象;2. 新建一个IBinder对象——new那个Binder内部类;3. onBind方法返还那个IBinder对象。Activity: /** * <p>Example of binding and unbinding to the {@link LocalService}. * This demonstrates the implementation of a service which the client will * bind to, receiving an object through which it can communicate with the service.</p> */ public class LocalServiceBinding extends Activity {         private boolean mIsBound;         private LocalService mBoundService;         @Override         protected void onCreate(Bundle savedInstanceState) {                 super.onCreate(savedInstanceState);                 setContentView(R.layout.local_service_binding);                 // Watch for button clicks.                 Button button = (Button)findViewById(R.id.bind);                 button.setOnClickListener(mBindListener);                 button = (Button)findViewById(R.id.unbind);                 button.setOnClickListener(mUnbindListener);         }         private ServiceConnection mConnection = new ServiceConnection() {                 public void onServiceConnected(ComponentName className, IBinder service) {                         // This is called when the connection with the service has been                         // established, giving us the service object we can use to                         // interact with the service.    Because we have bound to a explicit                         // service that we know is running in our own process, we can                         // cast its IBinder to a concrete class and directly access it.                         mBoundService = ((LocalService.LocalBinder)service).getService();                                                   // Tell the user about this for our demo.                         Toast.makeText(LocalServiceBinding.this, R.string.local_service_connected,                                         Toast.LENGTH_SHORT).show();                 }                 public void onServiceDisconnected(ComponentName className) {                         // This is called when the connection with the service has been                         // unexpectedly disconnected -- that is, its process crashed.                         // Because it is running in our same process, we should never                         // see this happen.                         mBoundService = null;                         Toast.makeText(LocalServiceBinding.this, R.string.local_service_disconnected,                                         Toast.LENGTH_SHORT).show();                 }         };         private OnClickListener mBindListener = new OnClickListener() {                 public void onClick(View v) {                         // Establish a connection with the service.    We use an explicit                         // class name because we want a specific service implementation that                         // we know will be running in our own process (and thus won't be                         // supporting component replacement by other applications).                         bindService(new Intent(LocalServiceBinding.this,                                            LocalService.class), mConnection, Context.BIND_AUTO_CREATE);                         mIsBound = true;                 }         };         private OnClickListener mUnbindListener = new OnClickListener() {                 public void onClick(View v) {                         if (mIsBound) {                                 // Detach our existing connection.                                 unbindService(mConnection);                                 mIsBound = false;                         }                 }         }; }    明显看出这里面添加了一个名为ServiceConnection类,并实现了onServiceConnected(从IBinder获取Service对象)和onServiceDisconnected(set Service to null)。    而bindService和unbindService方法都是操作这个ServiceConnection对象的。AndroidManifest.xml里添加: <service android:name=".app.LocalService" /> <activity android:name=".app.LocalServiceBinding" android:label="@string/activity_local_service_binding">      <intent-filter>           <action android:name="android.intent.action.MAIN" />           <category android:name="android.intent.category.SAMPLE_CODE" />      </intent-filter> </activity> 这里没什么特别的,因为service没有需要什么特别的action,所以只是声明service而已,而activity和普通的没差别。运行时,发现调用次序是这样的:bindService:1.LocalService : onCreate2.LocalService : onBind3.Activity: onServiceConnectedunbindService: 只是调用onDestroy可见,onStart是不会被调用的,而onServiceDisconnected没有调用的原因在上面代码的注释有说明。介绍onStartCommand()需要用到的几个常量 (引自官方文档)START_NOT_STICKYIf the system kills the service after onStartCommand() returns, do not recreate the service, unless there are pending intents to deliver. This is the safest option to avoid running your service when not necessary and when your application can simply restart any unfinished jobs.START_STICKYIf the system kills the service after onStartCommand() returns, recreate the service and call onStartCommand(), but do not redeliver the last intent. Instead, the system calls onStartCommand() with a null intent, unless there were pending intents to start the service, in which case, those intents are delivered. This is suitable for media players (or similar services) that are not executing commands, but running indefinitely and waiting for a job.START_REDELIVER_INTENT If the system kills the service after onStartCommand() returns, recreate the service and call onStartCommand() with the last intent that was delivered to the service. Any pending intents are delivered in turn. This is suitable for services that are actively performing a job that should be immediately resumed, such as do wnloading a file. Running a Service in the Foreground    具体内容查看官方文档,主要是使用 startForeground() 和 stopForeground()方法。... 全文

本地service 本地服务 移动开发 Android Service

Android Service 服务(一)—— Service

一、 Service简介Service是android 系统中的四大组件之一(Activity、Service、BroadcastReceiver、ContentProvider),它跟Activity的级别差不多,但不能自己运行只能后台运行,并且可以和其他组件进行交互。service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务总是藏在后台的。... 全文

service android button 音乐 null

Service Basic

Service:1. Install|Uninstallyum install name (yum list|less)yum groupinstall name(yum grouplist name)2. service name start|stop|restart|status   /etc/init.d/name start|stop|restart|status3. chkconfig name on|off   chkconfig --level 35 name on|off   chkconfig|chkconfig --list4. Selinux... 全文

Service Basic

Web service是什么?

我认为,下一代互联网软件将建立在Web service(也就是"云")的基础上。我把学习笔记和学习心得,放到网志上,欢迎指正。今天先写一个最基本的问题,Web service到底是什么?一、Web service的概念想要理解Web service,必须先理解什么是Service(服务)。... 全文

web service

聊聊Service(一)

Service作为Android中四大组件之一,拥有重要的地位。Service具有和Activity一样的级别,只是没有界面,是运行于后台的服务。这个运行“后台”是指不可见,不是指在后台线程中,事实上四大组件都是运行在UI线程中,都不能在各自的生命周期方法中执行耗时操作或者网络请求。Service的应用场景还是比较多的,比如说在后台播放音乐、实时去更新当前地理位置的变化、新闻APP后台去离线缓存内容、进程间通信等。... 全文

Service

web service简介

 什么是Web Service?Web Service主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。 Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。 Web Service是构建互联网分布式系统的基本部件。Web Services 正成为企业应用集成(Enterprise Application Integration)的有效平台。你可以使用互联网中提供的Web Service构建应用程序,而不必考虑这些Web Service是怎样运行的。Web Service 三个基本技术 Web Service通过标准通信协议,在互联网上发布有用的程序模块(以服务的方式),目前大部分是用SOAP来作通信协议。Web Service提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫作WSDL(Web Service Description Language)。 通常已发布的Web Service要注册到管理服务器,这样便于使用者查询和使用。这个是通过UDDI(Universal Discovery Description and Integration)来完成的。为什么要用Web Service?Web Servcie最主要的优点是,使用不同程序和在不同系统平台上开发出来的程序,都可以相互通信。现在很多人在问:“不是CORBA和DCE也有那些优点吗?跟它们有什么不同呢?”。第一个不同点是,SOAP作为Web Service的基本通信协议,比它们简单地多,所以投入和使用的代价也是小的。现在不仅有很多大公司发布的Web Service,也有个人发布的。另一个不同点是,Web Service使用标准的互联网协议-XML、HTTP和TCP/IP。很多公司已经从实践当中对这些协议积累了丰富的经验,所以相比CORBA和DCE要交的学费要少地多。 如果把现有的应用程序以Web Service部件形式发布,可以帮助其他的公司(人)构件功能强大的应用程序。举个例子,你要开发一个采购系统,可以自动地获得供应商的报价,而且可以实时追踪送货过程。如果供应商已经发布了报价和送货这两个Web Service,那么你就可以直接使用它们,而不必自己开发这些功能了。 在未来,会出现更有趣的Web Service(现在做不到的),来帮助我们构建应用程序。SOAPSOAP是Web Service的基本通信协议。因为SOAP与DCOM和CORBA在概念上有相同之处,所以很多人在问:“SOAP是怎样激活对象的?”或“SOAP在使用什么命名服务(Naming Service)?”。或许在执行SOAP的过程当中会用到这些,但这些并不在SOAP规范要考虑的范畴之内。SOAP只是定义SOAP消息的XML格式(XML Format),如果你用一对SOAP标记(SOAP Elements)把XML文档括起来,那么这个就是一个SOAP消息,这不是很简单吗?SOAP规范还定义了怎样用XML来描述程序数据(Program Data),怎样执行RPC(Remote Procedure Call)。这些可选的规范是为了构建RPC-style的应用程序(客户端SOAP消息包含函数名和在函数中用到的参数,而服务器端SOAP消息包含执行函数之后的结果)。大多数SOAP解决方案都支持RPC-style应用程序,因为很多程序员已对DCOM或CORBA熟悉。SOAP还支持Document-style应用程序(SOAP消息只包含XML文本信息)。Document-style应用程序有很好的灵活性,所以很多用RPC很难构建的Web Service用这种方式构建。 最后SOAP规范还定义了HTTP消息是怎样传输SOAP消息的。这并不代表SOAP只能用HTTP来作为传输协议,MSMQ、SMTP、TCP/IP都可以做SOAP的传输协议。 很多大公司根据SOAP规范,都开发出了自己的SOAP解决方案。这些解决方案都是相对于某种语言。比如说Microsoft SOAP toolkit2.0把COM函数转换成SOAP消息,而Apache toolkit把JAVA函数转换成SOAP消息。这样难免带来一些兼容性问题。 现在SOAP的很多另人瞩目的特性已成为现实(SOAP已经运行于不同的硬件和软件平台),而且有70多个解决方案。之所以SOAP被人们所爱戴,是因为SOAP比其他同类技术(CORBA、DCE)简单易用。 安全性对于应用程序来说是很重要的。那么SOAP的安全性如何呢?对于把HTTP作为传输协议的SOAP来说是没有问题的,因为HTTP协议已经有很好的安全构架。那么用其他传输协议会出现安全问题吗?不是的,你不必担心,因为已经有这方面的规范了。WSDLWSDL是一种XML文档,它定义SOAP消息和这些消息是怎样交换的。IDL(Interface Description Language)是用于COM和CORBA的,WSDL是用于SOAP的。WSDL是一种XML文档,所以我们可以阅读和编辑,但很多时候是用工具来创建、由程序来阅读。 举个例子,你要使用供应商的Web Service构建应用程序。你可以向供应商索取使用Web Service的范例,然后按照范例来构建应用程序。这样可能出现意料不到的错误,比如,你在程序中使用的客户代码的数据类型是integer,而供应商使用的数据类型是string.。WSDL详细定义客户端消息的格式,需要什么样的参数,这样可以避免不必要的错误。 UDDI UDDI可以比喻成电话本,电话本里记录的是电话信息,而UDDI记录的是Web Service信息。你可以不把Web Service注册到UDDI。但如果要让全球的人知道你的Web Service,最好还是注册到UDDI。 UDDI目录说明文件也是一个XML文档,它包括三个部分。“白页(White Paper)”说明提供Web Service的公司(人)信息,比如说名称、地址和联系方式等等。“黄页(Yellow Paper)”说明UDDI目录的分类,比如说金融、服务和印刷等等。“绿页(green Paper)”说明接口(Web Service 提供的)的详细信息。 UDDI提供多种查询方式,来帮助你找到需要的Web Service。如果你查询与财务有关的Web Service,那么UDDI会提供详细的信息。 代码   using System;  using System.Web;  using System.Web.Services;  using System.Web.Services.Protocols;  [WebService(Namespace = "http://127.0.0.1/")]    //调用此web service的地址  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  public class Service : System.Web.Services.WebService  {      public Service () {          //如果使用设计的组件,请取消注释以下行           //InitializeComponent();       }      //[WebMethod]      //public string HelloWorld() {      //    return "Hello World";      //}       /// <summary>     /// 判断一个数是不是质数      /// </summary>     /// <param name="number">要判断的数</param>     /// <returns>返回结果</returns>     [WebMethod(Description = "判断一个数是不是质数")] //声明此函数为web service方法,可以供外 界调用      public string IsPrimeNumber(int number)      {           // 以下为算法,貌似不是最优的          string value = "";          if (number <= 0)          {              value = number.ToString() + "is not prime number";              return value;          }          else          {              for (int i = 2; i < number / 2; i++)              {                  if (number % i == 0)                  {                      value = number.ToString() + "is not prime number";                      return value;                  }              }              value = number.ToString() + "is prime number";              return value;          }                    }        }  ... 全文

web service 简介

Service Application 权限控制

一个SharePoint Farm会有很多个Service Application。但是,让Farm管理员来管理所有的Service Application有些不太现实。在一些大的组织结构,不同的业务是由不同的人来管理的。通常情况下,Farm 管理员是IT部门的人,他们对其他部门的业务并不了解。User Profile Service Application由人事部门管理更好一些,ManagedMetadata Service Application由负责统筹的部门管理更好一些。 ... 全文

SharePoint Service Application

android Service完全解析

老规矩,先看官方文档是怎么说的。A Service is an application component that can perform long-running operations inthe background anddoesnot provide a user interface. Another application component can start a service andit will continuetoruninthe background even ifthe user switches to another application. Additionally, a component can bind to a service to interact withitand even perform interprocess communication (IPC). For example, a service might handle network transactions, play music, perform file I/O, or interact with a content provider, all fromthe background. 以我的理解呢,大概就是说:... 全文

android开发 Service

第一个Indigo Service

我第一次尝试Indigo,是使用的VS 2005 PD6 + Indigo SDR(2.0.40903)这个版本,那个SDR的版本和现在公开发布的CTP版本已经有不少的差别了。现在我已经把我的Indigo运行环境更新到了VS2005 PD7(8.0.50110.30,也就是公开的Feb CTP版本) + Indigo CTP(2.0.50110.20),这两个版本能够非常好的一起工作。但是注意,现在的这个Indigo CTP是不能在即将发布的VS2005 Beta2上跑的,而当VS2005 Beta2发布的时候,预计Indigo也会相应的发布一个配套的版本。 ... 全文

Indigo 职场 Service 休闲

安卓开发组件Android Service教程

在这篇文章中,我们想要讨论一下Android应用开发中的一个重要组件——Android Service。与Activity不同,Service在Android中运行在后台,Service没有界面并且生命周期也与Activity不同。 使用Service可以实现一些后台操作,例如从远程服务器上加载一个网页。我们可以使用Service在Android中实现多任务。... 全文

Android Service 教程

Android——判断Service是否已经启动

          延续百度地图定位的Demo,采用Service来进行百度定位,并且将数据上传到服务器上遇到了一个问题:在真机中使用清理内存来关闭程序的之后,Service会被关闭,但是过几秒中,它又会自动重启;重启就算了,而且再次登陆系统的时候,又会开启一个一样的服务,在LogCat中就会看到每次都获取到两次的定位数据。然后想想是否可以在建立Service之前判断这个服务有没有被创建?只要能做这个判断,那么服务存在我们就不管它,如果不存在则创建,本着这个思路,百度发现可行(Service后台服务创建时最好都要判断是否存在),代码如下:... 全文

android service

Service的onStartCommand中intent null point的问题

开始的时候很纳闷,为什么会这样了,然后就搜索了下,发现其实文档早就告诉我了,只不过英文差,没看仔细。。。原文如下:... 全文

android service

通过startService()方法使用Service

实现步骤:1、编写类继承 Service 或其子类2、重写onStartCommand()   onBind()  onCreate()  onDestroy() 方法3、在mainfest 文件中声明服务 <service android:name = ".Service" />  (Service 替换为你的服务类名)4、在程序中启动服务,关闭服务mService.java... 全文

android startService Service

Web Service和SOA

        目前大环境和趋势都是Web Service和SOA,说实话,我不太了解,虽然知道这个“技术”是未来的大趋势,还是谈谈我自己粗浅的认识吧。       我觉得Web Service最适合做的就是系统集成了,之前大家一直在做系统集成,但没有SOA的概念和XML技术,我想做得也太辛苦了,现在可好了。       目前我参与的EPM系统也用到了SOA和Web Service和其它系统做接口,虽然这部分的工作不是我负责的,我也略有所闻了,感觉没有想象中简单,协议,格式,规范,很多东西要遵循,不知道大家有什么高见?本文出自 “my-zone” 博客,请务必保留此出处http://chenkaijie.blog.51cto.com/159108/25710... 全文

SOA web Service 休闲 职场

2 3 4 5 6 7 8 9 10 11