ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:331.12KB ,
资源ID:6591088      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6591088.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计报告3824141.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计报告3824141.docx

1、数据结构课程设计报告3824141(此文档为word格式,下载后您可任意编辑修改!)课 程 设 计 报 告Android平台手机的应用软件一、设计任务与目标设计要求:Android手机用户可以通过手机浏览自己所需要查看的饭店信息。当用户注册成为本软件的注册用户后,除了对饭店进行搜索以外还可以对饭店进行评价和利用本软件内嵌的Google Map查询饭店的具体位置和行车路线本系统为用户提供以下功能:1.对不同需求人群的餐饮查找,查找方式分为热点地区、用餐目的、菜系、地标建筑、热门菜。2.用户通过查询可了解到饭店以及饭菜的具体信息,包括饭店地址、电话、菜系、环境风格、包间数量。3.用户可通过软件中内

2、嵌的Map进行饭店地址、行车路线的具体查询。4.用户通过登录系统后对饭店进行评价。系统的开发方法总结如下:(1) 调查,了解各个场所与 场所或者是各个景点与景点之间的信息,路径和距离,从外来人员或者参观者和走访者的角度出发,该如何设计才能满足用户需求。(2) 分析,对调查得到的数据进行分析,根据其要求实现的功能分析系统结构和界面将实现的基本功能。(3) 设计与开发,设计系统界面并编辑实现其各个功能的代码。(4) 调试,在设计完成后,调试系统运行的状况,修改完善系统,然后进行测试。二、方案设计与论证为了更加清晰地表达系统的业务功能模块,画出用例图,对于不同的角色,所承担的任务各自不同,功能不一样

3、,如图3-2-1 客户端游客用例图、图3-2-2 客户端用户用例图、图3-2-3 管理端用例图:图3-2-1 客户端游客用例图图3-2-2 客户端用户用例图图3-2-3 管理端用例图3.3 解决方案应用软件的定位是一个“北京美食搜索”,是一个通过网络的搜索引擎。据以上分析,该系统的架构如图 3-3 系统构架图:图 3-3 系统构架图三、算法说明(一)根据需求分析和用例分析,该系统的数据库可以有以下实体构成:用户信息 id、名字、密码、昵称、手机号、权限、创建时间、饭店餐厅评论信息 id、餐厅id、评论内容、发出评论id、评论时间餐厅信息 Id、餐厅名字、餐厅地址、餐厅电话、人均消费、营业时间、

4、停车位、行车路线、能否刷卡、无折扣项、注意事项餐厅设备信息 id、餐厅id、营业面积、无烟区、能否刷卡、大厅座位、小包数、中包数、大包数服务项目 id、餐厅id、自助餐、能否包场、能分餐、团餐要求菜价信息 id、餐厅id、菜名、价格地铁沿线 id、地铁线名、地名、北纬、东经所有商区 id、城区、地名、北纬、东经菜 系 id、菜系、菜名热 门 菜 id、菜名地标建筑 id、城区、地名、地标名字、北纬、东经热点地区 id、地名、北纬、东经用餐目的 id、目的分类实体-关系模型系统的实体-关系模型如图4-4-6所示:图4-4-6 实体-关系模型图(二)主要算法设计及相关算法补充先创建图存储各个景点或

5、场所,以图的顶点表示景点或场所,以边表示路径,再利用算法求出各个地方的最短路径,然后根据需要进行补充相关算法。四、全部源程序清单* * 登录方式 * 用户填好登录信息后,点击登录发送给服务器登录信息 * * 当服务器接受并确认登录信息后,直接进行登录操作,并返回给手机端这边登录成功否标识 * * 手机端这边判断登录成功否标识是否为成功标识,若是则将 mark.USERNAME 改为用户昵称,并提示“登录成功”,若否则提示“登录失败” * *点击不同的查找方式 *-点击按地标时,跳转到 *package com.food;import java.io.BufferedReader;import

6、java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.HashMap;import org.apache.;import org.apache.JSONException;import org.json.JSONObject;import android.app.Activity;import android.app.AlertDialog;import android

7、.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;import android.widget.Simple

8、Adapter;import android.widget.TextView;import android.widget.Toast;public class start extends Activity TextView usernickname; TextView landmark; TextView login; Button register; Button search; EditText searchEdite; ListView list; Override public void onCreate(Bundle savedInstanceState) super.onCreat

9、e(savedInstanceState); setContentView(R.layout.start); setTitle(掌握美食); usernickname = (TextView) this.findViewById(R.id.usernickname); landmark = (TextView) this.findViewById(R.id.landmark); =(Button)this.findViewById(R.id.login); register=(Button)this.findViewById(R.id.register); search=(Button)thi

10、s.findViewById(R.id.search); searchEdite=(EditText)this.findViewById(R.id.searchEdite); list = (ListView)this.findViewById(R.id.listView); usernickname.setText(mark.NICKNAME);设置用户默认昵称为“游客”或者已登录用户昵称 点击当前用户名的时候若为“游客模式”者显示当前为游客模式请先登录 若为“用户模式”则跳转到用户基本信息界面 usernickname.setOnClickListener(new View.OnClick

11、Listener() Override public void onClick(View v) if(mark.NICKNAME=游 客) Toast.makeText(getApplication(), 当前为游客模式+n+请先登录, Toast.LENGTH_SHORT).show(); else Intent it = new Intent(start.this,userInformation.class); startActivity(it); ); * * 获得服务中饭店查询排行榜 * * 向服务器发送数据searchNum(searchNum = usernickname)获得饭店

