智能菜谱课程设计报告studentPDY

随着智能手机的普及,基于Android平台的应用软件需求也越来越多。针对传统订餐模式中餐馆工作人员重复劳动量大、消费者在不熟悉地区难以寻找适合自己的餐馆、必须要进入到餐馆内才可以浏览菜单开始点餐以及物理菜单不能及时更新更不能反映菜品的评价等缺点,提出基于Android平台的智能菜谱系统的设计和实现解决方案。阐述了系统的设计思想、开发模型、主要功能模块以及关键技术的设计与实现。

2.需求用例图

3.用例分析

(1)用例名称:今日推荐

说明:每进一次首页都会推荐

不同的菜品,可自行选择

(2)用例名称:分类查询

说明:有九种类型的菜,每种类型

的菜又可以分很多菜品,可

任意选择进行查询

(3)用例名称:添加收藏

说明:用户可把喜欢的菜添加到收藏

(4)用例名称:删除收藏

说明:用户可把不喜欢的菜从收藏中

删除

(5)用例名称:上传我的菜品

说明:可以把自己喜欢或会做的菜

二、系统设计

1.系统功能

2.核心模块时序图

3.核心模块类图

三、系统数据库设计

由于本系统是对广大用户所使用的,所以要充分考虑用户的需求。本系统采用了SQLite数据库设计,占用资源低,处理速度快。以表格的形式列出每一个数据库表的表结构,即字段名、类型、长度、小数位数、是否主键、索引、是否允许为空、说明等。并介绍表与表之间的逻辑关系。

Information表结构

字段名

数据类型

长度

主键

索引

外键

可空

说明

id

int

20

菜品id

name

String

菜品名字

method

Unknow

烹饪方法

material

30

材料

is_favor

喜欢的菜品

type_id

种类id

四、系统测试

本次实习所用的开发环境为:

开发所涉及的应用:UI设计,activity组件的应用,file存储

服务器:Androidstudio

数据库:SQLite

开发工具:Androidstudio,SQLite

界面制作:UI

1.项目测试

1、测试软件作品能否在模拟器和手机上正常运行

2、测试数据库能否顺利连接

3、测试软件作品各个功能能否正常进行:

3.2、测试分类查询功能是否能正常使用

3.3、测试收藏功能是否能正常使用

3.4、测试上传菜品功能是否能正常使用

2.测试结果

不同界面运行图如下:

五.系统实现

部分关键代码如下:

packagecom.example.lm.cook;importandroid.content.Intent;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Toast;

2.分类查询界面

进入分类查询界面,可以任意查询各类菜品,也可以通过右上角搜索工具对喜欢的菜直接进行搜索查询,就可以不用一一查询菜品了。

publicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.menu_search,menu);MenuItemitem=menu.findItem(R.id.menu_item_search);mSearchView=(SearchView)item.getActionView();if(mSearchView!=null){mSearchView.setInputType(InputType.TYPE_CLASS_TEXT);mSearchView.setSubmitButtonEnabled(false);mSearchView.setQueryHint(getString(R.string.search_hint));mSearchView.setOnQueryTextListener(this);mSearchView.setOnSearchClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){mRadioGroup.setVisibility(View.GONE);mActionBar.setDisplayHomeAsUpEnabled(true);mCookDao=newCookDao(MainActivity.this);FragmentTransactiontransaction=mFragmentManager.beginTransaction();hideAllFgt(transaction);if(mSearchFgt==null){mSearchFgt=newSearchFgt();transaction.add(R.id.main_content,mSearchFgt);}else{transaction.show(mSearchFgt);}transaction.commit();}});}returntrue;}

3.收藏界面

对各种菜品进行查询后,可以把自己喜欢的菜添加到收藏里,方便以后查找,也可以删除收藏里的菜品,进行清理。

4.更多界面

packagecom.example.lm.cook.fragment;

}}

其他部分关键代码:

//其他方法可自行扩展}

}

六.总结

附件1:

智能菜谱系统

技术说明

用到了UI技术,运用了SQLite数据库存储对菜品进行增删改查,在Androidstudio中运用LinearLayout和RelativeLayout嵌套,主要用到的控件有Button、TextView、view、ImageView。通过在java类中定义和设置监听事件来进行点击设置相应属性。

UML类图

代码

清单文件:

