1、(3) 设计与开发,设计系统界面并编辑实现其各个功能的代码。(4) 调试,在设计完成后,调试系统运行的状况,修改完善系统,然后进行测试。二、方案设计与论证为了更加清晰地表达系统的业务功能模块,画出用例图,对于不同的角色,所承担的任务各自不同,功能不一样,如图3-2-1 客户端游客用例图、图3-2-2 客户端用户用例图、图3-2-3 管理端用例图:图3-2-1 客户端游客用例图图3-2-2 客户端用户用例图图3-2-3 管理端用例图3.3 解决方案应用软件的定位是一个“北京美食搜索”,是一个通过网络的搜索引擎。据以上分析,该系统的架构如图 3-3 系统构架图:图 3-3 系统构架图三、算法说明(
2、一)根据需求分析和用例分析,该系统的数据库可以有以下实体构成:用户信息 id、名字、密码、昵称、手机号、权限、创建时间、饭店餐厅评论信息 id、餐厅id、评论内容、发出评论id、评论时间餐厅信息 Id、餐厅名字、餐厅地址、餐厅电话、人均消费、营业时间、停车位、行车路线、能否刷卡、无折扣项、注意事项餐厅设备信息 id、餐厅id、营业面积、无烟区、能否刷卡、大厅座位、小包数、中包数、大包数服务项目 id、餐厅id、自助餐、能否包场、能分餐、团餐要求菜价信息 id、餐厅id、菜名、价格地铁沿线 id、地铁线名、地名、北纬、东经所有商区 id、城区、地名、北纬、东经菜 系 id、菜系、菜名热 门 菜
3、id、菜名地标建筑 id、城区、地名、地标名字、北纬、东经热点地区 id、地名、北纬、东经用餐目的 id、目的分类实体-关系模型系统的实体-关系模型如图4-4-6所示:图4-4-6 实体-关系模型图(二)主要算法设计及相关算法补充先创建图存储各个景点或场所,以图的顶点表示景点或场所,以边表示路径,再利用算法求出各个地方的最短路径,然后根据需要进行补充相关算法。四、全部源程序清单/* * 登录方式 * 用户填好登录信息后,点击登录发送给服务器登录信息 * * 当服务器接受并确认登录信息后,直接进行登录操作,并返回给手机端这边登录成功否标识 * 手机端这边判断登录成功否标识是否为成功标识,若是则将
4、 mark.USERNAME 改为用户昵称,并提示“登录成功”,若否则提示“登录失败” * *点击不同的查找方式 *-点击按地标时,跳转到 */package com.food;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.HashMap;import org.apache.http.Ht
5、tpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;im
6、port org.apache.http.message.BasicNameValuePair;import org.json.JSONException;import org.json.JSONObject;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.view.LayoutInflater;import
7、android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.TextView;import android.widget.Toast;public class start extends Activity TextView usernickna
8、me; TextView landmark; TextView hotSpace; TextView allCityProper; TextView dinnerTarget; TextView subway; TextView allDish; TextView hotDish; public static Button login; Button register; Button search; EditText searchEdite; ListView list; Override public void onCreate(Bundle savedInstanceState) supe
9、r.onCreate(savedInstanceState); setContentView(R.layout.start); setTitle(掌握美食); usernickname = (TextView) this.findViewById(R.id.usernickname); landmark = (TextView) this.findViewById(R.id.landmark); hotSpace = (TextView) this.findViewById(R.id.hotSpace); allCityProper = (TextView) this.findViewById
10、(R.id.allCityProper); dinnerTarget = (TextView) this.findViewById(R.id.dinnerTarget); subway = (TextView) this.findViewById(R.id.subway); allDish = (TextView) this.findViewById(R.id.allDish); hotDish = (TextView) this.findViewById(R.id.hotDish); login=(Button)this.findViewById(R.id.login); register=
11、(Button)this.findViewById(R.id.register); search=(Button)this.findViewById(R.id.search); searchEdite=(EditText)this.findViewById(R.id.searchEdite); list = (ListView)this.findViewById(R.id.listView); usernickname.setText(mark.NICKNAME);/设置用户默认昵称为“游客”或者已登录用户昵称 /点击当前用户名的时候若为“游客模式”者显示当前为游客模式请先登录 /若为“用户模
12、式”则跳转到用户基本信息界面 usernickname.setOnClickListener(new View.OnClickListener() 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); ); /* * 获
13、得服务中饭店查询排行榜 * * 向服务器发送数据searchNum(searchNum = usernickname)获得饭店查询排行榜 并显示出 * 接受服务器的信息由searchnum 获得是否成功标识 * num 获得饭店总数 * restaurantname+i 获得饭店名 * (i为0-9,例如restaurantName1、restaurantName2) */ if(mark.ifn = 1) String searchNum = searchNum; /发送请求 HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(mark.SERVERSEARCHNUM); ArrayList nvps = new ArrayList();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1