12、查询排行榜 并显示出 * * 接受服务器的信息由searchnum 获得是否成功标识 * num 获得饭店总数 * restaurantname+i 获得饭店名 * (i为0-9,例如restaurantName1、restaurantName2) * if(mark.ifn = 1) String searchNum = searchNum; 发送请求 HttpClient = new UrlEncodedFormEntity( nvps, gbk); ); catch (UnsupportedEncodingException e1) TODO Auto-generated catch b

13、lock e1.printStackTrace(); 接受数据 final ArrayListHashMap searchlist = new ArrayListHashMap(); try HttpResponse response = = new JSONObject(sb.toString(); mark.SERVERSEARCHNUM = json.getString(searchnum); 获得是否成功标识 String nums = json.getString(num); 获得饭店总数 int num=Integer.parseInt(nums); 将饭店查询次数转换成整形 in

14、t num =json.getInt(num); for(int i = 1 ; i = num ; i+) HashMap map = new HashMap(); String name = restaurantname + i; map.put(searchNum,json.getString(name); searchlist.add(map); catch (JSONException e) TODO Auto-generated catch block e.printStackTrace(); catch (ClientProtocolException e) TODO Auto-

15、generated catch block e.printStackTrace(); catch (IOException e) TODO Auto-generated catch block e.printStackTrace(); _ SimpleAdapter adapter = new SimpleAdapter( start.this, searchlist, R.layout.item, new String searchNum,new int R.id.ItemTitle); list.setAdapter(adapter); - * * 判断用户模式 若为游客模式执行登录 1.

16、将用户状态标识改为注册用户模式 2.将昵称改为注册用户名 3.并将“登录”Button改为“登出” 若为注册用户模式即进行登出操作 1.将用户状态标识改为游客模式 2.将昵称改为游客 3.并将“登出”Button改为“登录” * 注册用户登录服务器 * * 向服务器发送数据username和password * * 接受服务器的信息由userinout 获得是否成功标识 * nickname 获得用户昵称 * * 登录成功后将“登录”Button改为“登出” * * login.setOnClickListener(new OnClickListener() Override public v

17、oid onClick(View arg0) 判断用户模式 若为游客模式执行登录 1.将用户状态标识改为注册用户模式 2.将昵称改为注册用户名 3.并将“登录”Button改为“登出” 若为注册用户模式即进行登出操作 1.将用户状态标识改为游客模式 2.将昵称改为游客 3.并将“登出”Button改为“登录” if(mark.USERIN = mark.REGISTERUSERIN) mark.USERIN = mark.TOURISTIN; 将用户状态标识改为游客模式 mark.NICKNAME = 游客; 将昵称改为游客 login.setText(登录); 将“登出”Button改为“登

18、录” Toast.makeText(getApplication(), 用户退出!, Toast.LENGTH_SHORT).show(); return ; LayoutInflater factory = LayoutInflater .from(start.this); final View textEntryView = factory.inflate( R.layout.login, null); final TextView username = (TextView) textEntryView.findViewById(R.id.username_edit); final Tex

19、tView password = (TextView) textEntryView.findViewById(R.id.password_edit); AlertDialog dlg = new AlertDialog.Builder( start.this).setTitle(用户登录) .setView(textEntryView).setPositiveButton(登录, new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int whichButton) if(mark.i

20、fn = 1) 发送请求 HttpClient = new UrlEncodedFormEntity( nvps, gbk); ); catch (UnsupportedEncodingException e1) TODO Auto-generated catch block e1.printStackTrace(); 接受数据 final ArrayListHashMap mylist = new ArrayListHashMap(); try HttpResponse response = = new JSONObject(sb.toString(); mark.USERINOUT = j

21、son.getString(userinout); 获得是否成功标识 mark.NICKNAME = json.getString(nickname); 获得用户昵称 判断是否登录成功 if (mark.USERINOUT.equals(mark.SUCESS) mark.USERIN = mark.REGISTERUSERIN; 设置登录状态为注册用户状态 设置用户昵称 usernickname.setText(mark.NICKNAME); 设置显示昵称为当前用户昵称 login.setText(登出); 将“登录”Button改为“登出” mark.USERNAME = username

22、.getText().toString(); 标识用户名 Toast.makeText(getApplication(), 登录成功!, Toast.LENGTH_SHORT).show(); else Toast.makeText(getApplication(), 登录失败!, Toast.LENGTH_SHORT).show(); HashMap map = new HashMap(); String nnname1 =mark.NICKNAME; setTitle(nnname1); String nnname2 = json.getString(nickname2); for(int

23、 i = 1 ; i 3 ; i +) String ii = nickname+i; map.put(e,json.getString(ii) ); mylist.add(map); - HashMap map = new HashMap(); map.put(e,mark.USERINOUT ); map.put(e,mark.NICKNAME ); mylist.add(map); or()- catch (JSONException e) TODO Auto-generated catch block e.printStackTrace(); catch (ClientProtocol

24、Exception e) TODO Auto-generated catch block e.printStackTrace(); catch (IOException e) TODO Auto-generated catch block e.printStackTrace(); _ SimpleAdapter adapter = new SimpleAdapter( start.this, mylist, R.layout.item, new String e,new int R.id.ItemTitle); list.setAdapter(adapter); - ).setNegativeButton(返回, new DialogInterface.OnClickListener() Override public void onClick(DialogInterface dialog, int which) * User clicked cancel so d

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1