澳门太阳集团,太阳集团娱乐网址

    欢迎访问太阳集团娱乐网址~

  1. 加入收藏
  2. 设为主页
  3. 学校简介
北大青鸟

三分钟了解北大青鸟

×
  • 北大青鸟大数据课程
  • 北大青鸟网络工程师
  • 北大青鸟web设计专业
  • 北大青鸟PHP专业
  • 北大青鸟启蒙星课程

Android后台程序应用技巧分享

责任编辑:太阳集团娱乐网址来源:太阳集团娱乐网址安卓技术教程发布时间:2013-03-10 10:16
导读:Android手机操作系统是由谷歌推出的一款开源的基于Linux平台的操作系统,深受广大编程爱好者的喜爱。
  Android手机操作系统是由谷歌推出的一款开源的基于Linux平台的操作系统,深受广大编程爱好者的喜爱。在Android系统中我们一直在接触着前台界面程序,其实在一开始接触Android时就听说了,程序就有有界面和无界面之分。

  Android后台程序就是这类无界面的程序,它在后台执行,没有影响你的界面。比如短信监听程序,执行在后台,当有短信时才给你们提示,振动或声音;比如闹钟,设定好时间后,在定时通知你;再比如mp3播放器,选择好音乐后,在待在后台唱着,当有电话来时,自动暂停,完后再继续播放。

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

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

  启动服务:

  1.// Implicitly start a Service

  2.startService(new Intent(MyService.MY_ACTION));

  3.// Explicitly start a Service

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

  停止服务:

  1.sService(new Intent(this, MyService.class));

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

  1.@Override

  2.public void onCreate()

  3.public IBinder onBind(Intent intent)

  4.public void onStart(Intent intent, int startId)

  5.。。。

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

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

  1. Toast

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

  实现代码是:

  1.Context context = getApplicationContext();

  2.String msg = “To the bride an groom!”;

  3.int duration = Toast.LENGTH_SHORT;

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

  5.int offsetX = 0;

  6.int offsetY = 0;

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

  8.toast.show();

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

  2. Notifications

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

  实现代码:

  1.String svcName = Context.NOTIFICATION_SERVICE;

  2.NotificationManager notificationManager;

  3.notificationManager = (NotificationManager)getSystemService(svcName);

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

  5.int icon = R.drawable.icon;

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

  7.String tickerText = “Notification”;

  8.// The extended status bar orders notification in time order

  9.long when = System.currentTimeMillis();

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

  11.Context context = getApplicationContext();

  12.// Text to display in the extended status window

  13.String expandedText = “Extended status text”;

  14.// Title for the expanded status

  15.String expandedTitle = “Notification Title”;

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

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

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

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

  触发方式:

  1.int notificationRef = 1;

  2.notificationManager.notify(notificationRef, notification);

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

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

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

  2.private void mainProcessing() {

  3.// 主程序中启动线程.

  4.Thread thread = new Thread(null, doBackgroundThreadProcessing,

  “Background”);

  5.thread.start();

  6.}

  7.// Runnable that executes the background processing method.

  8.private Runnable doBackgroundThreadProcessing = new Runnable() {

  9.public void run() {

  10.//线程执行内容。。。

  11.}

  12.};

本文标题:Android后台程序应用技巧分享,责任编辑:太阳集团娱乐网址,来源:武汉宏鹏,于2013年03月10日10时16分发布于太阳集团娱乐网址。澳门太阳集团宏鹏鲁广校区,是北大青鸟武汉电脑学校,专业IT计算机培训,拥有软件/网络/安卓/Web前端/Java课程.北大青鸟地址:光谷广场鲁巷数码港.电话:15902769092

专业老师指导

专业老师指导

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业。

培训咨询客服

培训咨询客服

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑。

本文地址:
文章标题:
  • 北大青鸟Java软件开发
  • 北大青鸟UI设计课程_零基础可学
  • 北大青鸟动漫设计_武汉设计学校
  • 北大青鸟数字艺术_武汉电脑学校
在线咨询
×
在线咨询更多问题

如您有任何疑问
在线咨询随时为您解答或拨打咨询热线:17740513250

×
  • 姓 名*
  • 手 机*
  • QQ号/微信号
  • 所报学科 *
  • 其他备注
  • 温馨提示:请保持手机畅通,咨询老师将为您提供专属的一对一报名服务。