APP下载

基于Android的畅游之家App开发

2021-11-27张思进李佳莫伟健

科技资讯 2021年25期

张思进 李佳 莫伟健

DOI:10.16661/j.cnki.1672-3791.2109-5042-3943

摘  要:随着互联网技术飞速发展,在此基础上的旅游业也出现了许多新模式,畅游之家App提供个性化的定制平台,普通大众能够有效地控制价格,简单的“套餐式”旅游服务专门为没有做攻略的用户提供适合自身的旅游线路,该App采用Android Studio在Windows平台上基于Android 6.0操作系统以及SQLite、JDK 8集成环境使用面向对象的语言Java编译语言,最终由主页、定制、行程这3个主界面功能模块以及登录注册界面功能模块构成。该App界面整洁,使用起来简单方便。

关键词:定制旅游   Android  App   Android Studio   SQLite

中图分类号: TP311.56                    文献标识码:A文章编号:1672-3791(2021)09(a)-0017-06

Changyouzhijia App Development Based on Android

ZHANG Sijin   LI Jia*    MO Weijian

(Guangzhou Xinhua University, Dongguan, Guangdong Province, 523133 China)

Abstract: With the rapid development of Internet technology, many new models have emerged in the tourism industry on this basis. Changyouzhijia App provides a personalized customized platform, and the ordinary people can effectively control prices. The simple "package" tourism service provides suitable tourism routes for users who do not have strategies. This App uses Android Studio on the Windows platform based on the Android 6.0 operating system and the SQLite and JDK 8 integrated environment. It uses the object-oriented language java to compile the language, and finally composed of three main interface function modules: home page, customization and travel, as well as login and registration interface function modules. The App interface is neat and easy to use.

Key Words: Customized tourism; Android; App; Android Studio; SQLite

随着疫情的缓和,越来越多的人选择了出门旅游,同时随着旅游需求的大众化、普遍化和多样化,旅游消费结构、产品结构也正在发生重大变化[1-2],细致入微的观光、感悟体验、休闲度假等旅游消费和产品供给都在快速增长。“全域旅游”“大旅游时代”等概念的提出[3],推动“携程”“小红书”等各种基于移动终端的文化旅游开放平台迅速崛起。旅游者们在终端平台订票、订酒店、查路线、查攻略,为旅游者们带来了极大的便利[3]。而该App将以上两款软件很好地结合并实现“攻略路线+订票”。

该软件使用的技术有面向对象的Java语言编程、SQLite、SQLiteOpenHelper、Android SDK、UI框架。

1  程序功能设计

1.1 程序介绍

该软件设计将Android studio作为开发平台,各部分内容使用Android SDK,每个界面设计使用UI框架在layout的xml文件内,Java作为后台开发语言,使用SQLiteOpenHelper技术连接Android studio中自带的SQLite数据库进行数据的存储,结合百度地图的API接口进行开发。该App由账号模块、侧滑页面模块、主页推送模块、定制模块以及行程模块组成,实現登录、注册账号、找回密码、用户详细信息、检索用户搜索的城市和预算进行路线的生成、将生成的路线用百度地图显示出来等功能。具体功能如图1所示,源代码结构如图2所示。

1.2 数据库设计

该软件使用Android studio内嵌的SQLite数据库进行用户账号密码以及定制界面数据的存储,用户可以对自己的账号可以进行增、改操作,定制界面将会在数据库中录入已有的数据,用户对城市名字进行检索时会调用数据库里对于的城市并将该城市的旅游路线显示出来,相当于用户对数据库的查询操作。该模块的部分数据库创建代码如下。

public class DBHelper extends SQLiteOpenHelper {

public DBHelper(Context context, String name, CursorFactory factory,

int version) {

super(context, name, factory, version);

// TODO Auto-generated constructor stub

}

@Override

public void onCreate(SQLiteDatabase sqLiteDatabase) {

// TODO Auto-generated method stub

String sql = "create table user(id integer primary key autoincrement,name varchar(20),password varchar(20),sex varchar(2),hobby varchar(20),birth varchar(20),city varchar(20))";

sqLiteDatabase.execSQL(sql);

}

public void addData(SQLiteDatabase sqLiteDatabase,String name,String password,String sex,String hobby,String birth,String city){

ContentValues values = new ContentValues();

values.put("name", name);

values.put("password", password);

values.put("sex", sex);

values.put("hobby", hobby);

values.put("birth", birth);

values.put("city", city);

sqLiteDatabase.insert("user", null, values);

}

@Override

public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {

// TODO Auto-generated method stub

}

}

2  界面功能实现

2.1 登录界面

