- 浏览: 408267 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (397)
- 随笔 (2)
- java (44)
- android (129)
- html + css (18)
- php (35)
- linux (2)
- html5技术/游戏 (3)
- 其他 (30)
- MAC (2)
- IOS (11)
- mongoDB (0)
- js + jquery (29)
- SQL (5)
- ecshop (2)
- jsp (1)
- mybatis (1)
- 推荐 (0)
- 网络推广 (1)
- jquery mobiles (7)
- Sencha Tcouch (11)
- case (2)
- joomla (1)
- cocos2d (1)
- AndEngine (1)
- 错误异常报错 (1)
- 第三方&二次开发 (5)
- cordova (5)
- swift (81)
- mysql (1)
- zepto (2)
- 常用代码 (1)
最新评论
-
wu1238:
2c2ab98030fc767cf89051f369a97c5 ...
Swift -> UILable 设置内边距 UIEdgeInsets , UITextField 设置内边距
**什么是 Service,
Service 是 android 四大组件之一, 即android 系统的服务(不是一个线程而是 主程序的一部分) ,于 Activity 不同,它是不能与用户交互的,不能自己启动的, 需要调用 Context.startServece() 来启动 , (Context 类似 ThiActive.this) ,运行后台,如果我们推出应用 service 进程并没有结束, 它任然 在 后台 运行, 比如 我们播放音乐的时候, 可能想边听歌边干点其他的 就 需要这个东西 ,
** 启动和停止 Service
启动: startService(Intent intent) 这个时候 Service 会调用 自身的 onCreate 方法
停止: staopService(Intent intent) 来停止 servece, 这个时候会调用 onDestory() 方法
其中 intent = (ThisActivity.this, ServiceActive.class);
下面是一个例子, 先 是 Servers的 class ,这个的功能新建一个线程 然后 是每隔1秒钟执行一次 加 1 的操作
package udpreceive.com; import android.app.Activity; import android.app.Service; import android.content.Intent; import android.os.Bundle; import android.os.IBinder; import android.util.Log; public class UdpReceive extends Service{ private boolean threadDisable; private int count; @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } @Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); System.out.println( "dd"); new Thread(new Runnable() { public void run() { // TODO Auto-generated method stub while (!threadDisable) { try { Thread.sleep(1000); } catch (Exception e) { // TODO: handle exception } count++; System.out.println( "Count is " + count); } } }).start(); } @Override public void onDestroy() { super.onDestroy(); this.threadDisable = true; Log.v("CountService", "on destroy"); } public int getCount() { return count; } }
然后是 主 activity 启动后 调用 servers
package remote.com; import java.io.BufferedInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.Serializable; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import java.net.UnknownHostException; import java.nio.Buffer; import java.util.ArrayList; import java.util.List; import udpreceive.com.UdpReceive; import android.app.Activity; import android.content.Intent; import android.hardware.Camera.Size; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class RemoteActivity extends Activity { /** Called when the activity is first created. */ private Button start_button; private Button end_bu; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); start_button = (Button)findViewById(R.id.start_bu); end_bu = (Button)findViewById(R.id.end_bu); start_button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(RemoteActivity.this, UdpReceive.class); startService(intent); System.out.println("a"); } }); end_bu.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub RemoteActivity.this.stopService(new Intent(RemoteActivity.this,UdpReceive.class)); System.out.println("b"); } }); // } ////// }
最后是 manifest
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="remote.com" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".RemoteActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="udpreceive.com.UdpReceive" android:label="@string/app_name" > </activity> <service android:name="udpreceive.com.UdpReceive"></service> </application> </manifest>
其中 <service android:name="udpreceive.com.UdpReceive"></service> 这样定义因为 我的UdpReceive 在udpreceive.com 包里面 所以定义全包名,如果 和 主 activity 在一个包里 就写
<service android:name=".UdpReceive"></service> 就ok
发表评论
-
android -> ImageButton 内部图片 padding
2020-04-09 12:00 441先给 ImageButton 设置属性 andr ... -
android -> 设置 全局 字体样式
2017-05-05 11:11 755首页在AndroidManifest.xml中 ap ... -
android -> 背景background - shape的使用
2017-05-04 12:09 912shape用于设定形状,可以在selector, ... -
android -> 只保留一边 的 边框 border
2017-05-03 09:05 1077设置background <layer-li ... -
android -> 在布局中动态添加view的两种方法
2017-04-29 19:48 1009转自 : http://b ... -
android -> 修改 version 版本
2017-03-28 15:33 433除了在 manifest.xml 里面 <?xml ... -
android -> viewPaer 页面滑动
2017-03-27 17:23 567MainActivity.java public ... -
android -> 获取系统输入法列表/已勾选/默认
2017-03-26 13:02 1208参考: http://www.aichengxu. ... -
android -> android 一个 textview 设置不同的字体大小和颜色
2017-03-24 00:05 907参考: http://blog.csdn.net/fengy ... -
android -> 查看 签名 的 信息 包括 有效期
2017-03-23 11:27 1064C:\Windows\system32>D ... -
android -> 父控件 遍历 子 控件
2017-03-21 21:03 731布局文件: <LinearLayout an ... -
android -> 动画类( Animation)
2017-03-19 11:01 550参考: https://my.oschina.net/u/ ... -
android -> TextView setTextSize(int unit, float size) -- px,sp,dip
2017-03-18 23:35 1074TextView setTextSize(int unit, ... -
android -> canvas学习3 (跟随手势画直线)
2017-03-10 17:17 949DiyView.java package com ... -
android -> canvas学习2(动态画图)
2017-03-10 16:31 617关键字 invalidate() 重新执行onDra ... -
android -> canvas学习1
2017-03-10 14:39 509参考: http://blog.csdn.net/lee5 ... -
android -> 九宫格 划直线解锁
2017-03-09 22:53 448来自 : http://blog.csdn.net/ ... -
android -> 按钮 圆角 & 边框 & 渐变
2017-02-14 16:32 923参考: http://blog.csdn.net/l ... -
android -> 资源文件 反编译
2017-02-14 15:30 410官方网站 : https://ibotpeaches ... -
android -> 按钮双击
2017-02-12 11:48 487long space_last_click_time; ...
相关推荐
在Android开发中,Service是四大组件之一,它在后台运行,不与用户界面直接交互,常用于执行长时间的任务,如播放音乐、网络通信等。本篇文章将深入解析"android service 简单实例源代码",帮助你理解如何在Android...
在Android应用开发中,`Service`和`Activity`是两个重要的组件。`Service`用于在后台执行长时间运行的任务,而`Activity`则负责用户界面交互。在某些场景下,我们可能需要在`Service`和`Activity`之间传递数据,比如...
在Android应用开发中,Service是四大组件之一,用于在后台长时间运行操作,比如播放音乐、网络通信等。然而,如果不加以控制,用户或者系统可能会多次启动同一个Service,导致不必要的资源消耗和服务的异常行为。本...
Service在Android系统中扮演着重要的角色,它可以在后台长时间运行,即使用户离开应用界面,Service依然可以执行任务,如播放音乐、定时任务等。在QT for Android环境下创建Service,可以帮助开发者充分利用Qt的便利...
<service android:name=".MyService" /> // 在Activity中启动Service Intent intent = new Intent(this, MyService.class); startService(intent); ``` Service的生命周期包含`onCreate()`, `onStartCommand()`, `...
在Android Studio中,可以通过右键点击项目目录下的`java`文件夹,选择`New > Service > Service`,命名为`DownloadService`。Service通常继承自`android.app.Service`,但在需要前台服务的情况下,应继承自`android...
录音功能需要申请相应的权限,需要在AndroidManifest.xml中添加`<uses-permission android:name="android.permission.RECORD_AUDIO" />`,否则应用将无法访问麦克风进行录音。 5. **文件存储** 录音文件通常保存...
在Android开发中,服务(Service)是一个至关重要的组件,它允许应用程序在后台执行长时间运行的操作,即使用户没有与应用交互。本示例“Android local service demo”聚焦于本地服务(Local Service),它是Android...
在Android开发中,Service是应用程序组件之一,用于在后台执行长时间运行的操作,即使用户与应用程序交互界面不直接关联。在某些情况下,我们可能需要启动多个Service来执行不同的任务,但问题在于,如果这些Service...
在AndroidManifest.xml中,需要添加<service>标签来声明Service,指定其类名和任何权限。例如: ```xml <service android:name=".MyService" /> ``` 启动Service通常使用Context的startService()方法,而停止Service...
在Android应用开发中,Service是一种重要的组件,它允许应用程序在后台执行长时间运行的操作,而无需与用户界面交互。本教程将深入探讨如何利用Service组件在Android设备上实现文件的后台下载,确保即使用户退出应用...
在Android应用开发中,Service是不可或缺的一个组件,它在后台执行长时间运行的操作,即使用户界面不在前台也能继续工作。这个名为"Android_Service.rar"的压缩包包含了一个关于Android Service的示例项目,可以帮助...
在Android开发中,服务(Service)是用于在后台执行长时间运行任务的重要组件,不与用户界面直接交互。然而,有时我们需要在服务中弹出一个Dialog来通知用户或获取用户输入。`Android Studio`作为官方推荐的集成开发...
<service android:name=".MyStartService" /> ``` 3. **启动Service**: 在需要启动服务的地方,比如Activity中,通过`startService()`方法。 ```java Intent intent = new Intent(this, MyStartService.class); ...
Android服务(Service)是Android操作系统中四个核心应用程序组件之一,其他三个分别是Activity、BroadcastReceiver和ContentProvider,它们在Android应用开发中的作用和使用场景各不相同。Service的作用主要体现在...
在Android应用开发中,Service是四大组件之一,用于在后台执行长时间运行的操作,即使用户离开了应用程序界面,Service依然可以运行。本教程将深入探讨如何正确地停止一个Android Service,同时结合源码分析其内部...
4. 配置AndroidManifest.xml:在`<application>`标签内添加`<service>`声明: ```xml <service android:name=".RemoteServiceImpl" /> ``` 5. 使用服务:在客户端应用中,首先需要创建一个对服务的代理对象,然后...
<service android:name=".MyService" /> ``` 3. **连接服务**:在Activity中,你需要创建一个ServiceConnection对象,该对象包含两个回调方法:onServiceConnected和onServiceDisconnected。然后,在需要绑定服务时...
在Android应用开发中,`Service`和定时器是两个重要的组件,它们被广泛用于实现后台任务和周期性操作。本文将深入探讨`Android Service`和定时器的基本概念、使用方法以及如何结合它们来实现每3秒打印一次日志的功能...