基于anroid的美食APP
基于android的美食APP
项目概述
基于android的美食APP 是采用android studio进行开发,里面包含美食发布,美食推荐,美食列表,美食搜索,美食收藏,美食取消收藏,美食排行榜,美食详情,美食图片上传,个人中心,个人信息,退出等功能,非常适合开发,学习,大作业参考的。界面美观。并且可以在真机运行。
项目技术和开发工具
项目采用android 原生的SDK进行开发,通过gradle进行构建项目,里面大量运用了组件进行构建界面。采用sqllit数据库进行存储数据。
开发工具采用android studio 模拟器采用逍遥模拟器或者夜神模拟器。
项目功能实现
注册功能实现的效果

代码实现:
//注册保存用户信息
public void saveUser(View view){
DBUtils dbUtils = new DBUtils(this, ItFxqConstants.DBNAME, 1);
SQLiteDatabase db = dbUtils.getReadableDatabase();
ContentValues values = new ContentValues();
//获取存入的内容-用户名
String username = usernameEt.getText().toString().trim();
//获取存入的内容-密码
String pwd = pwdEt.getText().toString().trim();
//获取存入的内容-电话
String tel = telEt.getText().toString().trim();
//获取存入的内容-邮件
String email = emailEt.getText().toString().trim();
if(TextUtils.isEmpty(username) || TextUtils.isEmpty(pwd)){
Toast.makeText(this,"用户名和密码不能为空",Toast.LENGTH_SHORT).show();
}else{
//如果已经存在 就提示
if(DBUtils.checkUserIsExits(this,username)){
Toast.makeText(this,"用户名已被注册",Toast.LENGTH_SHORT).show();
}else{
values.put("username",username);
values.put("password",pwdEt.getText().toString());
values.put("tel",telEt.getText().toString());
values.put("email",emailEt.getText().toString());
long result = db.insert(ItFxqConstants.USER_TABLE,null,values);
db.close();
if(result != -1){
AlertDialog.Builder dlog = new AlertDialog.Builder(this);
dlog.setPositiveButton("确定",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dlg,int arg1) {
Intent intent = new Intent(RegActivity.this,LoginActivity.class);
startActivity(intent);
}
});
dlog.setNegativeButton("取消",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dlg,int arg1) {
dlg.dismiss();;
}
});
dlog.setMessage("保存成功,返回登录。");
dlog.setTitle("温馨提示");
dlog.show();
}
}
}
}
登陆效果图:

实现核心代码:
//登录系统
public void loginSys(View view){
String username = loginNameEt.getText().toString().trim();
String pwd = loginPwdEt.getText().toString().trim();
ContentValues values = new ContentValues();
values.put("username",username);
values.put("password",pwd);
if(TextUtils.isEmpty(username) || TextUtils.isEmpty(pwd)){
Toast.makeText(this,"用户名和密码不能为空",Toast.LENGTH_SHORT).show();
}else {
if (DBUtils.checkUserIsExits(LoginActivity.this, username)) {
//如果存在 就登录
if (DBUtils.userLogin(LoginActivity.this,username,pwd)) {
Intent intent=new Intent();
intent.setClass(LoginActivity.this, MainActivity.class);
//启动
startActivity(intent);
}else{
Toast.makeText(this, "密码错误!", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(this, "用户名不存在,请注册!", Toast.LENGTH_SHORT).show();
}
}
}
系统主页效果:

主页内容很多,包含侧边栏效果,浮动发布按钮,推荐列表,分类类型,
设计布局参考:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:context=".activity.MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:id="@+id/topLayout"
android:orientation="vertical"
android:background="#F0A42D"
>
<ImageView
android:id="@+id/leftMenuIv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:src="@mipmap/menus"></ImageView>
<TextView
android:layout_toRightOf="@+id/leftMenuIv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="美食堂"
android:layout_centerVertical="true"
android:textColor="#F44336"
android:textSize="20sp"></TextView>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="260dp"
android:background="@mipmap/lb"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical"
>
</LinearLayout>
<!-- 首页菜单start -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_marginTop="20dp"
android:orientation="horizontal"
android:layout_gravity="bottom">
<!-- 第一个start-->
<LinearLayout
android:layout_width="68dp"
android:layout_height="120dp"
android:orientation="vertical"
android:layout_marginLeft="10dp"
android:layout_weight="1">
<!-- 圆形按钮start-->
<LinearLayout
android:id="@+id/f1"
android:layout_width="64dp"
android:layout_height="90dp"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/f1tv"
android:layout_width="64dp"
android:layout_height="64dp"
android:background="@mipmap/icon_zc"
android:gravity="center"
android:layout_gravity="center"
android:textColor="#6200EE"
android:textAlignment="center"
>
</TextView>
<TextView
android:layout_width="64dp"
android:layout_height="wrap_content"
android:text="早餐"
android:gravity="center">
</TextView>
</LinearLayout>
<!-- 圆形按钮end-->
</LinearLayout>
<!-- 第一个end-->
<!-- 第二个start-->
<LinearLayout
android:layout_width="68dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<!-- 圆形按钮start-->
<LinearLayout
android:id="@+id/f2"
android:layout_width="90dp"
android:layout_height="90dp"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/f2tv"
android:layout_width="64dp"
android:layout_height="64dp"
android:background="@mipmap/icon_wc"
android:gravity="center"
android:layout_gravity="center"
android:textColor="#6200EE"
android:textAlignment="center"
>
</TextView>
<TextView
android:layout_width="64dp"
android:layout_height="wrap_content"
android:text="午餐"
android:gravity="center">
</TextView>
</LinearLayout>
<!-- 圆形按钮end-->
</LinearLayout>
<!-- 第一个start-->
<LinearLayout
android:layout_width="68dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginLeft="10dp"
android:layout_weight="1">
<!-- 圆形按钮start-->
<LinearLayout
android:id="@+id/f3"
android:layout_width="64dp"
android:layout_height="90dp"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/f3tv"
android:layout_width="64dp"
android:layout_height="64dp"
android:background="@mipmap/icon_zw"
android:gravity="center"
android:layout_gravity="center"
android:textColor="#6200EE"
android:textAlignment="center"
>
</TextView>
<TextView
android:layout_width="64dp"
android:layout_height="wrap_content"
android:text="晚餐"
android:gravity="center">
</TextView>
</LinearLayout>
<!-- 圆形按钮end-->
</LinearLayout>
<!-- 第一个end-->
<!-- 第二个start-->
<LinearLayout
android:layout_width="68dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<!-- 圆形按钮start-->
<LinearLayout
android:id="@+id/f4"
android:layout_width="64dp"
android:layout_height="90dp"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/f4tv"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_gravity="center"
android:background="@mipmap/icon_sg"
android:gravity="center"
android:textAlignment="center"
android:textColor="#6200EE"></TextView>
<TextView
android:layout_width="64dp"
android:layout_height="wrap_content"
android:text="水果"
android:gravity="center">
</TextView>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="68dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<!-- 圆形按钮end-->
<LinearLayout
android:id="@+id/f5"
android:layout_width="64dp"
android:layout_height="90dp"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/f5tv"
android:layout_width="64dp"
android:layout_height="64dp"
android:background="@mipmap/icon_qb"
android:gravity="center"
android:layout_gravity="center"
android:textColor="#6200EE"
android:textAlignment="center"
>
</TextView>
<TextView
android:layout_width="64dp"
android:layout_height="wrap_content"
android:text="全部"
android:gravity="center">
</TextView>
</LinearLayout>
</LinearLayout>
<!-- 第二个end-->
</LinearLayout>
<!-- 首页菜单end -->
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical"
android:fadingEdge="vertical">
<!-- 推荐菜品start -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- 文字start-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
>
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:paddingTop="20dp"
android:text="推荐菜品"
android:textSize="20sp">
</TextView>
</LinearLayout>
<!-- 文字end-->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/tjlistView_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
>
<ListView
android:id="@+id/tjListViewId"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
<!--推荐菜品end-->
<com.getbase.floatingactionbutton.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|right"
app:fab_icon="@mipmap/add"
app:fab_size="normal"
app:rippleColor="#FF7D7D"
android:tint="#FF7D7D"
app:backgroundTint="#FF7D7D"
android:id="@+id/floatBtn"
app:fab_colorNormal="#fee">
</com.getbase.floatingactionbutton.FloatingActionButton>
</FrameLayout>
</LinearLayout>
<!-- 推荐菜品end -->
</ScrollView>
</LinearLayout>
<LinearLayout
android:layout_width="200dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/left_layout"
android:background="#C3D9D9D9"
android:layout_gravity="start"
>
<LinearLayout
android:layout_width="200dp"
android:layout_height="100dp"
>
<ImageView
android:layout_gravity="center"
android:gravity="center"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/iconsc">
</ImageView>
<TextView
android:layout_width="120dp"
android:layout_height="50dp"
android:textColor="@color/white"
android:layout_gravity="center"
android:gravity="center"
android:id="@+id/main_mysc"
android:text="我的收藏">
</TextView>
</LinearLayout>
<LinearLayout
android:layout_width="200dp"
android:layout_height="100dp"
>
<ImageView
android:layout_gravity="center"
android:gravity="center"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/iconrank">
</ImageView>
<TextView
android:layout_width="120dp"
android:layout_height="50dp"
android:textColor="@color/white"
android:layout_gravity="center"
android:gravity="center"
android:id="@+id/main_rank"
android:text="排行榜">
</TextView>
</LinearLayout>
<LinearLayout
android:layout_width="200dp"
android:layout_height="100dp"
>
<ImageView
android:layout_gravity="center"
android:gravity="center"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/iconmy">
</ImageView>
<TextView
android:layout_width="120dp"
android:layout_height="50dp"
android:textColor="@color/white"
android:layout_gravity="center"
android:gravity="center"
android:id="@+id/main_mycenter"
android:text="个人中心">
</TextView>
</LinearLayout>
</LinearLayout>
</androidx.drawerlayout.widget.DrawerLayout>
篇幅有限,该项目内容还是挺多,希望能够帮助到大家,有不懂的,请留言评论。
1848

被折叠的 条评论
为什么被折叠?



