謝純 劉珍丹 林澤浩 陳綺莉 覃海云 劉嘉慧
關(guān)鍵詞:Android;Java;移動App;團(tuán)建服務(wù);出行管理
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2023)02-0036-03
1 概述
隨著時(shí)代的進(jìn)步,人們對于團(tuán)建的需求和關(guān)注度呈上升趨勢,相比傳統(tǒng)的方式,人們更愿意使用服務(wù)型軟件了解信息,策劃出行。與此同時(shí),互聯(lián)網(wǎng)相關(guān)應(yīng)用產(chǎn)品的數(shù)量卻不成正比。據(jù)悉,目前青年和中年人每月至少參與一次團(tuán)建,大部分人在團(tuán)建過程中都有團(tuán)建地點(diǎn)選哪里、多人游戲該怎么玩、氣氛該怎么調(diào)動[1]等問題出現(xiàn)。而目前市場上服務(wù)于團(tuán)建出行的應(yīng)用產(chǎn)品較少且功能單一[2],用戶體驗(yàn)不佳,無法較好地結(jié)合當(dāng)下人們習(xí)慣、潮流,不能提供針對性、實(shí)質(zhì)性、有效性的服務(wù)。
基于Android平臺[3]開發(fā)的團(tuán)建App“易聚”,將針對人們團(tuán)建前的輔助規(guī)劃、場地預(yù)約;團(tuán)建期間的玩法攻略、社區(qū)交流,以及團(tuán)建后期的統(tǒng)計(jì)賬單、紀(jì)念收錄[4]等進(jìn)行全方位、一站式服務(wù)。讓用戶通過分析平臺推薦內(nèi)容、他人分享的經(jīng)驗(yàn)和大眾評價(jià),從而制定團(tuán)建方案。解決人們在團(tuán)建中遇到的煩惱,構(gòu)建新式自由型團(tuán)建策劃模式,便利團(tuán)建活動的舉辦。
2 系統(tǒng)設(shè)計(jì)
2.1 功能設(shè)計(jì)
“ 易聚”App 主要有四大功能模塊,相應(yīng)操作如下。
行程制定模塊:系統(tǒng)根據(jù)定位推薦團(tuán)建方案,供用戶選擇;用戶也可新建項(xiàng)目,自定義行程事項(xiàng);同時(shí),每個團(tuán)建項(xiàng)目內(nèi)置賬本,可同步記賬,統(tǒng)計(jì)支出,內(nèi)置相冊,可上傳圖片,保存紀(jì)念。
商城推薦模塊:商城會默認(rèn)推薦附近的店家與優(yōu)惠套餐;用戶可使用搜索框可實(shí)現(xiàn)快速匹配,也可在平臺提前預(yù)訂店家、場地,或?qū)⑿膬x的活動套餐添加至行程規(guī)劃中。
社區(qū)推薦模塊:社區(qū)給用戶提供信息交流的平臺,默認(rèn)給用戶推薦資訊;用戶可在社區(qū)發(fā)表文章、評論;可對其他用戶的文章和話題進(jìn)行點(diǎn)贊、收藏。
用戶管理模塊:用戶使用手機(jī)號碼、郵箱等進(jìn)行賬號注冊,隨即登錄App;在用戶中心可查看個人歷史項(xiàng)目詳情、設(shè)置通用基礎(chǔ)權(quán)限、管理個人資料、查看和操作所有訂單和收藏的實(shí)體。
2.2 界面設(shè)計(jì)
2.2.1界面流程
“易聚”App的界面流程設(shè)計(jì)如圖1所示。
2.2.2設(shè)計(jì)規(guī)范
頁面設(shè)計(jì)使用扁平化設(shè)計(jì),保持簡潔、舒適的特點(diǎn)。結(jié)合團(tuán)建活動的特性,選擇明亮的橙色作為主色,以黃色系和紅色系為輔。其中,頁面基礎(chǔ)底色仍然使用白色和灰色,頁頭使用線性橙黃漸變。字體統(tǒng)一使用黑體,按不同用途分級別使用。
2.3 數(shù)據(jù)庫設(shè)計(jì)
根據(jù)軟件功能與需求,建立相關(guān)的數(shù)據(jù)表以進(jìn)行“增刪改查”等操作,具體劃分為:1)團(tuán)建行程數(shù)據(jù)表;2)商品信息數(shù)據(jù)表;3)社區(qū)內(nèi)容數(shù)據(jù)表;4)用戶信息數(shù)據(jù)表。
3 系統(tǒng)實(shí)現(xiàn)
3.1 邏輯結(jié)構(gòu)
系統(tǒng)使用MVC框架[5](Model-View-Controller,即“模型-視圖-控制器”),其中,模型層負(fù)責(zé)業(yè)務(wù)流程處理,視圖層用于用戶與平臺之間的交互,控制層實(shí)現(xiàn)對業(yè)務(wù)流程的控制、對模型層和視圖層進(jìn)行調(diào)度與控制。
采用C/S架構(gòu),包含客戶端和服務(wù)器端[6],在An?droid Studio 開發(fā)環(huán)境下,使用Java 語言編寫程序代碼,使用MySQL數(shù)據(jù)庫存儲數(shù)據(jù),分步實(shí)現(xiàn)軟件相應(yīng)操作。
3.2 具體功能實(shí)現(xiàn)
3.2.1 添加行程事項(xiàng)
添加行程事項(xiàng)功能是定制團(tuán)建方案中的主要操作,主要涉及對數(shù)據(jù)的讀取,通過對數(shù)據(jù)庫數(shù)據(jù)的“增刪改查”與顯示。
ContentValues values=new Contentvalues( );
for (int i = 0; i < list.size(); i++) {
values.put( "title" ,list.get( i ).getTitle( );
values. put( "description", list. get( i ). getDescrip?tion() );
insert = dao.insert( "news" , null,values );
}
3.2.2 搜索功能
向搜索框輸入關(guān)鍵詞,首先會根據(jù)輸入的關(guān)鍵詞自動補(bǔ)全為經(jīng)常被搜索的詞。
public void setAutoCompleteAdapter(ArrayAdapter
this.mAutoCompleteAdapter = adapter;}
private class EditChangedListener implements Text?
wlatcher {
@override
public void beforeTextChanged(CharSequence charSequence, int i, int i2,int i3){
@override
public void onTextChanged(CharSequence charSe?
quence,int i, int i2,int i3) {
if(!"".equals(charSequence.tostring())){
ivDelete.setVisibility(VISIBLE);
lvTips.setVisibility(VISIBLE);
if(mAutoCompleteAdapter ! = null 8& lvTips. get?Adapter() != mAutoCompleteAdapter){
lvTips.setAdapter(mAutoCompleteAdapter);}
設(shè)置自定義類和適配器,與數(shù)據(jù)庫內(nèi)數(shù)據(jù)進(jìn)行匹配,顯示搜索結(jié)果。
@Override
public void onSearch(String text) {
getResultData(text);
lvResults.setVisibility(View.VISIBLE);
if (lvResults.getAdapter( == null){
lvResults.setAdapter(resultAdapter);}
else {
resultAdapter. notifyDatasetChanged();}
Toast.makeText( context: this,text:"完成搜索",Toast.LENGTH_SHORT) . show();
Intent intent = new Intent( packageContext:MainAc?tivity.this,MainAenuActivity.class);
intent . putExtra( name: "caiming " ,text.toString());
stantActivity(intent);}
3.2.3 定位功能
用戶在使用軟件時(shí),定位不同的城市會有不同的團(tuán)建方案推薦。通過添加一個定位服務(wù)和相關(guān)的權(quán)限進(jìn)行定位功能實(shí)現(xiàn)。其中,需要對活動類MainAc?tivity,進(jìn)行注冊廣播-初始化組件-監(jiān)聽操作。
public class MainActivity extends Activity {
private Button mLocationBtn ;
private Textview mCityNameTv ;
public static final string LOCATION_BCR = "loca?tion_bcr";
@override
protected void oncreate( Bundle savedInstances?tate){
super.onCreate(savedInstanceState) ;
setcontentview(R.layout.activity_main) ;
registerBroadcastReceiver() ;
initview() ;
initListen () ;})
3.2.4 發(fā)布評論
軟件設(shè)有社區(qū)模塊,搭建了用戶共享、交流的平臺。其中,用戶在社區(qū)的評論,通過設(shè)置評論列表、適配器和監(jiān)聽來實(shí)現(xiàn)。
public void setListener(){
comment.setOnclickListener(this) ;
hide_down.setonclickListener(this);
comment_send.setonclickListener(this) ;
}
3.2.5 點(diǎn)贊收藏
界面設(shè)置相應(yīng)圖標(biāo)引導(dǎo),點(diǎn)擊圖標(biāo),即可實(shí)現(xiàn)功能,后臺通過設(shè)置函數(shù)與監(jiān)聽,對數(shù)據(jù)進(jìn)行增刪操作。
function addUsercollection(infoId, userID, info?Type){
$.ajax({
type: "POST",
url: " /user / AddShouCang",
data: { "infoId": infoId,"userID": userID,"Info?
Type": infoType,"ActionType":""},
dataType: "json",
success: function (data) {
if (data.code){$(""#Sctxt" ).text('取消收藏');}
else {$(""#sctxt" ).text("收藏");}
}
})
3.2.6 登錄注冊
為使用戶正常使用軟件功能,用戶需使用手機(jī)號碼注冊賬號,注冊時(shí)通過短信驗(yàn)證碼,設(shè)置密碼,注冊成功后用其登錄軟件。通過運(yùn)用正則表達(dá)式對電話和密碼設(shè)置了一定的限制條件,注冊成功后即可用綁定(注冊)的手機(jī)號登錄,通過數(shù)據(jù)庫的增刪改查判斷是否登錄成功。
if (password. equals(ETpassword. getText (). to?String()) ){
Toast.makeText( context: MainActivity.this, text:"登錄成功",Toast.LENGTH_SHORT) . show () ;
}
else {
Toast.makeText( context: MainActivity.this,text:"手機(jī)號碼或密碼錯誤",Toast. LENGTHLSHORT) .show() ;}
4 最終效果圖
“易聚”App主要功能界面如圖2所示。
(a)行程制定頁面(b)商城瀏覽頁面
(c)添加行程事項(xiàng)(d)搜索結(jié)果列表
(c)社區(qū)評論(d)個人資料
5 結(jié)束語
結(jié)合科學(xué)技術(shù)的進(jìn)步與社會經(jīng)濟(jì)的發(fā)展,“易聚”緊跟當(dāng)下潮流,注重用戶體驗(yàn),利用互聯(lián)網(wǎng)大數(shù)據(jù)技術(shù)有效解決人們在團(tuán)建活動中所遇到的問題,給用戶提供了優(yōu)化的一站式服務(wù),使人們的出行變得更加便捷。但時(shí)代在同步發(fā)展,新型技術(shù)與模式更迭迅速,用戶體驗(yàn)可挖掘空間廣泛,要針對不同需求的用戶提供優(yōu)質(zhì)服務(wù),還需根據(jù)實(shí)際情況做進(jìn)一步的研究與探討。