999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于線程復用的Android校園助手的通知模塊設計

2016-03-07 02:39:12李海平陳榮征李海文
電腦與電信 2016年12期
關鍵詞:校園服務

李海平 陳榮征 李海文

(廣東職業技術學院信息工程系,廣東 佛山 528041)

基于線程復用的Android校園助手的通知模塊設計

李海平 陳榮征 李海文

(廣東職業技術學院信息工程系,廣東 佛山 528041)

校園助手項目是基于Android系統開發的應用項目,通知消息模塊是校園助手項目的重要模塊。校園助手項目采用線程復用技術,訪問網絡,查詢服務端通知消息數據,從而減少不斷開啟新線程的開銷,提高資源的使用效率;項目中的通知在Android Service組件中進行處理,Service組件中開啟線程訪問網絡,對網絡返回的數據,通過Handler異步消息機制派發,然后在通知欄發出通知。這些技術的應用對設計類似的通知消息機制有廣泛的參考價值。

Android;校園助手;線程復用;通知模塊

1 引言

隨著智能手機的發展,現在基本上人手一臺智能手機,如何讓校園助手更好地服務學生,這是我們設計校園助手的目的。高校學生管理中,經常需要對重要的事情發出通知,一般通知都是按照一級一級傳達的,最后傳達到每個學生需要一段時間。校園助手針對這樣的需求,設計出自己的消息通知模塊,當有重要事情要通知相關的學生的時候,校園助手Android客戶端能接收到相關消息,并且及時在學生手機端提醒,就像手機來電一樣,非常方便學生的管理。

2 Notification通知技術

2.1 Android Notification通知結構

Notification有震動、鈴聲、文字等多種表現形式,一般情況下默認顯示大圖標、標題、內容、時間、小圖標等信息,如圖1。

圖1 文本Notification內容

2.2 創建一條消息欄Notification通知

