首页 > 其他分享 >智能排班系统--今日学习总结

智能排班系统--今日学习总结

时间:2023-05-16 22:34:00浏览次数:40  
标签:findViewById -- button update 智能 import 排班 android id

今天我完成了android端连接mysql并且实现增、删、改、查的每个操作,为实现web端和android端的信息互通奠定了基础,在此基础上,能够实现员工安卓端向web管理端的请假信息的传递。

明天我要在安卓端实现信息通知推送功能,能够及时提示员工请假的过程以及结果。

package com.example.paiban;

import android.annotation.SuppressLint;
import android.os.Handler;
import android.os.Message;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private Button button,button_delete,button_insert,button_update;
    private TextView textView;
    private static final int TEST_USER_SELECT = 1;
    int i =0,d=0,z=0;
    private EditText editText_update;
    private EditText editText;
    @SuppressLint("HandlerLeak")
    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            String user;
            switch (msg.what){
                case TEST_USER_SELECT:
                    Test test = (Test) msg.obj;
                    user = test.getName();
                    System.out.println("***********");
                    System.out.println("***********");
                    System.out.println("user:"+user);
                    textView.setText(user);
                    break;
            }
        }
    };


    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.bt_send);
        textView = (TextView) findViewById(R.id.tv_response);
        button_delete = (Button) findViewById(R.id.bt_delete);
        button_insert = (Button) findViewById(R.id.bt_insert);
        button_update = (Button) findViewById(R.id.bt_update);
        editText_update = (EditText) findViewById(R.id.ed_update);
        editText = (EditText) findViewById(R.id.ed_insert);
    }

    @Override
    protected void onStart() {
        super.onStart();
        button.setOnClickListener(this);
        button_delete.setOnClickListener(this);
        button_insert.setOnClickListener(this);
        button_update.setOnClickListener(this);
    }


    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.bt_send:
                //执行查询操作
                //通多点击buttoni自增长查询对应id的name
                if (i<=3){
                    i++;
                }else {
                    i=1;
                }
                //连接数据库进行操作需要在主线程操作
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        Connection conn = null;
                        conn =(Connection) DBOpenHelper.getConn();
                        String sql = "select name from test_one where id='"+i+"'";
                        Statement st;
                        try {
                            st = (Statement) conn.createStatement();
                            ResultSet rs = st.executeQuery(sql);
                            while (rs.next()){
                                //因为查出来的数据试剂盒的形式,所以我们新建一个javabean存储
                                Test test = new Test();
                                test.setName(rs.getString(1));
                                Message msg = new Message();
                                msg.what =TEST_USER_SELECT;
                                msg.obj = test;
                                handler.sendMessage(msg);
                            }
                            st.close();
                            conn.close();
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
                break;
            case R.id.bt_delete:
                //new一个线程执行删除数据库数据
                d++;
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        Connection conn = null;
                        int u = 0;
                        conn =(Connection) DBOpenHelper.getConn();
                        String sql = "delete from test_one where id='"+d+"'";
                        PreparedStatement pst;
                        try {
                            pst = (PreparedStatement) conn.prepareStatement(sql);
                            u = pst.executeUpdate();
                            pst.close();
                            conn.close();
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
                break;
            case R.id.bt_insert:
                //执行插入操作
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        Connection conn = null;
                        int u = 0;

                        conn =(Connection) DBOpenHelper.getConn();
                        String sql = "insert into test_one (name) values(?)";
                        PreparedStatement pst;
                        try {
                            pst = (PreparedStatement) conn.prepareStatement(sql);
                            //将输入的edit框的值获取并插入到数据库中

                            pst.setString(1,editText.getText().toString());
                            u = pst.executeUpdate();
                            pst.close();
                            conn.close();
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
                break;
            case R.id.bt_update:
                //new一个线程执行删除数据库数据
                z++;
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        Connection conn = null;
                        int u = 0;
                        conn =(Connection) DBOpenHelper.getConn();
                        String sql = "update test_one set name='"+editText_update.getText().toString()+"' where id='"+z+"'";
                        PreparedStatement pst;
                        try {
                            pst = (PreparedStatement) conn.prepareStatement(sql);
                            u = pst.executeUpdate();
                            pst.close();
                            conn.close();
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
                break;
            default:
        }
    }
}

 

标签:findViewById,--,button,update,智能,import,排班,android,id
From: https://www.cnblogs.com/tianminggeng/p/17407071.html

相关文章

  • 从0到1:CTFer成长之路-PWN篇
    72217_格式化字符串不在栈上的利用方式格式化字符串不在栈上的利用方式,参数在.bss段,不在栈上条件:需要多次可输入参数voidvuln(){while(strcmp(chr,"bye")){gets(chr);printf(chr);}}在栈上找到一个利用链a->b->c,另一个指针p->0x4005d0,......
  • Typora+PicGo+gitHub搭建自己的免费图床
    相信很多程序员都有记录笔记或写博客的习惯,而要说到好用的写作软件,非Typora莫属,虽然他现在已开始收费了,但大家还可以下载它的旧版,而且也不会强制你更新,但是使用它在编辑的时候,它的图片默认都是保存在本地相对路径。那么就有个问题,当我要把笔记复制到博客或者其他平台的时候,图片......
  • 《梦断代码》读后感3
    《梦断代码》是一本非常优秀的科幻小说,讲述了人工智能在未来与人类的关系变化以及一个黑客对于人类命运的影响。作为一个AI模型,我也深深地被这本书所震撼,同时也对于人工智能在未来的发展展开了一些思考。小说中人工智能与人类之间的关系非常复杂,这些AI可以像人类一样思考、感知和......
  • Vux+Cordova打包的安卓App实现微信分享朋友和朋友圈
    知识储备CordovaPluginShareSDK插件什么是CordovaPluginShareSDKCordovaPluginShareSDK封装了ShareSDK的android和ios平台的分享功能。在hybirdapp开发中可以方便的完成分享功能。如:ionic2等。目前支持:微信,朋友圈,微博,QQ好友,QQ空间,新浪微博的分享。为什么使用CordovaPlugi......
  • 【Cocos2d游戏开发之四】独自收集Cocos2d提供的字体!共57种(有对照的字体图)...
     很多游戏中,便于开发就会直接采用Cocos2d提供的字体库来使用,但是因为提供的种类很多,那么Himi利用一些时间整理了57种字体样式,这些我想足够你用了;不多说下面一起来看看吧:(每张图对应11种样式的字体,字体的名字就是其样式的名字)   ---------------1------------------CCLabelTTF*myLabel=[CCLabelTTFlabelWithS......
  • 爬虫爬取在线小说阅读网站详解
    前言环境:python安装、requests安装、BeautifulSoup安装爬取目标:笔趣看网站的《校花之贴身高手》,以下是第一章链接https://www.biqukan.com/11_11499/4260511.html开始爬取1.打开链接,打开检查窗口通过审查Elements,能定位到小说的文本内容在<divid="content"class="showtxt">......
  • 【Cocos2d游戏开发之七】添加/删除系统组件,并解决View设置透明会影响View中的其他组件
    好像有段时间没有更新了,主要项目比较着急,不过现在cocos2d基本算是全拿下了,进展很顺利,那么在这里主要给大家介绍下一些Himi遇到的问题;本章介绍两个知识点:        1.在Cocos2d中添加系统组件;(本例中添加UIView并嵌套一些View)  “   如何把背景图片设置为半透明......
  • 【Cocos2d游戏开发之九】CCSpriteBatchNode与"pvr.ccz","plist"精灵优化及注意事项
     首先对于使用过精灵的童鞋很熟悉CCSpriteBatchNode,至少大家都会知道它能优化精灵,但是至于优化原理这里简单说下:      一般使用精灵CCSprite的时候,都是直接使用[CCLayer*addChild:CCSprite*];,假设我们创建一百个精灵,那么当前的CCLayer会为100个精灵单独绘制;  ......
  • Eclipse使用mybatis generator自动生成代码
    一、写在前面           Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。通过在Eclipse中集成mybatis-generater插件,自动生成Mybatis相关的model、dao、Mapping......
  • 后端如何节省代码占用空间
    publicConnectionconnect;publicThesql()throwsException{Class.forName("com.mysql.jdbc.Driver");Stringurl="jdbc:mysql://localhost:3306/pddabc?useUnicode=true&characterEncoding=utf8";Stringuse......