码迷,mamicode.com
首页 > 其他好文 > 详细

团队作业—第四周—面向对象程序设计

时间:2015-06-14 22:38:51      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

GitHub代码地址:

代码:https://github.com/zyc8023/Ivan/blob/master/MainActivity.java

清单文件:https://github.com/zyc8023/Ivan/blob/master/AndroidManifest.xml

布局文件:https://github.com/zyc8023/Ivan/blob/master/activity_main.xml

 

产品设计方案

3.1  方案流程


根据需求分析,对产品方案进行分解划分,并预留了升级接口和扩展字段,以方便今后需求的删减。为此我们制定了详细的产品实现的流程。每个环节都可以参与进来。任何一个产品实现的过程中有意见,我们都可以进行修改。详细产品实现流程请见下图:

技术分享  

3.2  功能设计

3.2.1  App应用总体框架图

暂时略

3.2.2 各类功能介绍

  1. 定位功能:定位当前位置
  2. 路线规划功能:根据用户交互输入的需求,给出去用户指定医院的公交路线或者自驾路线(含有是否交通拥挤状况)。
  3. 在线推荐功能:根据用户交互输入的需求,给出推荐的几家优秀的医院。
  4. 在线挂号功能:建立用户和医院的桥梁,实现网上挂号。
  5. 在线寻求专家功能:可以根据用户的需求,推荐指定的医生、专家,为用户做出相应的指导。
  6. 在线购药功能:借用互联网的电子商务功能实现药品在线销售。
  7. 病例申请:用户可以填写信息,一张病例,所有医院共用。
  8. 远程控制功能:物联网的发展趋势,跟多的医疗硬件与app相结合,实现远程控制和只能操作。GSM    SMS(短信发送器)

3.2.3  购物车

      已购药品:显示物品名称、物品单价、总共价格、编辑数量、添加删除药品

      确认订单:等待用户的确认支付。

3.2.4  我的订单

      在用户支付之后,自动生成订单,供用户浏览和其他功能的使用,如退订等功能。

3.2.5  活动(医保卡)

      优惠活动:你懂得。

3.2.6支付

      支付宝、银联和微信支付

3.3  交互设计

      交互简洁清晰,突出核心功能。

可以提出的App产品的界更具体的面需求。(风格、颜色)

3.4  界面设计

      符合的VI设计。

       VI全称Visual Identity, 即企业VI视觉设计,通译为视觉识别系统。是将CI的非可视内容转化为静态的视觉识别符号。设计到位、实施科学的视觉识别系统,是传播企业经营理念、建立企业知名度、塑造企业形象的快速便捷之途。企业通过VI设计,对内可以征得员工的认同感,归属感,加强企业凝聚力,对外可以树立企业的整体形象,资源整合,有控制的将企业的信息传达给受众,通过视觉符码,不断的强化受众的意识,从而获得认同。VI为企业CIS中的一部分,企业CI包含三个方面。分为BIMIVI,三方面为行为识别,企业理念识别和视觉识别

可以提出的App产品的界更具体的面需求。(风格、颜色)

3.5  定制平台

      暂时只有Android平台

 

部分代码展示:

  1 package com.example.hellomap;
  2 
  3 import java.util.List;
  4 
  5 import com.baidu.mapapi.SDKInitializer;
  6 import com.baidu.mapapi.map.BaiduMap;
  7 import com.baidu.mapapi.map.BitmapDescriptor;
  8 import com.baidu.mapapi.map.BitmapDescriptorFactory;
  9 import com.baidu.mapapi.map.MapView;
 10 import com.baidu.mapapi.map.MarkerOptions;
 11 import com.baidu.mapapi.map.OverlayOptions;
 12 import com.baidu.mapapi.model.LatLng;
 13 import com.baidu.mapapi.overlayutil.PoiOverlay;
 14 import com.baidu.mapapi.search.core.PoiInfo;
 15 import com.baidu.mapapi.search.core.SearchResult;
 16 import com.baidu.mapapi.search.poi.OnGetPoiSearchResultListener;
 17 import com.baidu.mapapi.search.poi.PoiBoundSearchOption;
 18 import com.baidu.mapapi.search.poi.PoiCitySearchOption;
 19 import com.baidu.mapapi.search.poi.PoiDetailResult;
 20 import com.baidu.mapapi.search.poi.PoiDetailSearchOption;
 21 import com.baidu.mapapi.search.poi.PoiNearbySearchOption;
 22 import com.baidu.mapapi.search.poi.PoiResult;
 23 import com.baidu.mapapi.search.poi.PoiSearch;
 24 
 25 import android.nfc.Tag;
 26 import android.os.Bundle;
 27 import android.app.Activity;
 28 import android.util.Log;
 29 import android.view.Menu;
 30 import android.view.MenuItem;
 31 
 32 public class MainActivity extends Activity {
 33     private MapView mMapView;
 34     private BaiduMap mBaiduMap;
 35     private PoiSearch mPoiSearch;
 36     private BitmapDescriptor bitmapDescriptor;
 37 
 38     @Override
 39     protected void onCreate(Bundle savedInstanceState) {
 40         super.onCreate(savedInstanceState);
 41         SDKInitializer.initialize(getApplicationContext());// 初始化SDK
 42         setContentView(R.layout.activity_main);
 43         mMapView = (MapView) findViewById(R.id.bmapView);// 获取MapView
 44 
 45         // 生成图标
 46         bitmapDescriptor = BitmapDescriptorFactory
 47                 .fromResource(R.drawable.icon_marka);
 48 
 49         mBaiduMap = mMapView.getMap();// 获取地图控制器
 50         // 取得poi检索的实例
 51         mPoiSearch = PoiSearch.newInstance();
 52         // 设置poi检索的监听
 53         mPoiSearch
 54                 .setOnGetPoiSearchResultListener(new OnGetPoiSearchResultListener() {
 55 
 56                     @Override
 57                     public void onGetPoiResult(PoiResult result) {
 58 
 59                         if (result == null
 60                                 || result.error != SearchResult.ERRORNO.NO_ERROR) {
 61                             System.out.println(SearchResult.ERRORNO.NO_ERROR);
 62                             Log.v("tag", "没有找到相关结果");
 63                             return;
 64                         }
 65                         /*
 66                          * List<PoiInfo> list = result.getAllPoi(); for (PoiInfo
 67                          * poiInfo : list) { Log.v("tag", poiInfo.name);
 68                          * 
 69                          * OverlayOptions options = new MarkerOptions()
 70                          * .position(poiInfo.location).icon( bitmapDescriptor);
 71                          * 
 72                          * mBaiduMap.addOverlay(options); }
 73                          */
 74                         mBaiduMap.clear();// 每次选择之前都要先清空地图
 75                         PoiOverlay overlay = new MyOverlay(mBaiduMap);
 76                         overlay.setData(result);
 77                         overlay.addToMap();
 78                         overlay.zoomToSpan();
 79 
 80                         mBaiduMap.setOnMarkerClickListener(overlay);
 81 
 82                     }
 83 
 84                     @Override
 85                     public void onGetPoiDetailResult(PoiDetailResult result) {
 86                         if (result == null
 87                                 || result.error != SearchResult.ERRORNO.NO_ERROR) {
 88                             System.out.println(SearchResult.ERRORNO.NO_ERROR);
 89                             Log.v("tag", "没有找到相关结果");
 90                             return;
 91                         }
 92                         Log.v("tag", result.getTelephone());
 93                         Log.v("tag", String.valueOf(result.getPrice()));
 94 
 95                     }
 96                 });
 97 
 98     }
 99 
100     @Override
101     protected void onDestroy() {
102         super.onDestroy();
103         mMapView.onDestroy();
104         mPoiSearch.destroy();// 释放资源
105     }
106 
107     @Override
108     protected void onPause() {
109         super.onPause();
110         mMapView.onPause();
111     }
112 
113     @Override
114     protected void onResume() {
115         super.onResume();
116         mMapView.onResume();
117     }
118 
119     @Override
120     public boolean onCreateOptionsMenu(Menu menu) {
121         // Inflate the menu; this adds items to the action bar if it is present.
122         getMenuInflater().inflate(R.menu.main, menu);
123         return true;
124     }
125 
126     /**
127      * 菜单
128      */
129     @Override
130     public boolean onMenuItemSelected(int featureId, MenuItem item) {
131         int id = item.getItemId();
132         switch (id) {
133         case R.id.search_in_city:
134             mPoiSearch.searchInCity(new PoiCitySearchOption().city("济南")
135                     .keyword("医院").pageNum(1).pageCapacity(10));
136             break;
137         case R.id.search_nearby:
138             LatLng pt1 = new LatLng(39.93923, 116.357428);
139             mPoiSearch.searchNearby(new PoiNearbySearchOption().radius(1000)
140                     .keyword("餐厅").pageNum(1).pageCapacity(10).location(pt1));
141             break;
142         default:
143             break;
144         }
145 
146         return super.onMenuItemSelected(featureId, item);
147     }
148 
149     class MyOverlay extends PoiOverlay {
150 
151         public MyOverlay(BaiduMap map) {
152             super(map);
153         }
154 
155         @Override
156         public boolean onPoiClick(int i) {
157             List<PoiInfo> list = getPoiResult().getAllPoi();
158             PoiInfo info = list.get(i);
159             Log.v("tag", info.name);
160             Log.v("tag", info.phoneNum);
161             Log.v("tag", info.city);
162             Log.v("tag", info.address);
163 
164             if (info.hasCaterDetails) {
165                 mPoiSearch.searchPoiDetail(new PoiDetailSearchOption()
166                         .poiUid(info.uid));
167             }
168             return super.onPoiClick(i);
169         }
170     }
171 
172 }

 

          

团队作业—第四周—面向对象程序设计

标签:

原文地址:http://www.cnblogs.com/zycIvan/p/4575861.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!