Android創建一條消息通知,首先需要獲取一個全局的通知欄管理類NotificationManager[1]對象,notifyManager= (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

然后通過NotificationCompat.Builder類對象創建具體Notification對象,設置Notification通知對象的LargeIcon大圖標、Title標題、Text內容、When時間、Number數字、SmallI-con小圖標,這些通知設置好之后,調用Builder對象的build方法,創建一個Notification對象。

NotificationCompat.Builder builder=new Notification-Compat.Builder(this);

builder.setContentTitle("通知標題");

builder.setContentText("通知內容");

builder.setWhen(System.currentTimeMillis());

builder.setSmallIcon(R.drawable.ic_launcher);

builder.setNumber(9);

builder.setLargeIcon(BitmapFactory.decodeResource(get-Resources(),R.drawable.big));

Intent intent4Pending=new Intent(this,NotificationActivity.class);

PendingIntentpendingIntent=PendingIntent.getActivity(this,0,intent4Pending,0);

builder.setContentIntent(pendingIntent);

Notification notification=builder.build();

有了Notification對象之后,通過NotificationManager對象notifyManager發出一條Notification通知,這樣消息欄就能顯示出一條通知消息。

notifyManager.notify(notificationID,notification);

3 Android Service服務組件

Service[2]服務組件是Android的四大組件之一,是在后臺執行的程序,其用于長時間在后臺運行的邏輯代碼。校園助手項目消息通知模塊,需要在后臺不斷地訪問網絡,檢查服務端是否有相關的通知消息,這些功能代碼都需要在后臺完成,并且需要一直在后臺運行,所以消息通知模塊采用Service組件實現。

圖2 Service生命周期

一個Android Service服務生命周期如圖2所示,服務可以在Activity界面層調用startService啟動一個服務,啟動服務后,自動執行Oncreate方法,服務在后臺運行,直到Activity界面層調用了stopService方法,服務停止。校園手機助手啟動服務后,在Oncreate方法中啟動線程,啟動的線程中不斷訪問網絡,查詢是否有通知消息,如果有通知消息就發出一條通知顯示在手機的通知欄。

4 Thread線程復用訪問網絡、異步處理網絡數據、發出通知消息

Android中訪問網絡需要開啟子線程來完成,如果每訪問一次網絡就開啟一個線程,這需要Android操作系統不斷地獲取底層資源,從而影響其它App軟件的使用效率和速度。在校園助手項目中,其查詢服務端通知消息數據是通過開啟一個子線程,然后復用這個子線程來進行,每訪問一次網絡,休眠一段時間再訪問網絡,對訪問網絡獲取的數據進行異步處理,這樣就避免了不斷開啟新的線程訪問網絡,節約了資源,提高了系統效率。

圖3 線程復用

如圖3,服務端啟動線程后,先訪問服務端數據,如果有數據就異步發出消息,發出一條Notification顯示在Android通知欄上,否則進入睡眠延時,等待下一個循環。下面是相關的線程run函數代碼實現:

public void run(){

do{

String notifResult="";

notifResult=getNotificationData();//請求服務端數據

if(!notifResult.equals("")){

if(handler!=null){

Message msg=Message.obtain();

msg.what=100;

msg.obj=notifResult;

handler.sendMessage(msg);//異步消息,請求發出Notification

}

}

try{

Thread.sleep(mLoopTime);//線程休眠

}catch(InterruptedException e){

e.printStackTrace();

}

}while(!bLoop);

}

5 結束語

校園助手項目通知模塊通過在Android Service組件中,利用Thread線程復用技術,訪問網絡查詢服務端通知消息數據,通過Handler異步消息機制,異步處理消息數據,在Android手機通知欄中發出通知。本文搭建了Android通知消息模塊的框架,還有不少需要完善的地方,但是有了這樣消息通知框架,對設計類似的消息通知模塊有重要的參考價值。

[1]http://developer.android.com/design/patterns/notifications.html

[2]傳智播客高教產品研發部.Android移動應用基礎教程[M].北京:中國鐵道出版社,2014.

Notification Message Module Design forAndroid CampusAssistant Based on Thread Reuse

Li Haiping Chen Rongzheng Li Haiwen
(Information Engineering Department of Guangdong Polytechnic,Foshan 528041,Guangdong)

The campus assistant project is based on the Android system development application project,and the Notification Message Module is an important module for the Campus Assistant Project.The Campus Assistant Project uses the thread reuse technology,accesses the network,and queries notification data in the service,thus reduces the expense of opening new thread,and enhances the resource efficiency.The notifications in the project are processed in the Android Service component.The Service Component opens thread to access the network.The data returned by the network is distributed with the Handler asynchronous message mechanism,and then the notification is send in the notification bar.The application of these techniques has a wide range of reference values for designing similar notification message mechanisms.

Android;campus assistant;thread reuse;notification module

TP311.52

A

1008-6609(2016)12-0019-02

李海平(19 82-),男,江西寧都人,碩士,研究方向為移動應用開發、軟件技術。

2015年度廣東大學生科技創新培育專項,2016年度廣東職業技術學院教學改革項目,項目編號:XJJG 2016 08。

猜你喜歡
校園服務
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
Q爆校園
再見,我的校園
南方周末(2018-06-28)2018-06-28 08:11:04
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
校園的早晨
琴童(2017年3期)2017-04-05 14:49:04
春滿校園
主站蜘蛛池模板: 亚洲第一成年免费网站| 亚洲黄色高清| 成人午夜网址| 色香蕉网站| 久久综合结合久久狠狠狠97色| 国产无套粉嫩白浆| 天堂网亚洲系列亚洲系列| 国产精品久久久久久久久| 成人一级黄色毛片| 米奇精品一区二区三区| 手机精品视频在线观看免费| 男女男精品视频| 国产高清在线精品一区二区三区 | 精品乱码久久久久久久| 亚洲色图狠狠干| 精品久久蜜桃| 一区二区三区国产精品视频| 99久久99视频| 国产91精品调教在线播放| 四虎永久免费地址在线网站| 日本欧美午夜| 婷婷激情亚洲| 亚洲黄网在线| 亚洲精品va| 久久香蕉国产线| AⅤ色综合久久天堂AV色综合| 日韩国产亚洲一区二区在线观看| 99在线观看精品视频| 欧洲成人免费视频| 国产在线专区| 韩国自拍偷自拍亚洲精品| 亚洲成人免费在线| 国产白丝av| 亚洲婷婷在线视频| 91福利免费| 97人妻精品专区久久久久| 一级黄色欧美| 国产精品一线天| 男女猛烈无遮挡午夜视频| 国产毛片久久国产| 国产综合精品一区二区| 欧美日韩导航| 国产精品尤物在线| 国产天天色| 亚洲中文在线看视频一区| 国产美女无遮挡免费视频网站| 精品久久蜜桃| 欧美福利在线| 日韩欧美中文在线| 免费国产高清精品一区在线| 精品国产电影久久九九| 色老二精品视频在线观看| 91精品国产情侣高潮露脸| 九九视频免费在线观看| 一级片一区| 精品视频在线观看你懂的一区| 91国内视频在线观看| 国产午夜福利片在线观看| 亚洲无码精品在线播放| 国产一区亚洲一区| 无码精油按摩潮喷在线播放| 久久精品国产在热久久2019| 国产欧美精品午夜在线播放| 日韩视频精品在线| 亚洲精品动漫| 国产精品久久久久无码网站| 日韩精品久久久久久久电影蜜臀| 手机精品视频在线观看免费| 亚洲中文字幕国产av| 国产麻豆另类AV| 国产自在线拍| 在线观看91香蕉国产免费| av无码久久精品| 欧美中文字幕一区| 日韩无码真实干出血视频| 18禁色诱爆乳网站| 影音先锋丝袜制服| 亚洲日本www| 国产亚洲高清视频| 国产一区二区三区在线精品专区 | 亚洲国产日韩在线成人蜜芽| 72种姿势欧美久久久大黄蕉|