《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Android平臺的自發短信系統設計與實現
基于Android平臺的自發短信系統設計與實現
來源:電子技術應用2012年第12期
倪紅軍1, 錢昌俊2
1. 南京師范大學 泰州學院 信息工程學院,江蘇 泰州 225300; 2. 泰州機電高等職業技術學校 信息工程系,江蘇 泰州 225300
摘要: 基于Android手機操作系統開發了一款自發短信系統。利用SQLite數據庫存儲技術、Service啟動服務技術及Runnable接口,設計并實現了好友管理、短信管理、后臺檢測發送短信等功能,并給出了運行效果圖。該系統的實現為指定時間發送定制短信提供了很大的方便性。
中圖分類號: TN929.53
文獻標識碼: A
文章編號: 0258-7998(2012)12-0126-04
Design and implementation of spontaneous SMS based on the Android platform
Ni Hongjun1, Qian Changjun2
1.School of Information Engineering, Taizhou College,Nanjing Normal University, Taizhou 225300, China; 2. Department of Information Engineering, Taizhou Higher Vocational School of Mechanical & Electrical Technology, Taizhou 225300, China
Abstract: The use of the Android mobile operating system developed a spontaneous SMS system. The use of SQLite database storage technology, Service services technology and Runnable interface, the design and implementation of the friends management, message management, background detection send text messages and other functions, and gives the effect diagram. The realization of the system for the specified time to send customized SMS provides great convenience.
Key words : SQLite; background detection; Service; spontaneous SMS

    隨著3G業務的全面推廣,使用手機進行實時交流的需求也越來越大,短信服務由于其快捷方便和良好的交互性[1]廣受青睞。通常使用手機發送短信的形式比較單一,在需要發送信息時必須由人工干預將短信發送給一個或多個聯系人,而且同時發給多人時,短信內容相同。而人們在繁忙的工作和學習中往往會忘記一些必要的短信祝福、合作提醒等。為了解決這一問題,本文在Android平臺下,采用SharedPreferences、SQLite進行數據存儲,利用Service組件實現系統后臺運行,使用BaseAdapter適配器進行用戶界面顯示,設計了一個自發短信系統。該系統可以隨意設置短信內容、發送時間,在指定的時間當天,由系統自動給好友、生意伙伴等發送祝福短信、合作提醒,也可以設置給多人發送不同的短信。

1 Android系統
    Android是Google開發的基于Linux開放性內核的手機操作系統,目前已廣泛應用于智能手機中。Android系統的軟件結構包含操作系統、中間件及一些關鍵的平臺應用程序。該系統采用軟件堆層(Software Stack)的架構[2-3],主要分為4個部分:(1)應用層,采用Java語言編寫,運行在Dalvik虛擬機,供用戶使用的應用程序;(2)應用框架層,使用API框架編寫Google發布的核心應用,開發人員可以使用這些框架開發自己的應用; (3)系統運行庫層;(4)Linux內核層,即硬件和軟件棧之間的抽象層,提供了Android系統的核心服務。
2 系統設計
    自發短信系統是用戶預先設定的信息內容和發送時間的好友列表,系統每24 h檢測一次好友信息。當好友的發送時間與手機設定時間一致時,就將該好友添加到發送集合中,由系統自動完成定制短信的發送。
2.1 系統功能設計
    按照用戶使用短信服務的習慣和需求,自發短信系統的主要功能模塊如圖1所示。

    (1)好友管理模塊:顯示已添加的好友信息(包括頭像、姓名、倒計時天數及發送狀態等);添加、修改、刪除好友信息。
    (2)短信管理模塊:顯示用戶設置的待發送短信內容;修改短信內容。
    (3)后臺檢測服務模塊:該模塊不間斷地在后臺運行,檢測好友列表中的發送日期與手機日期是否相同。如果相同,則根據選定的短信內容自動地向該好友發送信息,并在發送完成后修改發送狀態信息。如果不相同,則修改倒計時天數。
2.2 數據存儲設計
    隨著軟件應用程序逐漸模塊化,嵌入式數據庫可直接在應用程序進程中運行,提供了零配置運行模式,并且資源占用非常少。Android系統支持多種數據存儲技術,其中有簡單信息存儲方式SharedPreferences[4],也有內存占用少、效率高。支持 SQL 語言的輕量級嵌入式數據庫引擎——SQLite。在進行開發設計時,結合功能需求和軟件性能,本系統采用了SharedPreferences進行簡單短信信息存儲,及SQLite數據庫存儲數據量較大的好友信息。
    短信信息以sms_db.xml為文件名,存儲在默認位置/data/data/<包名>/shared_prefs目錄下,其內容格式如下:
    <?xml version=&prime;1.0&prime;encoding=&prime;utf-8&prime;standalone=&prime;yes&prime;?>
    <map>
     <string name="sms1">祝寶貝生日快樂,天天開心!</string>
     <string name="sms2">開業大吉,生意興??!</string>
  &hellip;&hellip;
    </map>
  數據庫myinformation.db存儲好友信息,結構如表1所示。

