• 基于安卓平台的远程医疗APP设计


    目录
    1概述 3
    1.1介绍选题背景和目的意义 3
    1.2小组分工 3
    2需求分析 3
    3总体设计 4
    3.1系统架构设计 4
    3.2功能结构设计 5
    3.2.1注册、登录 UI 模块设计 5
    3.2.2数据库模块设计 6
    3.3数据结构设计 7
    4详细设计与实现 7
    4.1UI 界面详细实现 7
    4.2数据库模块详细设计 8
    4.3UI 和数据库连接的详细设计 9
    4.4调试与测试 10
    5 总结 11
    6 参考文献 11
    2需求分析

    我们这个远程医疗需要做到用户的注册和登录功能、医生和病人的原因或者视频问诊,医生举行直播课堂讲解医疗知识,病人可以在

    界面中通过点击获取急救小常识。

    我这部分的业务需求为登录和注册用户,登录成功后跳转到选择科室界面。
    业务流程为首先用户进入 app 会显示登录界面,如果有账号,则直接输入账号密码,如果没有账号,则点击注册按钮跳转到注册界面, 通过填写账户、密码、昵称、手机号、年龄来注册账号。
    数据性需求,作为一项医疗的 app,需要获取病人手机号作为后期治疗和反馈的通信方式,获取病人年龄便于医生更好的判断病情。
    技术可行性,我们只做了个样例,数据并不算很多,如果以后扩大规模,就要依靠云数据库和云处理器,使技术更加可行。
    经济可行性,本文转载自http://www.biyezuopin.vip/onews.asp?id=15009对于这个项目开发的成本并不大,大部分成本为维护数据库,通过远程医疗也让接诊的数量增加,而且节约医院接待成本。

    3总体设计

    3.1系统架构设计

    注册登录模块分为登录界面设计、注册模块设计、数据库创表、数据库与界面连接。

    3.2功能结构设计

    3.2.1注册、登录 UI 模块设计

    登录界面设计主要是 UI 布局,通过对“注册”、“登录”按钮的监听实现功能。
    “注册”按钮通过监听函数,实现点击按钮跳转到注册界面。

    “登录”按钮通过监听函数,将“账号”和“密码”两个文本框的内容读取,再通过 JDBC 连接数据库查找数据库中的账号信息进行比对,相同则登录成功,跳转选择科室界面,否则提示登录失败。

    package com.tencent.trtc.apiexample;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.Toast;
    
    import com.tencent.trtc.apiexample.Dao.UserDao;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
        }
    
        public void reg(View view) {
            startActivity(new Intent(getApplicationContext(), RegisterActivity.class));
        }
    
    
        public void login(View view) {
    
            EditText EditTextname= (EditText) findViewById(R.id.name);
            EditText EditTextpassword = (EditText) findViewById(R.id.password);
    
            new Thread() {
                @Override
                public void run() {
    
                    UserDao userDao = new UserDao();
    
                    boolean aa = userDao.login(EditTextname.getText().toString(), EditTextpassword.getText().toString());
                    int msg = 0;
                    if (aa) {
                        msg = 1;
                    }
                    hand1.sendEmptyMessage(msg);
                }
            }.start();
        }
    
        final Handler hand1 = new Handler() {
            @Override
            public void handleMessage(Message msg) {
    
                if (msg.what == 1) {
                    Toast.makeText(getApplicationContext(), "登录成功", Toast.LENGTH_LONG).show();
                   Intent intent = new Intent();
                    intent.setClass(MainActivity.this,SelectActivity.class);
                    startActivity(intent);
                } else {
                    Toast.makeText(getApplicationContext(), "登录失败", Toast.LENGTH_LONG).show();
                }
            }
        };
    
    
    
    
        public void register_onClick (View view){
            //为了跳转到注册界面,并实现注册功能
            //Intent intent = new Intent(MainActivity.this, RegisterActivity.class);
            Intent intent = new Intent();
            intent.setClass(MainActivity.this,RegisterActivity.class);
            startActivity(intent);
    
        }
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    探索CSS中的宽度设置:width: 100% 与 width: auto 的区别
    K-近邻算法(KNN)
    前端工程化精讲第十七课 部署初探:为什么一般不在开发环境下部署代码?
    mac下vue-cli从2.9.6升级到最新版本
    GaN HEMTs在电力电子应用中的交叉耦合与基板电容分析与建模
    pygame退出时卡死
    如何隐藏自己的代码(很酷)
    MFC入门基础(十二)控件 CScrollBar的使用
    汽车线束行业调研:预计2028年将达到615亿美元
    多线程和线程池
  • 原文地址:https://blog.csdn.net/sheziqiong/article/details/126928136