毕业设计+Adroid课程设计+mysql)"/>
基于Android的居家老人看护系统(Android studio毕业设计+Adroid课程设计+mysql)
博主介绍:本人专注于Android/java/数据库/微信小程序技术领域的开发,以及有好几年的计算机毕业设计方面的实战开发经验和技术积累;尤其是在安卓(Android)的app的开发和微信小程序的开发,很是熟悉和了解;本人也是多年的Android开发人员;希望我发布的此篇文件可以帮助到您;
🍅文章末尾获取源码下载方式🍅
目录
一、项目介绍
二、运行环境
三、使用技术
五、部分代码
1:添加吃药提醒
2:用户登录界面
六、浏览更多Android毕业设计
七、毕业设计部分免费源码分享下载
一、项目介绍
用户功能介绍:
1:注册模块,用户在使用软件前需要进行用户信息的注册
2:用户登录:用户通过自己的注册信息进行软件的登录
3:检测管理:用户可以每天对自己的血压、血糖进行检测和记录
4:运动管理:用户可以记录自己的运动信息
5:饮食管理:用户可以记录自己每天的饮食情况
6:吃药提醒:用户可以设置每天的吃药情况,通过设置闹铃的情况到时间进行提醒
7:个人信息:用户可以浏览个人信息,以及对密码进行修改;达成目标
1:对自身状况的增删改查
2:查看、修改个人的运动信息
3:查看、修改饮食状况
4:对于历史纪录的增删改查
5:对于账号信息的增删改查
6:类似于闹钟的提醒功能
7:类似备忘录的记录、提醒功能
二、运行环境
1:客户端使用Android stuido进行开发;
2:服务端后台使用Myeclipse2014进行开发;
3:mysql数据库进行数据存储;
4:需要jdk1.7以上
5:使用雷电模拟器或者Androidstuio自带的模拟器进行运行
三、使用技术
总体设计逻辑和思路:
1:先设计数据库表文件
2:写服务端jsp页面以及写api接口给客户端提供数据
3:完成后台服务端的数据交互,也就是jsp页面数据的存储和显示
4:进行客户端页面的开发;
5:进行客户端对api接口的调用,也就是获取数据库的数据以及在客户端进行显示移动端:
1:使用android原生控件以及xml布局文件来完成界面的显示
2:使用java代码完成功能的数据和逻辑交互
3:使用http网络请求完成数据的请求;
4:使用json数据解析完成客户端数据的回调和显示服务端后台:
1:使用mysql完成数据的存储
2:使用jdbc完成数据库和代码的逻辑交互
3:使用jsp完成网页数据的显示
4:使用java代码完成api接口的编写以及以及数据的回调
五、部分代码
1:添加吃药提醒
public class CreateDMActivity extends BaseActivity implements TimePickerDialog.TimePickerDialogInterface {
// title
private TextView mTvTitle;
private ImageView mIvBack;
private Button mbtnAdd;
private EditText adminName;
private Button mChoiceFile;
TimePickerDialog mTimePickerDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_creat_drug);
initWidget();
initData();
}@Override
public void initWidget() {mTimePickerDialog = new TimePickerDialog(this);
adminName = (EditText) findViewById(R.id.adminName);
mChoiceFile = (Button) findViewById(R.id.mChoiceFile);
mbtnAdd = (Button) findViewById(R.id.mbtnAdd);
mIvBack = (ImageView) findViewById(R.id.mIvBack);
mTvTitle = (TextView) findViewById(R.id.mTvTitle);
mTvTitle.setText("吃药提醒");
mIvBack.setVisibility(View.VISIBLE);
mIvBack.setOnClickListener(this);
mbtnAdd.setOnClickListener(this);
mChoiceFile.setOnClickListener(this);
}@Override
public void onClick(View v) {switch (v.getId()) {
case R.id.mIvBack:
CreateDMActivity.this.finish();
break;
case R.id.mbtnAdd:
addAdmin(true);
break;
case R.id.mChoiceFile:
mTimePickerDialog.showDatePickerDialog();
break;}
}@Override
public void initData() {
}
private void addAdmin(boolean isShow) {
AjaxParams params = new AjaxParams();
params.put("action_flag", "addAdmin");
params.put("adminName",adminName.getText().toString());
params.put("adminMessage", mChoiceFile.getText().toString());
params.put("adminUserId", MemberUserUtils.getUid(this));
params.put("adminUserName", MemberUserUtils.getUid(this));
params.put("adminType", "2");
httpPost(Consts.URL + Consts.APP.MessageAction, params, Consts.actionId.resultFlag, isShow, "ÕýÔÚÌá½»...");
}@Override
protected void callBackSuccess(ResponseEntry entry, int actionId) {
super.callBackSuccess(entry, actionId);
DMObservable.getInstance().notifyStepChange("updateOK");
ToastUtil.show(CreateDMActivity.this, entry.getRepMsg());
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
CreateDMActivity.this.finish();
}
}, 1000);
}@Override
protected void callBackAllFailure(String strMsg, int actionId) {
super.callBackAllFailure(strMsg, actionId);
ToastUtil.show(CreateDMActivity.this, strMsg);}
@Override
public void positiveListener() {
String year = mTimePickerDialog.getYear() + "";String hour = mTimePickerDialog.getHour() + "";
String minute = mTimePickerDialog.getMinute() + "";
String month;
String day;if (mTimePickerDialog.getMonth() < 9) {
month = "0" + (mTimePickerDialog.getMonth());
} else {
month = "" + (mTimePickerDialog.getMonth());
}
if (mTimePickerDialog.getDay() < 9) {
day = "0" + (mTimePickerDialog.getDay());
} else {
day = "" + (mTimePickerDialog.getDay());
}
if (mTimePickerDialog.getMinute() < 9) {
minute = "0" + (mTimePickerDialog.getMinute());
} else {
minute = "" + (mTimePickerDialog.getMinute());
}if (mTimePickerDialog.getHour() < 9) {
hour = "0" + (mTimePickerDialog.getHour());
} else {
hour = "" + (mTimePickerDialog.getHour());
}
// giveToTime.setText(year + "-" + month + "-" + day);
if (flag) {
mTimePickerDialog.showTimePickerDialog();
mChoiceFile.setText(year + "-" + month + "-" + day);
} else {
mChoiceFile.setText(year + "-" + month + "-" + day + " " + hour + ":" + minute);
}flag = false;
}
private boolean flag = true;
@Override
public void negativeListener() {
// TODO Auto-generated method stub}
}
2:用户登录界面
public class LoginActivity extends BaseActivity {
private static boolean isServerSideLogin = false;
// title
private TextView mTvTitle;
private EditText mLoginNumber;
private EditText mLoginPswd;
private Button mLogin;
private Button mEnterpriseQuery;
private LinearLayout mllTop;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
initWidget();
}
@Override
public void initWidget() {
mTvTitle = (TextView) findViewById(R.id.mTvTitle);
mLoginNumber = (EditText) findViewById(R.id.mLoginNumber);
mLoginPswd = (EditText) findViewById(R.id.mLoginPswd);
mLogin = (Button) findViewById(R.id.mLogin);
mEnterpriseQuery = (Button) findViewById(R.id.mEnterpriseQuery);
mLogin.setOnClickListener(this);
mEnterpriseQuery.setOnClickListener(this);
mLoginNumber.setSelection(mLoginNumber.getText().length());
mLoginNumber.setText("15249241116");
mLoginPswd.setText("123456");
}@Override
public void onClick(View v) {switch (v.getId()) {
case R.id.mLogin:
if (TextUtils.isEmpty(mLoginNumber.getText().toString())) {
return;
}
if (TextUtils.isEmpty(mLoginPswd.getText().toString())) {
return;
}
//
LoginUserPost(true);
//
break;
case R.id.mEnterpriseQuery:
Intent mEnterpriseQuery = new Intent(LoginActivity.this, RegisterCreatActivity.class);
startActivity(mEnterpriseQuery);
default:
break;
}
}@Override
public void initData() {
}private void LoginUserPost(boolean isShow) {
AjaxParams params = new AjaxParams();
params.put("action_flag", "login");
params.put("userPhone", mLoginNumber.getText().toString());
params.put("userPswd", mLoginPswd.getText().toString());
httpPost(Consts.URL + Consts.APP.RegisterAction, params, Consts.actionId.resultFlag, isShow, "ÕýÔڵǼ...");
}@Override
protected void callBackSuccess(ResponseEntry entry, int actionId) {
super.callBackSuccess(entry, actionId);switch (actionId) {
case Consts.actionId.resultFlag:if (null != entry.getData() && !TextUtils.isEmpty(entry.getData())) {
UserModel userModel = mGson.fromJson(entry.getData(), UserModel.class);
MemberUserUtils.setUid(LoginActivity.this, userModel.getUserId());
MemberUserUtils.setName(LoginActivity.this, userModel.getUserName());
MemberUserUtils.putBean(LoginActivity.this, "user_messgae", userModel);
Intent intent = new Intent(LoginActivity.this, FrameworkActivity.class);
startActivity(intent);
finish();}
break;}
}
@Override
protected void callBackAllFailure(String strMsg, int actionId) {
super.callBackAllFailure(strMsg, actionId);ToastUtil.show(LoginActivity.this, strMsg);
}
}
六、浏览更多Android毕业设计
毕业设计-基于android的租房信息发布平台的APP_信息发布app源码_Android毕业设计源码的博客-CSDN博客
毕业设计-基于android选课系统的设计与实现_android学生选课系统_Android毕业设计源码的博客-CSDN博客
毕业设计之校园一卡通管理系统的设计与实现_一卡通管理系统实现_Android毕业设计源码的博客-CSDN博客
基于Android的校园二手闲置物品交易系统设计与实现_基于android的二手交易平台_Android毕业设计源码的博客-CSDN博客
基于androidstudio校园快递APP系统的设计与实现_android studio论文_Android毕业设计源码的博客-CSDN博客
基于android的商城购物定制APP_安卓开发购物app_Android毕业设计源码的博客-CSDN博客
更多毕业设计可以浏览我的个人主页哦!
七、毕业设计部分免费源码分享下载
大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻
1:V信搜索“毕业设计小码哥”,也可以关注下方公众号,然后点击菜单栏“源码说明-源码下载”
2:点击小程序下面截图
3:选择Android就可以看到下载源码
更多推荐
基于Android的居家老人看护系统(Android studio毕业设计+Adroid课程设计+mysql)
发布评论