布局文件:

1.截图

2.原文件

java原码

packagecom.example.lm.cook;

importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.EditText;importandroid.widget.Toast;

publicclassAddActivityextendsAppCompatActivity{

privateEditTexted1;privateEditTexted2;

@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_add);//上传ed1=(EditText)findViewById(R.id.ed_1);ed2=(EditText)findViewById(R.id.ed_2);findViewById(R.id.btn).setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Stringed11=ed1.getText().toString().trim();Stringed22=ed2.getText().toString().trim();Toast.makeText(AddActivity.this,"上传成功",Toast.LENGTH_SHORT).show();finish();}});}}

importandroid.support.v7.app.ActionBar;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.widget.Toast;

importcom.example.lm.cook.dao.CookDao;importcom.example.lm.cook.fragment.DetailFgt;importcom.example.lm.cook.pojo.Cook;importcom.example.lm.cook.utils.Const;

publicclassDetailActivityextendsAppCompatActivity{privatebooleanisFavorite;privateintmCookId;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_detail);mCookId=getIntent().getIntExtra(Const.COOK_KEY,0);CookDaocookDao=newCookDao(this);Cookcook=cookDao.getCook(mCookId);ActionBaractionBar=getSupportActionBar();if(actionBar!=null){actionBar.setDisplayHomeAsUpEnabled(true);}setTitle(cook!=nullcook.getName():null);isFavorite=cook!=null&&cook.isFavorite();if(savedInstanceState==null){DetailFgtdetailFgt=DetailFgt.newInstance(cook);getSupportFragmentManager().beginTransaction().add(R.id.detail_content,detailFgt).commit();}}

@OverridepublicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.menu_favor,menu);if(isFavorite){menu.getItem(0).setIcon(R.mipmap.favorite);menu.getItem(0).setTitle(getString(R.string.cancel_favor));}returntrue;}

@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){if(item.getItemId()==android.R.id.home){finish();}elseif(item.getItemId()==R.id.menu_item_favor){CookDaocookDao=newCookDao(this);if(cookDao.doFavor(mCookId,isFavorite)){if(isFavorite){item.setIcon(R.mipmap.not_favorite);item.setTitle(R.string.cancel_favor);Toast.makeText(this,R.string.cancel_favor,Toast.LENGTH_SHORT).show();}else{item.setIcon(R.mipmap.favorite);item.setTitle(getString(R.string.favor));Toast.makeText(this,R.string.favor_succeed,Toast.LENGTH_SHORT).show();}isFavorite=!isFavorite;}}returntrue;

importandroid.content.Intent;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Toast;

publicclassLoginActivityextendsAppCompatActivity{

importandroid.content.Intent;importandroid.support.v4.app.Fragment;importandroid.support.v4.app.FragmentManager;importandroid.support.v4.app.FragmentTransaction;importandroid.support.v7.app.ActionBar;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.text.InputType;importandroid.text.TextUtils;importandroid.view.KeyEvent;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.view.View;importandroid.widget.RadioButton;importandroid.widget.RadioGroup;importandroid.widget.SearchView;importandroid.widget.Toast;

importcom.example.lm.cook.dao.CookDao;importcom.example.lm.cook.fragment.CategoryFgt;importcom.example.lm.cook.fragment.CookFgt;importcom.example.lm.cook.fragment.FavorFgt;importcom.example.lm.cook.fragment.IndexFgt;importcom.example.lm.cook.fragment.MoreFgt;importcom.example.lm.cook.fragment.SearchFgt;importcom.example.lm.cook.pojo.Category;importcom.example.lm.cook.pojo.Cook;importcom.example.lm.cook.utils.Const;

importjava.util.ArrayList;importjava.util.List;

privatevoidhideAllFgt(FragmentTransactiontransaction){for(inti=0;i<4;i++){Fragmentfragment=mFragments.get(i);if(fragment!=null&&fragment.isVisible()){transaction.hide(fragment);}}if(mCookFgt!=null){transaction.detach(mCookFgt);}if(mSearchFgt!=null&&mSearchFgt.isVisible()){transaction.hide(mSearchFgt);}}

@OverridepublicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.menu_search,menu);MenuItemitem=menu.findItem(R.id.menu_item_search);mSearchView=(SearchView)item.getActionView();if(mSearchView!=null){mSearchView.setInputType(InputType.TYPE_CLASS_TEXT);mSearchView.setSubmitButtonEnabled(false);mSearchView.setQueryHint(getString(R.string.search_hint));mSearchView.setOnQueryTextListener(this);mSearchView.setOnSearchClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){mRadioGroup.setVisibility(View.GONE);mActionBar.setDisplayHomeAsUpEnabled(true);mCookDao=newCookDao(MainActivity.this);FragmentTransactiontransaction=mFragmentManager.beginTransaction();hideAllFgt(transaction);if(mSearchFgt==null){mSearchFgt=newSearchFgt();transaction.add(R.id.main_content,mSearchFgt);}else{transaction.show(mSearchFgt);}transaction.commit();}});}returntrue;}

