`
zjf-2004
  • 浏览: 10378 次
  • 性别: Icon_minigender_1
  • 来自: 张家港
最近访客 更多访客>>
社区版块
存档分类
最新评论

Android学习——后台程序

 
阅读更多

Android学习——后台程序

Android系统中我们一直在接触着前台界面程序,其实在一开始接触Android时就听说了,程序就有有界面和无界面之分。后台程序就是这类无界面的程序,它在后台执行,没有影响你的界面。比如短信监听程序,执行在后台,当有短信时才给你们提示,振动或声音;比如闹钟,设定好时间后,在定时通知你;再比如mp3播放器,选择好音乐后,在待在后台唱着,当有电话来时,自动暂停,完后再继续播放。

其实分析下来,我们不难发现,后台程序跟前台程序是一样的,也就是在执行我们指定的程序,只是留给我们两个问题,.因为没有界面,我们会问,怎么启动,怎么终止?2.因为没有界面,这程序如何通知我们一些信息或状态

前面的学习让我们知道,一个ActivityCall另一个Activity时,只需要能过中介人Intent就可以了,同样我们与服务处理类打交道也是通过Intent来实现,当然,界面类是继承着Activity,而服务类则是继承着Service类。

启动服务:

// Implicitly start a Service

startService(new Intent(MyService.MY_ACTION));

// Explicitly start a Service

startService(new Intent(this, MyService.class));

停止服务:

stopService(new Intent(this, MyService.class));

同样,跟Activity一样的生命期中,系统也会自动跟据不同的状态来调用继承函数:

@Override

public void onCreate()

public IBinder onBind(Intent intent)

public void onStart(Intent intent, int startId)

。。。

在实际的开发中,我们一般都不会直接写一个服务类,一般都会写一个与后台程序相配套的前台程序,一般的程序总会有一些配置吧~~,然后这个界面中就可以很方便地来控制后台程序的运作。

我们来回答第二个问题,就是在服务中我们怎么发起一个通知给用户,在Andorid中,提供了以下几种方式:

1. Toast

这是一个无模式的小窗体,会将显示的信息显示在首页面中:

实现代码是:

Context context = getApplicationContext();

String msg = To the bride an groom!;

int duration = Toast.LENGTH_SHORT;

Toast toast = Toast.makeText(context, msg, duration);

int offsetX = 0;

int offsetY = 0;

toast.setGravity(Gravity.BOTTOM, offsetX, offsetY);

toast.show();

当然,你也可以显示更杂的,可以将一个控制直接当成一个Toast显示出来,也可以自定义一个控件显示出来,自定义控件的强大是大家都知道的~~

2. Notifications

这种方式是系统中比较通用的模式,通过这种方式你可以使系统:将一个图标在状态条上闪,让机器震动,发出声音等。

实现代码:

String svcName = Context.NOTIFICATION_SERVICE;

NotificationManager notificationManager;

notificationManager = (NotificationManager)getSystemService(svcName);

// Choose a drawable to display as the status bar icon

int icon = R.drawable.icon;

// Text to display in the status bar when the notification is launched

String tickerText = Notification;

// The extended status bar orders notification in time order

long when = System.currentTimeMillis();

Notification notification = new Notification(icon, tickerText, when);

Context context = getApplicationContext();

// Text to display in the extended status window

String expandedText = Extended status text;

// Title for the expanded status

String expandedTitle = Notification Title;

// Intent to launch an activity when the extended text is clicked

Intent intent = new Intent(this, MyActivity.class);

PendingIntent launchIntent = PendingIntent.getActivity(context, 0, intent, 0);

notification.setLatestEventInfo(context, expandedTitle,expandedText,launchIntent);

触发方式:

int notificationRef = 1;

notificationManager.notify(notificationRef, notification);

学会了Activity再写个后台程序也就不难了!!

这里顺便再提一下,在Android系统中也提供了多线程编程,我们知道不管是前台还是后台程序,都有生命期的,当程序不活动时,我们想继续让程序执行,这里我们需要用到线程了,在Android系统中使用线程,跟我们直接写java线程程序非常想似:

// This method is called on the main GUI thread.

private void mainProcessing() {

// 主程序中启动线程.

Thread thread = new Thread(null, doBackgroundThreadProcessing, Background);

thread.start();

}

// Runnable that executes the background processing method.

private Runnable doBackgroundThreadProcessing = new Runnable() {

public void run() {

//线程执行内容。。。

}

};

分享到:
评论

相关推荐

    Android源码——远程视频监控程序源码.zip

    Android源码——远程视频监控程序源码.zip

    android开发——简易计算器的设计报告.doc

    Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具 有以下5个特点:开放性、应用程序无界限、应用程序是在平等条件下创建的、应用程序 可以轻松的嵌入网络、应用程序可以并行运行。 一、实训...

    android实战 音乐播放器(android studio源程序工程)

    包括Android 移动开发基础案例教程课本中第七章实战演练——注册用户信息的源代码,可用Android studio运行,适合初学者学习。

    From Android Studio——基于第三方SDK:Face++平台的面部识别,用户通过自拍完成注册、登录。.zip

    丰富的应用生态系统:Android系统拥有庞大的应用程序生态系统,用户可以从Google Play商店或其他第三方应用市场下载和安装各种各样的应用程序,满足各种需求。 可定制性:Android操作系统可以根据用户的个人喜好进行...

    新手学HTML5移动开发——面向iOS和Android平台

    第iii部分介绍了ios和android sdk(software development kits,软件开发包),并且向您展示如何将第ii部分的web应用程序转换成独立的应用程序,该应用程序可以分发到苹果公司的和谷歌公司的应用程序商店中。

    Timdk857#Android-Architecture-knowledge#微信小程序的生命周期实例演示-——-微信小程序教

    第一执行onLauch函数——当小程序初始化完成时,会触发 onLaunch(全局只触发一次) 第二执行onShow函数——当小程序启动,或从后台进入前台显示,

    Android应用开发详解

    Android Service组件,讲述了Android中的后台服务Service的概念、创建和使用,并详细讲解了远程服务的调用 第8章 Android广播事件处理 Broadcast Receiver Android 广播事件处理 Broadcast Receiver,讲述了广播...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与ArrayAdapter设计 4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与ArrayAdapter设计 4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与ArrayAdapter设计 4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与...

    Google Android SDK开发范例大全的目录

    4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与ArrayAdapter设计 4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与ArrayAdapter设计 4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与...

    Google+Android+SDK开发范例大全

    4.15 动态输入日期与时间——DatePicker与TimePicker应用 4.16 猜猜红心A在那儿——ImageView点击事件与透明度处理 4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与...

    Google Android SDK 开发范例大全01

    4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与ArrayAdapter设计 4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与...

    Google Android SDK 开发范例大全02

    4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与ArrayAdapter设计 4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与...

    Google Android sdk 开发范例大全 部分章节代码

    4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与ArrayAdapter设计 4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与...

    Google Android SDK开发范例大全(完整版)

    4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与ArrayAdapter设计 4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与...

    Android高级编程--源代码

    作为使用androidsdk构建这些应用程序的实用指南书籍,《android高级编程》从始至终穿插了一系列示例项目,每个项目都引入android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍android的所有基本功能,并...

Global site tag (gtag.js) - Google Analytics