3 系統功能實現
    系統整體使用MVC模式設計,將數據(Model)、界面(View)、控制(Controller)分為不同的模塊,不僅使程序結構更加清晰,代碼更加健壯,而且降低了程序之間的耦合度,提高了模塊化程度[5]。
3.1 好友管理
3.1.1 好友列表顯示界面

    系統運行后,首先調用MainActivity.java顯示主界面,如圖2所示。主界面上的好友列表由ListView組件來實現,該組件中的數據由繼承了BaseAdapter自定義的MainListAdapter適配器類來填充。實現代碼如下:

    Cursor c = managedQuery(MyInformation.CONNECT_URI,
MyInformation.SelectStrArr, null, null,MyInformation.DEFAULT_
SORT_ORDER);
    List<User> mList = new ArrayList<User>();
    c.moveToFirst();         // 實例化游標對象,查找數據庫
    if (c.getCount() > 0) {
        do {
            mList.add(new User(c));
          } while (c.moveToNext());
    }
    c.close();
    ListView  mainListView = (ListView) findViewById(R.id.
mainlist);                                            // 添加用戶到集合
    MainListAdapter mainListAdapter = new MainListAdapter
        (this, mList);                   // 實例化自定義適配器
    mainListView.setAdapter(mainListAdapter);
                                // 給ListView設置適配器
3.1.2 添加好友信息界面
    用戶單擊圖3主界面上的&ldquo;添加好友&rdquo;菜單后,將執行如下代碼:

     Intent intentAdd = new Intent(MainActivity.this, InformationAdd.class);
     MainActivity.this.startActivity(intentAdd)
     然后顯示如圖3所示&ldquo;添加好友信息&rdquo;界面。通過此界面,可以設置好友姓名、電話號碼、定時發送時間(生日)、定時開啟狀態及短信內容。短信內容可以單獨設置,也可以點擊&ldquo;選擇已有的祝福&rdquo;按鈕選擇定制短信。
3.2 短信管理
    用戶單擊圖2主界面上的&ldquo;編輯短信&rdquo;菜單后,執行PrepareSms類,該類繼承Avtivity類,實現了OnClickListener接口。然后進入短信顯示界面,通過自定義SelectSharedPreferencesDb類實例對象的getSMS( )方法讀取sms_db.xml文件,并把短信內容顯示在TextView上。單擊短信顯示文本框TextView,進入短信內容編輯界面,如圖4所示。編輯完成后調用saveSMS()方法保存短信內容到sms_db.xml文件,代碼如下:

 

 

    public class SelectSharedPreferencesDb {
    public static Map<String, String> getSMS(Context con) {
        Map<String, String> map=new HashMap<String, String>();
    SharedPreferences mysp = con.getSharedPreferences
("sms_db",Activity.MODE_PRIVATE);                 // 獲取sms
    map.put("sms1", mysp.getString("sms1", "寶貝!祝你生日快樂!!"));
    for (int i = 2; i < 11; i++) {
         String content = mysp.getString("sms" + i, "未設置");
                map.put("sms" + i, content);}
                return map;
    }                  //默認有第一條短信內容,可以修改
    public static void saveSMS(Context con, String num, String smscontent) {
    SharedPreferences mysp = con.getSharedPreferences
("sms_db",    Activity.MODE_PRIVATE);
    mysp.edit().putString(num, smscontent).commit();    }
}                                             // 保存sms
3.3 后臺檢測服務
  為了實現系統在指定日期自發短信,必須啟動監聽測試服務,并且始終在后臺運行,每隔24 h自動檢測手機日期與指定日期是否一致,并作相應處理。Android系統提供了Service組件來實現服務的后臺運行[6],通過實現Runnable接口的方法啟動線程對短信發送日期進行檢測。本系統自定義一個MainService類,它繼承了Service,實現了Runnable接口具體實現功能。
