基于Android的团建App“易聚”的设计与实现

2023-05-30 10:48谢纯刘珍丹林泽浩陈绮莉覃海云刘嘉慧
电脑知识与技术 2023年2期
关键词:移动APP

谢纯 刘珍丹 林泽浩  陈绮莉 覃海云 刘嘉慧

关键词:Android;Java;移动App;团建服务;出行管理

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2023)02-0036-03

1 概述

随着时代的进步,人们对于团建的需求和关注度呈上升趋势,相比传统的方式,人们更愿意使用服务型软件了解信息,策划出行。与此同时,互联网相关应用产品的数量却不成正比。据悉,目前青年和中年人每月至少参与一次团建,大部分人在团建过程中都有团建地点选哪里、多人游戏该怎么玩、气氛该怎么调动[1]等问题出现。而目前市场上服务于团建出行的应用产品较少且功能单一[2],用户体验不佳,无法较好地结合当下人们习惯、潮流,不能提供针对性、实质性、有效性的服务。

基于Android平台[3]开发的团建App“易聚”,将针对人们团建前的辅助规划、场地预约;团建期间的玩法攻略、社区交流,以及团建后期的统计账单、纪念收录[4]等进行全方位、一站式服务。让用户通过分析平台推荐内容、他人分享的经验和大众评价,从而制定团建方案。解决人们在团建中遇到的烦恼,构建新式自由型团建策划模式,便利团建活动的举办。

2 系统设计

2.1 功能设计

“ 易聚”App 主要有四大功能模块,相应操作如下。

行程制定模块:系统根据定位推荐团建方案,供用户选择;用户也可新建项目,自定义行程事项;同时,每个团建项目内置账本,可同步记账,统计支出,内置相册,可上传图片,保存纪念。

商城推荐模块:商城会默认推荐附近的店家与优惠套餐;用户可使用搜索框可实现快速匹配,也可在平台提前预订店家、场地,或将心仪的活动套餐添加至行程规划中。

社区推荐模块:社区给用户提供信息交流的平台,默认给用户推荐资讯;用户可在社区发表文章、评论;可对其他用户的文章和话题进行点赞、收藏。

用户管理模块:用户使用手机号码、邮箱等进行账号注册,随即登录App;在用户中心可查看个人历史项目详情、设置通用基础权限、管理个人资料、查看和操作所有订单和收藏的实体。

2.2 界面设计

2.2.1界面流程

“易聚”App的界面流程设计如图1所示。

2.2.2设计规范

页面设计使用扁平化设计,保持简洁、舒适的特点。结合团建活动的特性,选择明亮的橙色作为主色,以黄色系和红色系为辅。其中,页面基础底色仍然使用白色和灰色,页头使用线性橙黄渐变。字体统一使用黑体,按不同用途分级别使用。

2.3 数据库设计

根据软件功能与需求,建立相关的数据表以进行“增删改查”等操作,具体划分为:1)团建行程数据表;2)商品信息数据表;3)社区内容数据表;4)用户信息数据表。

3 系统实现

3.1 逻辑结构

系统使用MVC框架[5](Model-View-Controller,即“模型-视图-控制器”),其中,模型层负责业务流程处理,视图层用于用户与平台之间的交互,控制层实现对业务流程的控制、对模型层和视图层进行调度与控制。

采用C/S架构,包含客户端和服务器端[6],在An?droid Studio 开发环境下,使用Java 语言编写程序代码,使用MySQL数据库存储数据,分步实现软件相应操作。

3.2 具体功能实现

3.2.1 添加行程事项

添加行程事项功能是定制团建方案中的主要操作,主要涉及對数据的读取,通过对数据库数据的“增删改查”与显示。

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 搜索功能

向搜索框输入关键词,首先会根据输入的关键词自动补全为经常被搜索的词。

public void setAutoCompleteAdapter(ArrayAdapter

adapt-er){

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);}

设置自定义类和适配器,与数据库内数据进行匹配,显示搜索结果。

@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 定位功能

用户在使用软件时,定位不同的城市会有不同的团建方案推荐。通过添加一个定位服务和相关的权限进行定位功能实现。其中,需要对活动类MainAc?tivity,进行注册广播-初始化组件-监听操作。

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 发布评论

软件设有社区模块,搭建了用户共享、交流的平台。其中,用户在社区的评论,通过设置评论列表、适配器和监听来实现。

public void setListener(){

comment.setOnclickListener(this) ;

hide_down.setonclickListener(this);

comment_send.setonclickListener(this) ;

}

3.2.5 点赞收藏

界面设置相应图标引导,点击图标,即可实现功能,后台通过设置函数与监听,对数据进行增删操作。

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 登录注册

为使用户正常使用软件功能,用户需使用手机号码注册账号,注册时通过短信验证码,设置密码,注册成功后用其登录软件。通过运用正则表达式对电话和密码设置了一定的限制条件,注册成功后即可用绑定(注册)的手机号登录,通过数据库的增删改查判断是否登录成功。

if (password. equals(ETpassword. getText (). to?String()) ){

Toast.makeText( context: MainActivity.this, text:"登录成功",Toast.LENGTH_SHORT) . show () ;

}

else {

Toast.makeText( context: MainActivity.this,text:"手机号码或密码错误",Toast. LENGTHLSHORT) .show() ;}

4 最终效果图

“易聚”App主要功能界面如图2所示。

(a)行程制定页面(b)商城浏览页面

(c)添加行程事项(d)搜索结果列表

(c)社区评论(d)个人资料

5 结束语

结合科学技术的进步与社会经济的发展,“易聚”紧跟当下潮流,注重用户体验,利用互联网大数据技术有效解决人们在团建活动中所遇到的问题,给用户提供了优化的一站式服务,使人们的出行变得更加便捷。但时代在同步发展,新型技术与模式更迭迅速,用户体验可挖掘空间广泛,要针对不同需求的用户提供优质服务,还需根据实际情况做进一步的研究与探讨。

猜你喜欢
移动APP
信息技术环境下会计专业教学模式的构建
高校学习者对日语学习APP使用状况的研究调查
大学生利用移动APP自主学习英语的现状调查研究
移动APP在英语教学中的应用研究