用户登录注册是每个软件必不可少的一部分[5],该界面使用一层嵌套LinearLayout,外部为整个界面框架,内部则为按钮的布局,界面设计见图3,用户的注册后会将数据存入SQLite内,注册界面见图4,方便用户再次使用[5-6],在Java文件内编写功能逻辑且设置用户输入时为不为空,若输入为空或者用户名、密码不正确时用Tosat()方法分别弹出“不能输入为空”“用户名不正确”“密码不正确”的信息提醒用户重新对其进行输入,输入用户名、密码都正确时点击登录时会弹出“登录成功”并跳转到activity_main界面。由此实现该界面的登录注册功能。

2.2 主页界面

在侧滑界面放置主要的功能按钮,点击对应的按钮则跳转到对应的功能界面[7],具体情况见图5,点击主页按钮跳转到主页界面,主页界面见图6,主页界面主要框架用LinearLayout布局,由于LinearLayout所需要的数据较少,可直接采用静态加载数据[4],在设置子控件属性的时候,用ImageView和TestView给予用户浏览当前最热门的地方和其他用户发表的攻略路线。在Java文件中使用GridLayoutManager里的setSpanSizeLookup方法点击其中一个内容,则会跳转到相关activity界面进行介绍。

2.3 定制界面

在侧滑界面点击定制,则会跳转到定制的第一个界面,TextInputLayout控件会提示用户输入一个的城市和所需要的经济预算,具体情况见图7,点击搜索后会连接SQLite数据库,用户在需要获取该类的对象时,需要自定义类继承自SQLiteOpenHelper类,并实现其中的onCreate(SQLiteDatabase)onUpgrade(SQLiteDatabase,int,int)方法,可以选择性地实现 onOpen(SQLiteDatabase)。这个类会自动帮助用户在需要时打开数据库,在不存在时创建数据库,在必要时更新数据库。已有的城市信息和经济预算相结合相当于数据库的条件查询语句,条件为城市和经济预算,查询成功后会跳转到第二个定制界面显示出相關信息如图8所示,该界面上方有3个分栏分别为:攻略计划、机票预订、酒店预订,在xml文件主要用RelativeLayout布局,在Java文件编写SlidePagerAdapter.java适配器,Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带[8]。机票预订和酒店预订的信息填写后数据会分别储存在SQLite的PlaneBook表和HotelBook表中。

2.4 行程界面

行程界面相当于一个导航,用户输入一个地方会出现该地方的特色景点,具体情况见图9,点击则会出现该地方的详细介绍,具体情况见图10,该界面的实现首先是百度地图API的获取访问网站,便可进行获取相应的产品以及下载相关SDK和申请key、SHA1等信息,在Android Studio创建应用,使用已有的功能清单文件所需权限,使用BaiduMap.OnMapClickListener地图单击事件监听接口,首先在布局文件添加mapview,接着在Java文件的MainActivity文件里面添加使用即可实现地图点击呈现详细信息。

3  系统调试

3.1 SQLite数据库调试

使用DOS窗口并且运用数据库查询语句查询所有表查看是否创建成功,具体情况见图11。

3.2 百度地图API调试

在AndroidManifest.xml中加入相对应的权限xml文件,在百度开发平台上就能看到用户使用的次数等信息,具体情况见图12。

4  结语

该文设计并实现了一个基于Android的定制游App,当前疫情的影响让很多人在去旅行前没有很好地进行规划,开发畅游之家App能够让更多的人真正体会到旅游是在享受,而不是在浪费时间和金钱,从而达到时间不浪费,金钱不白花的目的。

参考文献

[1] 印伟.旅游度假区的地方行政立法研究[J].中南林业科技大学学报:社会科学版,2016,10(6):89-92.

[2] JIA Z Y,LI D,HE F Z.Analysis and Reviews on Tourism and Travel Mobile Apps of China[C]//6th International Conference on EMCM,2016:62-66.

[3] 江中宇,常峻溪,朱继军,等.基于软件定义网络的流量工程[J].科技创新导报,2020,17(20):117-119.

[4] 张清.基于Android的个人健康助理系统的设计与实现[J].信息与电脑:理论版,2021,33(6):103-105.

[5] 窦海娥,王永虎,杨广红.基于移动终端的旅游集散地App界面设计[J].设计,2018(20):134-136.

[6] 青幼蕾,谭妙,童强,等.基于Android的旅游服务App开发[J].电子测试,2021(4):56-58,92.

[7] 葛凯,马驰,陈威,等.基于PLC的周抛机的控制系统[J].建材世界,2021,42(1):4.

[8] 李国梁.基于移动终端的林业巡护系统研究与实现[D].西安:西安理工大学,2016:55.