【BMI指数计算器V3.0】项目实战震撼发布,欢迎前来交流~~~,如果是刚来的朋友可以先从
【BMI指数计算器V1.0】项目实战,【BMI指数计算器V2.0】项目实战开始,这样循序渐进更能感受到每一个版本更新的依据,从而更好的学习。
更新列表
1.增加了用户计算的历史记录;
2.增加了对历史记录的单条删除(长按条目);
3.增加了对历史记录的清空功能;
4.增加了删除历史记录的二次提示按钮,并制作了通用对话框工具;
5.增加了推出APP的对话框确认功能。
项目效果图
静态效果图:
动态效果图:
项目结构
图片资源
技术预告
本次更新功能中需要用到的技术:
1.SQLite数据库技术(创建数据库,数据表,增,删,改,查);
2.ListView列表控件,BaseAdapter适配器,数据模型;
3.对话框技术(AlertDialog);
4.异步任务类(AsynTask,多线程概念)
界面开发
step1:首先准备资源,将图片拷贝到drawable-hdpi文件夹中
step2:编写资源文件(colors.xml颜色资源,dimens.xml尺寸资源,strings.xml字符串资源,drawable背景切换图片资源)
颜色资源:values/colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 颜色资源文件 -->
<!-- 白色 -->
<color name="white" >#ffffff</color>
<color name = "black">#000000</color>
<!-- 透明 -->
<color name = "tran">#00000000</color>
<color name = "gray">#808080</color>
</resources>
<resources>
<!-- 尺寸资源文件 -->
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="text_22">22sp</dimen>
<dimen name="text_14">14sp</dimen>
<dimen name="text_16">16sp</dimen>
<dimen name="text_18">18sp</dimen>
<dimen name="text_15">15sp</dimen>
<dimen name="margin_40">40dp</dimen>
<dimen name="margin_16">16dp</dimen>
<dimen name="margin_14">14dp</dimen>
<dimen name="margin_10">10dp</dimen>
<dimen name="margin_8">8dp</dimen>
<dimen name="padding_16">16dp</dimen>
<dimen name="w_50">50dp</dimen>
<dimen name="h_25">25dp</dimen>
</resources>
字符串资源 :values/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 字符串资源文件 -->
<string name="app_name">BMI指数计算器</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="title">BMI指数计算器</string>
<string name="height">您的身高</string>
<string name="cm">(厘米)cm</string>
<string name="weight">您的体重</string>
<string name="kg">(千克)kg </string>
<string name="cala">计算</string>
<string name="clear">清除</string>
<string name="weight_bmi">您的体重指数:</string>
<string name="weight_state">您的体重状况:</string>
<string name="weight_bmi1">体重指数:</string>
<string name="weight_state1">体重状况:</string>
<string name="tip1">身高不能为空</string>
<string name="tip2">输入格式不正确</string>
<string name="tip3">体重不能为空</string>
<string name="standard_who">WHO标准</string>
<string name="standard_area">亚洲标准</string>
<string name="height_round">身高范围100~200</string>
<string name="weight_round">体重范围30~150</string>
<string name="history">历史记录</string>
<string name="empty">空空如也~~~</string>
<!-- 对话框相关字符串资源 -->
<string name="delete">删除</string>
<string name="clear1">清空</string>
<string name="back">退出程序</string>
<string name="delete_message">您确定要删除该记录吗?</string>
<string name="clear1_message">您确定要清空所有记录吗?</string>
<string name="back_message">您确定要退出程序吗?</string>
<string name="ok">确定</string>
<string name="cancel">取消</string>
</resources>
返回按钮背景:drawable/btn_back_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_back_pressed" android:state_pressed="true"></item>
<item android:drawable="@drawable/btn_back_normal"></item>
</selector>
计算/重新计算按钮背景:drawable/btn_cala_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/btn_cala_pressed" android:state_pressed="true"></item>
<item android:drawable="@drawable/btn_cala_normal"></item>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmln