转载请注明出处,谢谢。


本文是扬州旅游app的第三篇。

在上一篇中,我们利用JSON解析完成了在应用中嵌入天气预报功能。接下来,我们来完成扬州美食模块的功能。

先上图。

在UI设计方面,主框架是线性布局,标题部分是套在相对布局里的,因为我们要在屏幕左上方写一个后退按钮,利用相对布局比较容易完成。下面的条目显示,我们利用ListView来做。

下面给出代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><RelativeLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#99cc33" ><ImageViewandroid:layout_width="20dip"android:layout_height="20dip"android:layout_alignParentLeft="true"android:layout_centerVertical="true"android:clickable="true"android:onClick="pre"android:src="@drawable/previous" /><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center_horizontal"android:text="扬州美食"android:textColor="#ffffff"android:textSize="22sp" /></RelativeLayout><ListViewandroid:id="@+id/lv_meishi"android:layout_width="match_parent"android:layout_height="match_parent" ></ListView></LinearLayout>

UI设计好了,接下来就去完成逻辑代码。

这里,我要显示扬州美食的top10。所以我自定义了两个数组。数组一names是美食名称,数组二ids是食物图片在R文件中对应的id。

private static String[] names = { "大煮干丝", "扬州炒饭", "狮子头", "干菜包子", "三丁包子","四喜汤团", "黄桥烧饼", "翡翠烧卖", "扬州饼食", "千层油膏" };
private static int[] ids = { R.drawable.meishidazhugansi,R.drawable.meishiyangzhouchaofan, R.drawable.meishishizitou,R.drawable.meishigancaibaozi, R.drawable.meishisandingbaozi,R.drawable.meishisixitangtuan, R.drawable.meishihuangqiaoshaobing,R.drawable.meishifeicuishaomai, R.drawable.meishiyangzhoubingshi,R.drawable.meishiqiancengyougao };