@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){if(item.getItemId()==android.R.id.home){FragmentTransactiontransaction=mFragmentManager.beginTransaction();if(mSearchFgt!=null&&mSearchFgt.isVisible()){hideSearchView(transaction);}elseif(mCookFgt!=null&&mCookFgt.isVisible()){hideCookFgt(transaction);}setTitle(mTitle);mActionBar.setDisplayHomeAsUpEnabled(false);transaction.commit();returntrue;}returnsuper.onOptionsItemSelected(item);}

privatevoidhideCookFgt(FragmentTransactiontransaction){mSearchView.setVisibility(View.VISIBLE);transaction.detach(mCookFgt);transaction.show(mCategoryFgt);}

privatevoidhideSearchView(FragmentTransactiontransaction){mRadioGroup.setVisibility(View.VISIBLE);mSearchView.clearFocus();mSearchView.setQuery(null,false);mSearchView.setIconified(true);transaction.hide(mSearchFgt);transaction.show(mFragments.get(mCurIndex));}

@OverridepublicvoidgetCategory(Categorycategory){mSearchView.setVisibility(View.INVISIBLE);setTitle(category.getTitle());mActionBar.setDisplayHomeAsUpEnabled(true);FragmentTransactiontransaction=mFragmentManager.beginTransaction();hideAllFgt(transaction);if(mCookFgt!=null){mCookFgt.refresh(category);transaction.attach(mCookFgt);}else{mCookFgt=CookFgt.newInstance(category);transaction.add(R.id.main_content,mCookFgt);}transaction.setCustomAnimations(android.R.anim.fade_in,android.R.anim.fade_out);transaction.commit();}

@OverridepublicbooleanonQueryTextSubmit(Stringquery){returnfalse;}

@OverridepublicbooleanonQueryTextChange(StringnewText){ListcookList=null;if(!TextUtils.isEmpty(newText)){cookList=mCookDao.findCooks(newText);}mSearchFgt.refresh(cookList);returntrue;}

@OverridepublicvoidgetCook(intcookId){Intentintent=newIntent(this,DetailActivity.class);intent.putExtra(Const.COOK_KEY,cookId);startActivity(intent);}

@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){if(keyCode==KeyEvent.KEYCODE_BACK&&event.getAction()==KeyEvent.ACTION_DOWN){FragmentTransactiontransaction=mFragmentManager.beginTransaction();if(mSearchFgt!=null&&mSearchFgt.isVisible()){hideSearchView(transaction);setTitle(mTitle);mActionBar.setDisplayHomeAsUpEnabled(false);}elseif(mCookFgt!=null&&mCookFgt.isVisible()){hideCookFgt(transaction);mActionBar.setDisplayHomeAsUpEnabled(false);}elseif((System.currentTimeMillis()-exitTime)>2000){Toast.makeText(getApplicationContext(),R.string.exit_hint,Toast.LENGTH_SHORT).show();exitTime=System.currentTimeMillis();}else{finish();}transaction.commit();returntrue;}returnsuper.onKeyDown(keyCode,event);}}

importandroid.content.Intent;importandroid.content.SharedPreferences;importandroid.os.AsyncTask;importandroid.preference.PreferenceManager;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;

importcom.example.lm.cook.utils.Const;importcom.example.lm.cook.utils.FileUtils;

importjava.io.File;importjava.util.Timer;importjava.util.TimerTask;

