常丹妮+何君+王佩+劉展+許夢田+童亞拉
摘 要:目前國內市場旅游軟件,本文開發了一款基于安卓的“行·走”APP客戶端。技術主要有XML、SQLite數據庫和LBS位置服務等,功能分為登錄注冊模塊、GPS定位模塊、游記模塊、個人中心模塊等,基本實現了軟件的各個功能。調試運行的結果表明,該系統運行正常,人機界面交互性較好。
關鍵詞:Android平臺;旅游APP;地圖定位;游記;GPS
目前旅行越來越成為人們假期休閑娛樂的必然選擇,在QQ動態、朋友圈里曬游記也成為時尚,但大部分放棄了文字,偏向于照片,使游記過于空洞。國內旅游類APP記錄類軟件就是記事本,如小米便簽、加密日記等,其主要特點是界面簡單,功能單一,不能插入圖片等[1]。針對此現狀,本文基于Android設計一款手機APP,為用戶提供一個專門用來寫游經,為喜歡曬旅行的朋友創建一個回憶的平臺。
1 相關技術及開發運行環境
1.1 Android系統
Android系統由操作系統、用戶界面和應用程序組成,提供了一套開源的手機終端解決方案[2],為軟件開發人員提供了大量的使用庫和工具:Http類、Android shell類、文件類、JSONUtils類、Map類、Object類等,軟件開發人員利用使用庫和工具類可快速創建應用程序[3]。
1.2 Android中的數據存儲
SQLite是Android自帶的關系型數據庫,是專門為嵌入式設備打造的基于文件的輕量型數據庫,每個 Android 應用程序都可以直接使用 SQLite 數據庫,不需要導入操作。本文利用第三方類庫Afinal來操作Android自帶庫SQLite[4][5]。
2 “行·走”APP的設計與實現
2.1 軟件系統構成模塊
會員功能 用戶注冊為系統會員;會員信息管理功能,登錄后可在個人中心進行信息管理,查看旅行記錄;
定位功能 用戶登錄后,彈出對話框是否定位,選擇定位后,顯示當前具體位置;
查閱功能 進入個人中心后顯示全部旅行記憶;
增刪功能 這是本軟件的特色,用戶可在上傳的游記上修改,隨時記錄隨時上傳。
2.2 APP的功能設計與實現
本系統采用TabLayout + ViewPager + Fragment結構,這是系統的核心組件。鑒于文章篇幅,僅闡述記錄游記功能的設計與實現。
(1)開發XML界面布局,主要由res/layout目錄下的activity_daily.xml文件實現,寫游記頁面則由主頁面(activity_main.xml)切換過來。
(2)記錄游記的實現通過src目錄下的com.rose.travels.log包實現,WriteTourDailyActivity.java文件用來顯示游記,當用戶在主界面點擊寫游記按鈕,進程跳轉到寫游記頁面,核心代碼如下:
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_daily); findViews();
tvTime.setOnClickListener(new OnClickListener()
public void onClick(View arg0) {
CanlenderDialogUtil.showDataSelecterDialog(getSupportFragmentManager(), new ISelectDayCallBack() {@Override public void getSelectedDay(String day,long timpStamp) { tvTime.setText(day);timeStr = day; } },true);
protected void doSaveWork() {
DailyBean bean = new DailyBean();
bean.setName(etDailyName.getText().toString());
bean.setContent(etContent.getText().toString());
bean.setAddress(etAddress.getText().toString());
bean.setDate(timeStr);
OrientApplication.getInstance().db.save(bean);
ToastUtil.shortShow(“保存成功”);finish();}
noScrollgridview = (GridView) findViewById(R.id.noScrollgridview);
noScrollgridview.setSelector(new ColorDrawable(Color.TRANSPARENT));
adapter = new GridAdapter(this); adapter.update();
noScrollgridview.setAdapter(adapter);
noScrollgridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
if (arg2 == Bimp.bmp.size()) { new PopupWindows(PublishedActivity.this, noScrollgridview);} else {Intent intent = new Intent(PublishedActivity.this, PhotoActivity.class);
intent.putExtra(“ID”, arg2);startActivity(intent);
3 結束語
在對國內外同類手機軟件分析的基礎上,根據曬游記需求進行了功能文壇分析,結合安卓系統開發的系統結構框架和五大應用組件,探討了“行走”APP前端界面如何實現交互,編程如何實現功能等,上線效果良好。但本軟件仍存在一些不足,如GPS的應用僅僅局限于定位當前位置,不能實現導航,甚至路線分享,這是尚須改進之處。
參考文獻
[1]胡霞.Android版某記事本旅游記憶模塊的設計與實現[D].北京交通大學.2013.
[2]王雅寧.輕松學Android開發[M].北京:電子工業出版社.2013.
[3]葉達峰.Eclipse編程技術與實例[M].北京:人民郵電出版社.2012.
[4]Paul POCATILU. Developing Mobile Learning Applications for Android using web Services[J].Informatica Economica.2010.
[5]尹京花、王華軍.基于安卓開發的數據存儲[J].數字通信.2012.
通訊作者
童亞拉(1966-),女,湖南桃源人,教授,博士,湖北工業大學理學院,研究方向:智能計算,復雜網絡。