智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

Android后臺程序應用技巧分享

來源:網絡

點擊:1478

A+ A-

所屬頻道:新聞中心

關鍵詞: Android,后臺程序,應用技巧

      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.stopService(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.};

    (審核編輯: 智匯小新)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 型煤锅炉进煤机|型煤链条炉排 |重型板链除渣机 |丹东刮板输送机|丹东脱硫除尘器-铧洋机械 | 千家网-智能建筑与智能家居产品解决方案平台 | 无锡大型数控龙门铣,喷涂加工,回火抛丸加工,精密不锈钢焊接机床身机床底座制造加工-无锡美高帝机械有限公司 | 昆山精鑫模具有限公司-模具研发生产 | 一站式服务体验 | 上海机械网 机械 机械加工 金属加工 上海机械网 机械设备 上海机械 | 汽车蓄电池配件_蓄电池维护保养产品_叉车电池配件研发生产厂家—联鸿能源 | 潍坊铝单板_铝方通及氟碳喷涂材料供应企业-潍坊冠杰金属制品有限公司 | 橡皮艇_冲锋舟_充气钓鱼船_橡皮艇价格_海威龙橡皮艇生产厂家-首页 | 美缝剂_美缝剂加盟_瓷砖美缝剂_美缝剂厂家_填缝剂_领翔美缝剂-【官网】 | 京建鹏达_商用无烟烧烤设备多少钱|开店商用自助旋转烧烤炉价格|无烟电烧烤炉批发厂家|无烟烧烤桌定做厂商-京建鹏达烧烤设备网 | 套丝机_钢管套丝机_螺栓套丝机S8139_螺纹钢套丝机_智能套丝机价格-瑞捷机械设备有限公司 | 涡街流量计罗茨气体涡轮厂家_衡水多元仪表有限公司 | 康复器材,康复设备_常州市友邦医疗康复器材有限公司 | 制冷加热循环机,密闭高低温一体机,优质密闭低温冷冻机-无锡冠亚恒温制冷技术有限公司 | 生物质蒸发器_燃气蒸发器_燃气锅炉价格|厂家直销-山东泰锅锅炉设备有限公司 | 景观灯-庭院灯-多功能路灯-高杆灯-智慧灯杆生产厂家-扬州景尚光电 | 斜管填料_斜板填料_纤维球_果壳活性炭_立体网状填料_纤维球厂家-巩义市德科净水材料有限公司 | 雾度计-雾度仪-透光率测试仪-3nh品牌雾度仪生产厂家 | 郑州编织袋厂_郑州塑料编织袋_河南塑料编织袋厂-河南宏旺塑料编织袋厂家 | 火绒杀毒软件|火绒安全企业版_西南|四川|重庆|贵州|云南|西藏|成都火绒服务中心_成都火影科技有限公司-火绒安全|成都火影科技|火绒 | 维启科技-创造科技的无限可能 | 上海维启信息技术有限公司 建筑仿真 BIM 虚拟现实 VR AR 顶岗实习 建筑智能模型 | 叛逆孩子改造,青少年行为矫正,戒网瘾学校,特训学校,全封闭军事化管理学校 | 粘土耐火砖,低气孔耐火砖-山东耐火材料 | 泊头市特种油泵阀制造有限公司 - 渣油泵,重油泵,沥青泵,高压齿轮泵,煤焦油泵,导热油泵,三螺杆泵,圆弧齿轮泵,不锈钢齿轮泵, | 爬架网@建筑爬架网@冲孔建筑爬架网片@工地冲孔建筑爬架网片@工地冲孔建筑爬架网片厂家@工地冲孔建筑爬架网片生产厂家-安平县诺德金属制品有限公司 | 上海专升本-上海统招专升本网 | 商标注册_北京商标注册费用_申请商标注册代理机构_北京商标注册公司- | 上海消防器材|水雾喷头|水幕喷头|螺旋喷头|雾化喷头|泡沫喷头 - 上海舜丹消防设备有限公司 | 疝灯试验箱-有风源淋雨-汽车盐雾室-无锡苏南试验设备有限公司 | 推拉雨棚,防雨棚,遮阳遮雨棚,伸缩雨棚,移动雨棚,电动雨棚,雨棚制作厂家 - 山东创力篷业 | 破碎机锤头-耐磨锤头-合金锤头-河南磐石耐磨材料有限公司 | 家居网链网—家居产业互联网价值平台| 荧光显微镜,倒置显微镜,显微镜相机,荧光光源——广州市明美光电技术有限公司 | 天津印刷_天津印刷厂_天津印刷公司_天津包装盒厂家_天津包装盒印刷厂_七层共挤膜厂家_彩色印刷_画册印刷_礼品盒定做 _七层共挤膜_食品真空袋-欢迎访问嘉联包装官网! | 华药药业集团|华药修医师|修医师浸膏|河南华药药业有限公司 | 江苏保捷锻压有限公司(中国汽车零部件供应商,锻造,精加工,热处理) | 泊头压滤机-隔膜-洗沙-厢式-板框压滤机-河北巨盛压滤机制造有限公司 | 建材制品燃烧热值试验仪_建筑材料不燃性试验仪-华阳试验机制造 | 深圳展厅设计_产业园区展馆设计_展馆设计公司_健康产业展馆设计_展厅设计哪家好_华竣国际 | 锂电池破碎生产线|大型电池粉碎机|锂电池分离设备|电池破碎打粉设备-河南鑫恒岩重工科技有限公司 | 重庆晓宇餐饮文化管理有限公司_重庆晓宇火锅 |