publicclassSplashActivityextendsAppCompatActivity{//闪屏界面@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_splash);//SharedPreferences存储SharedPreferencessharedPreferences=PreferenceManager.getDefaultSharedPreferences(this);booleanexist=sharedPreferences.getBoolean(Const.SP_KEY,false);if(!exist){SharedPreferences.Editoreditor=sharedPreferences.edit();editor.putBoolean(Const.SP_KEY,true);editor.apply();newFileTask().execute();}else{TimerTasktask=newTimerTask(){@Overridepublicvoidrun(){startMain();}};Timertimer=newTimer();timer.schedule(task,Const.DELAY_TIME);}

privatevoidstartMain(){Intentintent=newIntent(SplashActivity.this,MainActivity.class);startActivity(intent);finish();overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);}

privateclassFileTaskextendsAsyncTask{

@OverrideprotectedVoiddoInBackground(Void...params){init();returnnull;}

@OverrideprotectedvoidonPostExecute(VoidaVoid){super.onPostExecute(aVoid);startMain();}}}

类说明

LoginActivity类:

DetailActivity类:

有“添加收藏”,“删除收藏”,“收藏”三个按钮事件

点击收藏按钮可以在数据库表中查询添加收藏的数据,点击删除收藏按钮可以删

除表中的数据。

AddActivity类:

为“上传成功”按钮设置监听事件,实现上传成功后的页面跳转

SplashActivity类:

MainActivity类:

为“再按一次退出程序”按钮设置监听事件,点击该按钮将退出程序,跳转到退出后的界面