然后我们通过自定义适配器去完成整个布局的逻辑。

 private class MyAdapter extends BaseAdapter {@Overridepublic int getCount() {// TODO Auto-generated method stubreturn names.length;}@Overridepublic View getView(int arg0, View arg1, ViewGroup arg2) {View view = View.inflate(YangzhoumeishiActivity.this,R.layout.list_item_meishi, null);TextView tv_item = (TextView) view.findViewById(R.id.tv_item);ImageView iv_item = (ImageView) view.findViewById(R.id.iv_item);tv_item.setText(names[arg0]);iv_item.setImageResource(ids[arg0]);return view;}@Overridepublic Object getItem(int arg0) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int arg0) {// TODO Auto-generated method stubreturn 0;}}

每一个条目显示的布局对应的xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center"android:orientation="horizontal" ><ImageViewandroid:id="@+id/iv_item"android:layout_width="60dip"android:layout_height="60dip"android:src="@drawable/app" /><TextViewandroid:id="@+id/tv_item"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="扬州美食"android:textColor="#000000"android:textSize="25sp" /></LinearLayout>

后退点击事件,我们返回主页面,即

对应的代码如下:

 /**** 后退点击事件* * @author Administrator**/public void pre(View v) {Intent i = new Intent(YangzhoumeishiActivity.this, HomeActivity.class);startActivity(i);finish();}

当我们点击每一个条目的时候,进入相对应的界面,所以我们要对每一个条目设置点击事件。

     lv_meishi.setOnItemClickListener(new OnItemClickListener() {Intent intent;@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {switch (arg2) {// 大煮干丝case 0:intent = new Intent(YangzhoumeishiActivity.this,DazhugansiActivity.class);startActivity(intent);break;// 扬州炒饭case 1:intent = new Intent(YangzhoumeishiActivity.this,YangzhouchaofanActivity.class);startActivity(intent);break;// 狮子头case 2:intent = new Intent(YangzhoumeishiActivity.this,ShizitouActivity.class);startActivity(intent);break;// 干菜包子case 3:intent = new Intent(YangzhoumeishiActivity.this,GancaibaoziActivity.class);startActivity(intent);break;// 三丁包子case 4:intent = new Intent(YangzhoumeishiActivity.this,SandingbaoziActivity.class);startActivity(intent);break;// 四喜汤团case 5:intent = new Intent(YangzhoumeishiActivity.this,SixitangtuanActivity.class);startActivity(intent);break;// 黄桥烧饼case 6:intent = new Intent(YangzhoumeishiActivity.this,HuangqiaoshaobingActivity.class);startActivity(intent);break;// 翡翠烧卖case 7:intent = new Intent(YangzhoumeishiActivity.this,FeicuishaomaiActivity.class);startActivity(intent);break;// 扬州饼食case 8:intent = new Intent(YangzhoumeishiActivity.this,YangzhoubingshiActivity.class);startActivity(intent);break;// 千层油膏case 9:intent = new Intent(YangzhoumeishiActivity.this,QiancengyougaoActivity.class);startActivity(intent);break;default:break;}}});

因为对应的条目有10个,每一个实现的方式一样,所以,我们只举其中一个作为演示案例。

// 扬州炒饭case 1:intent = new Intent(YangzhoumeishiActivity.this,YangzhouchaofanActivity.class);startActivity(intent);break;

通过意图,我们跳转到扬州炒饭这一条目所对应的主页面中。

先上图:

这里的ui很简单,线性布局,一个ImageView,一个TextView。

代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_horizontal"android:orientation="vertical" ><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/meishiyangzhouchaofan" /><ScrollViewandroid:layout_width="match_parent"android:layout_height="match_parent" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="扬州炒饭又名扬州蛋炒饭,相传源自隋朝越国公杨素爱吃的碎金饭,即蛋炒饭。隋炀帝巡视江都(今扬州)时,将蛋炒饭传入扬州,后经过历代烹饪高手的逐步创新,揉进淮扬菜肴的“选料严谨,制作精细,加工讲究,注重配色,源汁源味”的特色,终于发展成为具淮扬风味有名的主食之一。
扬州炒饭的名气遍及世界很多国家,据国外来的朋友讲,许多外国人都喜欢吃扬州炒饭,却不知道扬州是怎么一回事,在他们的头脑中扬州并不是地名,而误认为是这种炒饭的做法。
扬州炒饭的品种丰富,有“金裹银”、“什锦蛋炒饭”及“青菜炒饭”等。
所谓“金裹银”就是在饭粒的外层裹上一层金黄色的鸡蛋,其作法是:先将米饭放入锅中翻炒,然后将打散的鸡蛋液均匀地包裹住米饭。经过这样炒制的米饭,其饭粒的外层是金黄色的,里面则是白色的。
什锦蛋炒饭,是扬州炒饭中最典型的品种,它有很多配料,常用的有鸡蛋、海参、火腿、青豆、虾仁、猪里脊肉、香菇、笋、葱花等等。制作时先将鸡蛋炒好,再将其他配料炒熟,加清汤和盐调好味,盛起备用,然后开始炒米饭,米饭要炒得粒粒分明而没有湖斑,最后将炒好的鸡蛋和其它配料倒入一半炒匀,炒匀后盛出三分之二放在盘中,再将剩下的配料与锅中的米饭炒匀,盖在盘中的炒饭上。如此做出的炒饭既漂亮,又有很多配料在上面,真是好吃看得见啊! "android:textColor="#000000"android:textSize="22sp" /></ScrollView></LinearLayout>

其余9个美食页面做样一样,不再一一演示。

至此,我们的美食模块也粗略的完成了。

嘿嘿嘿

扬州旅游app(三)相关推荐

  1. 扬州旅游app(五)

    转载请写明出处,谢谢 这两天动摇军心,不想搞android了,弄了javaweb,后来想想算了,还是老实弄安卓吧.废话不说,开始今天内容. 今天我们来完成扬州美景这个模块的内容. 其实步骤和扬州美食模 ...

  2. HBuilder开发旅游类APP(三) ----- 给APP添加底部导航栏(底部选项卡)

    HBuilder开发旅游类APP(三) ----- 给APP添加底部导航栏(底部选项卡) 作者:班尼科 本博文是本人原创,喜欢请给我点赞,转载请注明出处哦. 标签: 旅游 HBuilder H5+ M ...

  3. 扬州旅游攻略——吃喝玩乐一条龙

    扬州旅游攻略 下载  我的扬州 APP 订购旅游年卡 路线一.大明寺-瘦西湖-虹桥坊 大明寺(4A) 开放时间:07:45~16:30  适合祈福礼佛.内部有素食坊,有兴趣者可以购买. 建议游玩时间 ...

  4. Android Studio实现内容丰富的旅游App

    文章目录 一.项目概述 二.开发环境 三.项目结构 四.运行演示 五.项目总结 六.源码获取 一.项目概述 随着人们生活质量的不断提高,外出旅游的需求也日益增多,旅游肯定需要一款App来帮助游客寻找景 ...

  5. android studio的旅游APP的开发和设计

    一 项目概述 一直都想开发一个旅游APP程序,终于经过不懈的努力,最终完成该项目,项目有移动端,也就是APP客户端,有后台管理系统,后台管理系统是维护数据的,移动手机端是进行景区的预定门票的,该APP ...

  6. 计算机毕业设计安卓App毕设项目之ssm定制旅游APP

    目录 一.项目介绍 二.文档截图 三.运行截图 一.项目介绍 含文档+PPT+源码等]精品基于Uniapp+SSM实现的定制旅游APP[包运行成功]>该项目含有源码.文档.PPT.配套开发软件. ...

  7. 中秋国庆旅游 App 市场竞争激烈!工具类 App 更易被苹果推荐!

    本文经授权转载自七麦研究院 作者|黑桃明 金秋双节已经快过完中秋节了,国庆节也马上就要来了!每年的这个时候,"旅游"就成为许多中国人的假日选择. 每年节假日,各大景区都会迎来人流高 ...

  8. 【产品实战-乘风游旅游App】0.0 写在前面

    [产品实战-乘风游旅游App]0.0 写在前面 个人背景: 作为一名从事2年服务端研发的程序媛,对于项目设计与研发比较熟悉,同时因部门主管也倾向于培养我们综合能力(不局限于写出优秀的代码与项目框架). ...

  9. 爱旅游app开发策划解决方案

    一.背景分析项目背景 1.手机移动应用具有超强的发展潜力 随着移动互联网的高速发展,手机APP已经深深扎根在人们的生活和工作中.经调查,绝大多数游客都有在旅游前对目的地相关资源获取的需求,尤其是对于现 ...

最新文章

  1. WinFormsUI(转xiaisidinen)
  2. 阿里P7大牛手把手教你!一眼就能看懂的Android自学手册,真香!
  3. Java多线程系列(五):线程池的实现原理、优点与风险、以及四种线程池实现
  4. php调用易语言的dll文件,【PHP】真正意义上的PHP调用易语言DLL
  5. 张家口全国计算机等级考试,河北省张家口市2018年上半年计算机等级考试公告...
  6. C++奥赛一本通贪心题解
  7. 在Windows中玩转Docker Toolbox
  8. c语言自动计费工作,c语言编程实现话单计费实例
  9. 发展恐怖故事–邮件炸弹
  10. Android Studio 解决数据库手机电脑不同步
  11. python 量子电路模拟库qiskit
  12. 软件过程的价值观、原则以及实践——从敏捷说起
  13. 【上古秘籍】之Eclipse的秘籍 转
  14. 2020年下半年教师资格幼儿园《综合素质》真题与参考答案
  15. Python练习3:求N的多次方
  16. 【算法与数据结构】—— 博弈论(高阶篇之SG博弈)
  17. DNS服务解析与原理笔记
  18. unity初写游戏(四)怪物产生方式
  19. 转一个常用排序算法的动画效果图
  20. 小说作者推荐: 闹月合集

热门文章

  1. 非标自动化转行机器人_一个4年非标自动化行业成长感触与同行分享
  2. 滚动条轮播图/ 循环切换滚动条,图片
  3. 计算机原理-OS-引导-内核引导过程详解
  4. 博捷芯划片机:主板控制芯片组采用BGA封装技术的特点
  5. Redis内存淘汰机制
  6. vim 编辑 .bashrc
  7. 【C语言】豪华版_飞机小游戏
  8. 在线编程学习,后悔知道晚了!
  9. 机器学习算法大全:从监督学习到深度学习,应用场景全解析(你了解多少)
  10. 安捷伦网络分析仪测试阻抗