基于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就可以看到下载源码

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Android Studio是一种专门用于开发Android应用程序的集成开发环境(IDE)。它提供了丰富的功能和工具,可以帮助开发者轻松地创建、测试和调试Android应用程序。 使用Android Studio进行毕设项目开发,你可以按照以下步骤进行: 1. 下载和安装Android Studio:你可以从官方网站(https://developer.android.com/studio)下载Android Studio,并按照安装向导进行安装。 2. 创建新项目:打开Android Studio后,选择“Start a new Android Studio project”选项,然后按照向导的指示填写项目名称、包名和其他相关信息。 3. 设计用户界面:使用Android Studio的布局编辑器可以轻松地设计应用程序的用户界面。你可以拖放各种UI组件,设置属性和样式,以及预览界面的外观。 4. 编写代码:使用Java或Kotlin编写应用程序的逻辑代码。你可以在Android Studio的代码编辑器中编写代码,并利用自动补全、错误检查和调试功能来提高开发效率。 5. 运行和调试应用程序:Android Studio提供了内置的模拟器和设备管理器,可以方便地运行和调试应用程序。你可以选择模拟器或连接实际的Android设备进行测试。 6. 测试和优化:Android Studio提供了丰富的测试工具,可以帮助你进行单元测试、UI测试和性能分析。你可以使用这些工具来确保应用程序的质量和性能。 7. 打包和发布:完成开发和测试后,你可以使用Android Studio的打包工具将应用程序打包为APK文件,并上传到Google Play商店或其他应用分发渠道进行发布。 总结起来,Android Studio是一个功能强大的开发工具,可以帮助你轻松地开发Android应用程序。它提供了丰富的功能和工具,包括代码编辑器、布局编辑器、模拟器、调试器等等,可以大大提高开发效率和应用程序的质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android毕业设计源码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值