THE END
1.做家常菜的app哪个好?家常菜谱大全app家常菜做法大全app做家常菜的app有哪些?本专题给大家推荐煮厨家常菜谱,美食杰家常菜谱,家常菜做法app,家常菜食谱大全等等非常的多样,用户都可以在线找菜谱,或者不知道吃什么都可以在线进行参考学习来自己做,感兴趣的用户就来下载吧http://www.downcc.com/k/jiachangcaiapp/
2.家常菜做法大全app下载对于喜欢吃的人来说,如果可以吃到一个让自己味蕾感触超好的食物,相信是一件非常幸福的事情,不少人虽然很爱吃但是也想要学着做,有了菜谱软件就可以在手机上学习到各种美食的做法,让你享受美食带来的乐趣。 下厨房家常菜免费 豆果美食app 美食杰家常菜谱大全 懒饭app 香哈菜谱免费 免费菜谱app 掌厨app 美食天下菜谱大https://m.liqucn.com/rj/503199.wml
3.菜谱视频app排行榜前十名偏玩手游盒子分享十大菜谱视频app排行榜前十名手机应用,编辑为您推荐手机菜谱视频app排行榜第一名到前5名到前十名的应用。找菜谱视频app有哪些、菜谱视频app哪个好用,上偏玩手游盒子https://m.pianwan.com/s/zj-1305477
4.家常菜app哪个比较好?家常菜app下载家常菜菜谱大全app家常菜app是支持用户在线学习简单易做的家常菜厨艺教学平台,这些软件包含了海量的海量的家常菜菜谱,而且一般会提供详细做家常菜的图片、视频和操作步骤,用户只需按照对应的教程便可轻松掌握家常菜的烹饪方法,是大家学做家常菜的必备神器。感兴趣的朋友现在就可以到当易网下http://www.downyi.com/key/jiachangcaiapp/
5.AppStore上的“私房菜谱免费 提供App 内购买项目 截屏 iPhone iPad 简介 体验全新、现代化的方式,让您轻松直观地管理食谱 – 简单、有条理,且充满乐趣。Taste 树立了新的标准。 Taste 是管理食谱的理想解决方案,简单直观。无论您是想收集新食谱、整理旧的最爱,还是寻找灵感,Taste 都为您提供工具来构建您的食谱集合。无广告,无需注册 https://apps.apple.com/cn/app/%E7%A7%81%E6%88%BF%E8%8F%9C%E8%B0%B1-taste/id1621869968
6.做菜app软件大全学做饭app下载做菜教学视频app下载正所谓自己动手,丰衣足食,现在,很多朋友都会注重饮食,自己做饭做菜,但是又不会怎么办?做菜app软件能够帮你解决所有问题。本站为大家精心整理了做菜app软件大全,其中汇集了多款好用的学做饭app,里面拥有各种美食的教程,教学视频和图文都为大家提供了,非常适合厨房小白使用,欢迎大家前来本站下载!https://m.32r.com/zt/zfrj/
7.下厨房下厨房手机版免费下载新icon设计,优化视觉效果3.优化了菜谱页面收藏和加菜单按钮的位置,一目了然更清晰4.市集商品下单可以积分支付啦,购物新体验,来呀一起剁手呀~下厨房app5.8.3处暑之后早晚开始有凉意。与渐浓的秋意一同到来的还有秋乏,此时进行恰当的食物补给,能够使身体机能更快恢复,营养丰富又极易获得的山药就是不错的选择。开启https://sj.zol.com.cn/xiachufang/
8.手机软件排名前十名有哪些(手机软件排名榜)美食做法学做家常菜是一款非常实用的移动应用,为用户提供丰富多样的家常菜谱和烹饪技巧。无论您是烹饪新手还是有一定烹饪经验的人,这款软件都能满足您的美食需求。首先,LearntoCookHome拥有庞大而全面的食谱库。无论您 学做家常菜是一款非常实用的移动应用,为用户提供丰富多样的家常菜谱和烹饪技巧。无论您是烹饪新手还是有一定http://www.htxpf.com/zf/c06bded1895cb952.html
9.WebApp开发自己的app(菜谱app)自己的期末课程设计大作业.zip3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在 安卓大作业-菜谱app.zip 浏览:0 能正常运行。使用了fragment、Activity、sqlite数据库等技术,包含登https://download.csdn.net/download/weixin_44857413/20286989
10.多功能美食菜谱APP方案设计毕业设计论文.pdf多功能美食菜谱APP方案设计毕业设计论文.pdf 23页内容提供方:李天佑 大小:1.26 MB 字数:约1.08万字 发布时间:2021-01-08发布于辽宁 浏览人气:5331 下载次数:仅上传者可见 收藏次数:6 需要金币:*** 金币 (10金币=人民币1元)多功能美食菜谱APP方案设计毕业设计论文.pdf 关闭预览 想预览更多内容,https://max.book118.com/html/2021/0107/8062106036003035.shtm
11.做菜不用再问妈:这7个App换着用,让你从厨房小白变大厨一款设计精美的菜谱 app,推荐大都为异域美食,可以拓展自己美食边界。内置主题菜谱不仅能让人学会怎么做饭,还能教会你为什么要这么做。每个菜谱明确标记了烹饪时间和每份所含营养值,若为烘焙菜谱还会给出静置时间作为参考。在食材方面可以选择为几个人做饭,并根据人数来确定食材的多少。所有菜谱食材均可一键加入购物单,买菜https://36kr.com/p/1390010704837635
12.美食APP产品系统设计项目商业计划书美食APP产品系统设计项目商业计划书1、产品介绍产品描述中文家庭烹饪最活跃的美食社区,一个帮助美食爱好者记录、分享的平台。*厨房APP为用户提供流行菜谱、美食墙、美食杂志、视频菜谱、线上交流、线上交易等特色服务。*厨房定制*专属厨房。产品logo设计产品制作进度月份策划产品功能蓝图,4月初确定产品实现方案以及需要的资https://m.renrendoc.com/paper/218216176.html
13.www.jxmzxx.com{$woaini}>www.jxmzxx.com{$woaini}在商业与艺术的博弈中,她走出了一条独属于自己的道路。 这样的韩雪不愧是娱乐圈里的一股"清流担当"啊! 说韩雪在娱乐圈是个另类,那她的财富故事更是让人惊掉下巴。 要说起她的"钞能力",那可真是从娃娃抓起。 5岁的时候人家小朋友还在玩玩具飞机,她就已经拥有了私人飞机。 http://www.jxmzxx.com/appnews/668449.html
14.手把手教你从0到1做一个上传菜谱的交互流程与原型设计,还不快菜谱的制作流程 其他支线选项 在真实工作中其实产品经理会把这个流程要包含的功能和信息点都列举清楚,只是我们现在自己来从0到1设计一次。 菜谱的基本介绍可以包含菜谱的封面、菜谱的名称、菜谱的简介、难度、时间、食材,菜谱的制作流程可以包含需要的图片、文字描述。 https://www.163.com/dy/article/H5FU4SJ40511805E.html
15.美食菜谱类APP界面设计今天跟大家分享的是一款美食菜谱类APP的界面设计。现在美食菜谱类的APP有很多,如何才能在众多的竞争对手中脱颖而出。APP界面设计是一个重要的因素。一起来看看这款“妈妈快厨”APP的界面设计,对您设计相关的APP有所帮助。 1、颜色选择 2、图标设计 3、登录注册界面 https://www.adinnet.cn/bloginfo/2018_05/blog_3721.html
16.美食菜谱APP界面设计素材模板这是一套美食菜谱APP界面设计素材模板,模板包含了50多个页面,200多个元素。这套模板非常适合烹饪指南,美食菜谱相关的app,作为ui/ux学习研究也是非常好https://www.25xt.com/apppsd2/26584.html
17.上海小程序开发app开发小程序定制外包软件系统开发在当前数字化时代,美食爱好者们追求的不仅仅是味蕾上的满足,更渴望通过互联网平台分享自己的烹饪心得与创意菜谱。面对这一需求,拔俗网络精心打造了一款专注于个性化美食菜谱分享的APP小程序开发方案,旨在为美食爱好者提供一个集菜谱展示、交流互动于一体的高效平台。本方案不仅深入挖掘https://www.eilve.com/detail/%E6%89%93%E9%80%A0%E4%B8%AA%E6%80%A7%E5%8C%96%E7%BE%8E%E9%A3%9F%E8%8F%9C%E8%B0%B1%E5%88%86%E4%BA%AB%E5%B9%B3%E5%8F%B0%EF%BC%9A%E6%8B%94%E4%BF%97%E7%BD%91%E7%BB%9C%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/bea8ca33293c886a49309544ac362fb0/1
18.做饭前先计算,程序员设计“方程式”菜谱走红做饭前先计算,程序员设计“方程式”菜谱走红 【看苏州专稿 文、视频/张钟予 李郁昊 曹前】 家里来了客人聚餐时,准备多少道菜合适? 苏州软件工程师薛锋将自创的一套《程序员做饭指南》上传网络后,其“方程式”菜谱在全球最大的代码托管平台GitHub走红,受到各地程序员们的点赞。https://news.2500sz.com/doc/2022/11/02/918369.shtml
19.下厨房家常菜谱app下载下厨房家常菜谱appv8.8.46下厨房家常菜谱app是一款家庭烹饪食谱软件,里面包含了很多家庭烹饪食谱,用户可以通过这个平台学习到很多家庭烹饪的做法,他们也可以在家里做出美味的菜肴,而且还很健康、健康;这个平台具有智能搜索功能。用户可以直接搜索自己想做什么菜,想做饭的时候可以随时查看自己喜欢的菜谱。 http://www.hncj.com/sjrj/44096.html
20.以闪亮之名vvanna百科答案攻略大全以闪亮之名18、问题:如何改变自己的捏脸形象 答案:设计室重塑容貌 19、问题:如何上传自己的穿搭笔记 答案:设计室穿搭笔记 20、问题:染色斑斓度的作用是什么 答案:时装风格加成 21、问题:时纪的职业 答案:私家侦探 22、问题:松本彩是哪个品牌的首席顾问 答案:琥珀微光 https://a.9game.cn/yslzm/7815658.html
21.家常快手食谱app下载家常快手食谱免费版下载家常快手食谱app,您的私人厨师!无论您是烹饪新手还是寻求快速烹饪方法的厨艺高手,这款app都能满足您的需求。简单易用的界面设计,丰富的食谱选择,让您在繁忙的生活中也能轻松享受美食。 家常快手食谱app软件更新 1. 新增了数十款热门家常菜谱,满足用户多样化的口味需求。 2. 优化了搜索功能,用户能更快速、准确地找https://m.greenxf.com/a/698324.html
22.爱享到美食APP3.0设计爱享到美食App设计教程美食天下 美食类APP 大数据 随着《舌尖的中国2》热播,中国美食话题又一次掀起热潮。众所周知这是一部以中国美食为主题的纪录片,片中呈现的各色家常菜,无一不让美食吃货们垂涎。要想止住自己的馋嘴,不必去高档餐馆也不许用去寻觅深夜食堂,其实只要有了菜谱和食材,在家也能做得一手好菜,如果你是WindowsPhone手机用户https://edu.xinpianchang.com/article/baike-59241.html