3.3.1 Service后臺服務
     Service組件與Activity組件類似,但它一直在后臺運行,沒有用戶界面[7],該組件的啟動有兩種方式:context.startService()和context.bindService()。開發步驟如下:
     (1) 繼承Service類
     public class MainService extends Service implements Runnable {&hellip;&hellip;}
     (2)在AndroidManifest.xml文件中的<application>節點里對服務進行配置
     <service android:name="ie.nnutc.edu.cn.MainService" >
     <intent-filter>
     <action android:name= "ie.nnutc.edu.cn.MainService "/ >
     </intent-filter>
     </service>
     (3) 啟動Service
  Intent it = new Intent("ie.nnutc.edu.cn.MainService ");
  this.startService(it)
3.3.2 實現時間檢測和短信發送線程
     在Java中通過繼承Thread類和實現Runnable接口兩種方式實現多線程,但由于一個類只能繼承一個父類[8],而MainService類已經繼承了Service類,所以本系統采用Runnable接口來實現時間檢測和短信發送線程。
    當檢測到發送日期與手機日期相同時,將好友信息加入發送集合,產生一個Message類信號放入消息隊列,并分發給Handler進行處理。Handler接收到消息后啟動短信發送代碼(本系統將該功能封裝成sendmessage方法)實現短信發送。部分代碼如下:
     Handler handler = new Handler() {
        public void handleMessage(Message msg) {
           switch (msg.what) {
           case SEND_MESSAGE:
             sendmessage(&hellip;&hellip;);         //執行自發短信任務
                break;
            }
            super.handleMessage(msg);
         }
    }
    結合Android系統手機用戶的實際需要,本文基于SQLite存儲技術、Service后臺服務技術和消息處理機制設計了自發短信系統,成功地解決了按時發送定制信息這一問題。通過實際項目驗證了設計的正確性和可行性。隨著3G的到來,利用 Android系統提供的拍照、錄音等功能,也可實現圖片、音頻等多媒體信息的自動發送,從而使自發短信系統的應用前景更加廣泛。
參考文獻
[1] 沈冰,陳向東,黃馨竹,等.基于J2ME技術的短信智能回復系統的設計與實現[J].計算機應用研究,2007,24 (12):263-265.
[2] 王向輝,張國印,沈潔.Android應用程序開發[M].北京:清華大學出版社,2010.
[3] 姚昱昱,劉衛國.Android的架構與應用開發研究[J].計算機系統應用,2008,17(11):110-112.
[4] 郭宏志.Android應用開發詳解[M].北京:電子工業出版 社,2010.
[5] GAO J,MODAK M,DORNADULA S,et al. A wirelessbased text chatting system[C]. 2004 IEEE International Conference on E-Commerce Technology, 2004.
[6] 張元亮.Android開發應用實戰詳解[M].北京:中國鐵道出版社,2010.
[7] 王秀芳,楊陽.基于Android的YOBO在線音樂播放器[J]. 科學技術與工程,2011,11(11):2506-2509.
[8] 張雪萍,鮑丹,王家耀.Java多線程測試策略及測試方法探討[J].計算機應用研究,2006,23(11):12-14.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美高清在线视频| 国产精品视频在线观看| 亚洲一区在线免费观看| 亚洲国产精品va在线看黑人| 免费成人小视频| 在线精品视频一区二区三四| 欧美激情中文不卡| 欧美日韩免费网站| 在线观看日产精品| 亚洲图片在线| 国产精品丝袜xxxxxxx| 久久国产精品高清| 国产在线乱码一区二区三区| 日韩视频在线一区二区| 久久福利电影| 国产精品久久99| 亚洲国产精品尤物yw在线观看| 日韩天堂在线视频| 国产精品视频成人| 精品二区久久| 欧美午夜在线| 国产精品大片| 欧美一区二区三区四区在线观看地址| 亚洲国产一区在线观看| 久久精品国产清高在天天线| 日韩手机在线导航| 午夜精品在线看| 亚洲精品国产精品国自产观看| 国产精品一级二级三级| 亚洲手机视频| 亚洲免费中文| 亚洲国产精品精华液2区45| 免费看黄裸体一级大秀欧美| 午夜在线a亚洲v天堂网2018| 欧美一区二区在线看| 国内精品久久久久久久影视麻豆| 校园激情久久| 亚洲视频在线观看| 牛人盗摄一区二区三区视频| 国产欧美va欧美不卡在线| 欧美华人在线视频| 久久精品国产96久久久香蕉| 男人的天堂亚洲在线| 老司机67194精品线观看| 欧美jizzhd精品欧美巨大免费| 欧美精品导航| 国产精品色婷婷| 久久久久久久激情视频| 国产一区激情| 黑丝一区二区| 欧美涩涩视频| 精品成人在线视频| 国产精品久久久久999| 欧美aaaaaaaa牛牛影院| 欧美激情久久久久久| 亚洲欧美卡通另类91av| 欧美精品一区二区在线播放| 午夜影视日本亚洲欧洲精品| 久久免费99精品久久久久久| 亚洲自拍偷拍麻豆| 久久久国产亚洲精品| 一本久久综合| 欧美一区二区三区另类| 久久精品99久久香蕉国产色戒| 久久精品一区二区三区不卡牛牛| 欧美日本中文字幕| 国产精品福利在线观看| 欧美视频在线免费看| 亚洲欧美国产三级| 美女尤物久久精品| 久久国产乱子精品免费女| 亚洲成色777777女色窝| 亚洲毛片在线免费观看| 国产一区91| 欧美视频不卡中文| 99视频在线精品国自产拍免费观看| 亚洲综合成人在线| 国产一区二区三区网站| 性色av一区二区三区红粉影视| 亚洲欧美日韩国产一区| 欧美在线一二三区| 国产日韩欧美综合精品| 欧美日韩在线一区二区| 亚洲欧美变态国产另类| 亚洲成人在线视频网站| av成人免费| 一区二区在线看| 雨宫琴音一区二区在线| 欧美午夜精品久久久久久孕妇| 麻豆精品精品国产自在97香蕉| 国产视频在线观看一区二区| 欧美精品一区二| 国产精品久久久久9999高清| 国产精品网站在线播放| 亚洲综合第一页| 麻豆乱码国产一区二区三区| 一区二区国产日产| 国产精品日韩欧美一区二区| 老鸭窝毛片一区二区三区| 欧美人成在线视频| 狠狠入ady亚洲精品| 欧美日韩免费高清| 欧美不卡福利| 日韩写真在线| 免费视频一区二区三区在线观看| 激情欧美一区二区三区| 欧美午夜电影网| 国产精品久久午夜夜伦鲁鲁| 欧美黄色一级视频| 麻豆国产精品va在线观看不卡| 国产精品成人国产乱一区| 欧美无乱码久久久免费午夜一区| 亚洲在线视频观看| 国产精品久久久久国产a级| 国产一区二区三区高清播放| 久久黄色小说| 久久亚洲春色中文字幕| 国产精品区免费视频| 国产亚洲欧美日韩美女| 久久久久久久久一区二区| 亚洲一区二区三区四区在线观看| 久久国产婷婷国产香蕉| 久久精品99国产精品酒店日本| 欧美一区二区在线观看| 欧美精品在线免费观看| 一本色道久久精品| 欧美国产精品va在线观看| 久久五月婷婷丁香社区| 一区二区三区蜜桃网| 国产乱人伦精品一区二区| 一区二区三区你懂的| 国产精品日韩一区二区三区| 欧美日韩精品三区| 欧美午夜美女看片| 国产精品久久久99| 欧美性生交xxxxx久久久| 亚洲国产精品精华液2区45| 欧美成人精品不卡视频在线观看| 亚洲精品自在久久| 夜夜嗨av一区二区三区四季av| 麻豆av一区二区三区| 欧美激情第4页| 欧美成人综合网站| 蘑菇福利视频一区播放| av成人国产| 国产欧美精品在线播放| 亚洲欧洲在线一区| 国产美女高潮久久白浆| 美国十次了思思久久精品导航| 在线一区日本视频| 欧美顶级少妇做爰| 国产精品久久综合| 国产色综合网| 亚洲精品三级| 欧美综合国产| 国产伦精品一区二区三区视频黑人| 99香蕉国产精品偷在线观看| 国产一区二区三区的电影| 99国产精品| 欧美日韩国产一区二区三区地区| 欧美婷婷在线| 亚洲在线中文字幕| 巨胸喷奶水www久久久免费动漫| 99视频+国产日韩欧美| 欧美日韩一区三区四区| 国产精品久久久久婷婷| 久久美女艺术照精彩视频福利播放| 黄色一区二区三区四区| 尤物九九久久国产精品的分类| 狠狠做深爱婷婷久久综合一区| 免播放器亚洲一区| 欧美猛交免费看| 国产精品二区在线观看| 红桃视频亚洲| 国产在线不卡精品| 好吊妞**欧美| 香港久久久电影| 老司机免费视频一区二区三区| 在线综合+亚洲+欧美中文字幕| 久久久青草青青国产亚洲免观| 久久久99精品免费观看不卡| 91久久国产综合久久蜜月精品| 一区二区三区在线不卡| 国产精品一二三| 国产在线观看91精品一区| 韩国av一区二区三区| 性做久久久久久久久| 亚洲一区二区在线视频| 欧美激情在线狂野欧美精品| 国产精品色一区二区三区| 亚洲欧美日韩综合一区| 久久婷婷av| 亚洲欧美激情精品一区二区| 亚洲乱码视频| 国产综合久久久久久鬼色| 亚洲第一久久影院| 欧美深夜影院| 亚洲欧美韩国| 一区二区三区自拍| 午夜精品影院在线观看| 亚洲精品视频在线看| 99精品国产在热久久| 在线免费高清一区二区三区| 一区二区三区四区蜜桃| 国产精品地址| 亚洲制服欧美中文字幕中文字幕| 影音先锋久久久| 亚洲久色影视| 久久久www成人免费无遮挡大片| 欧美色视频在线| 99国产精品国产精品久久| 校园春色国产精品| 久久综合婷婷| 亚洲一区二区三区乱码aⅴ蜜桃女| 久热爱精品视频线路一| 国产精品亚洲人在线观看| 国产亚洲精品一区二555| 亚洲一区视频在线观看视频| 欧美aa国产视频| 午夜精品久久久久久久久久久| 国产精品麻豆欧美日韩ww| 久久男人av资源网站| 黄色成人精品网站| 亚洲欧美在线观看| 日韩午夜在线播放| 国产精品久久久免费| 国产在线乱码一区二区三区| 91久久午夜| 欧美制服丝袜第一页| 欧美华人在线视频| 亚洲欧美日本另类| 久久免费精品日本久久中文字幕| 精品av久久久久电影| 国模私拍视频一区| 日韩一区二区精品葵司在线| 亚洲伦理在线免费看| 国产精品黄色在线观看| 国产精品视频免费观看| 亚洲毛片在线看| 亚洲综合色视频| 国产精品另类一区| 国产美女一区二区| 国内自拍一区| 一本在线高清不卡dvd| 久久精品人人爽| 亚洲女人天堂av| 国产精品久久久免费| 国产日韩精品视频一区| 欧美日韩在线视频首页| 国产精品久久毛片a| 夜夜嗨av一区二区三区免费区| 久久久久久亚洲精品杨幂换脸| 一区二区视频免费在线观看| 中日韩美女免费视频网站在线观看| 欧美日韩一区二区三区免费| 国产午夜精品麻豆| 亚洲免费视频网站| 久久精品99国产精品日本| 美日韩丰满少妇在线观看| 影音先锋久久资源网| 浪潮色综合久久天堂| 亚洲一区二区精品视频| 欧美日韩高清区| 欧美日韩国产欧美日美国产精品| 久久大香伊蕉在人线观看热2| 欧美裸体一区二区三区| 一区二区冒白浆视频| 欧美视频二区| 美女在线一区二区| 亚洲欧美日韩久久精品| 欧美激情视频一区二区三区不卡| 亚洲女爱视频在线| 亚洲图片欧美午夜| 欧美日本一区二区三区| 亚洲调教视频在线观看| 在线观看欧美视频| 午夜精品美女久久久久av福利| 韩日欧美一区二区| 欧美在线观看一二区| 亚洲第一毛片| 亚洲美女在线国产| 久久综合狠狠| 国产亚洲成人一区| 久久久夜色精品亚洲| 制服丝袜亚洲播放| 亚洲欧美乱综合| 国产午夜精品理论片a级探花| 欧美午夜精品久久久| 亚洲激情电影中文字幕| 久久久久国产一区二区| 亚洲无玛一区| 亚洲免费观看在线视频| 激情国产一区二区| 亚洲国产一区二区三区a毛片| 欧美激情视频在线播放| 久久人体大胆视频| 好吊视频一区二区三区四区| 亚洲国产精品热久久| 欧美特黄视频| 久久综合电影| 欧美一区精品| 欧美剧在线观看| 久久国产加勒比精品无码| 99精品视频网| 99热免费精品在线观看| 欧美三级在线播放| 你懂的网址国产 欧美| 在线精品视频在线观看高清| 国产精品美女www爽爽爽| 欧美久久久久免费| 国产精品不卡在线| 免费试看一区| 亚洲国产精品成人综合| 久久久久久**毛片大全| 久久婷婷国产麻豆91天堂| 亚洲一区免费在线观看| 国产精品久久999| 久久久久久噜噜噜久久久精品| 欧美肥婆bbw| 欧美专区在线观看一区| 欧美国产日韩一二三区| 99视频一区二区三区| 午夜亚洲一区| 欧美福利电影在线观看| 欧美绝品在线观看成人午夜影视| 欧美久久一区| 欧美成人性生活| 国产日韩在线一区二区三区|