目前打卡系统基本完成
没有实现的功能有无法统计次数 和 连接本地数据库
我全程连接的远程数据库
package com.example.test_four.utils; import java.sql.Connection; import java.sql.DriverManager; /** * function: 数据库工具类,连接数据库用 */ public class JDBCUtils { private static final String TAG = "mysql-party-JDBCUtils"; private static String driver = "com.mysql.jdbc.Driver";// MySql驱动 private static String dbName = "party";// 数据库名称 private static String user = "root";// 用户名 private static String password = "123456";// 密码 public static Connection getConn(){ Connection connection = null; try{ Class.forName(driver);// 动态加载类 String ip = "192.168.180.241";// 写成本机地址,不能写成localhost,同时手机和电脑连接的网络必须是同一个 // 尝试建立到给定数据库URL的连接 connection = DriverManager.getConnection("jdbc:mysql://" + ip + ":3306/" + dbName, user, password); }catch (Exception e){ e.printStackTrace(); } return connection; } }
还有周一设置目标 周五进行分析 的限制代码
public void 分析(View view) { Calendar calendar = Calendar.getInstance(); int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); // 判断当前系统日期是否为周五(Calendar.FRIDAY 对应值为6) if (dayOfWeek == Calendar.SUNDAY) { String account = getIntent().getStringExtra("account"); Intent intent = new Intent(this, analysis.class); intent.putExtra("account", account); startActivity(intent); } else { // 如果不是周五,给出提示或者执行其他操作 Toast.makeText(this, "今天不是周五,无法进行下列操作", Toast.LENGTH_SHORT).show(); } } public void 目标(View view) { Calendar calendar = Calendar.getInstance(); int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); // 判断当前系统日期是否为周一(Calendar.SUNDAY 对应值为1,Calendar.MONDAY 对应值为2) if (dayOfWeek == Calendar.SUNDAY) { String account = getIntent().getStringExtra("account"); Intent intent = new Intent(this, target.class); intent.putExtra("account", account); startActivity(intent); } else { // 如果不是周一,给出提示或者执行其他操作 Toast.makeText(this, "今天不是周一,无法进行下列操作", Toast.LENGTH_SHORT).show(); } }
周五的前四天 是周一 只有符合当前系统时间的 前四天 以及账号匹配 才可以进行数据库修改 对目标进行分析
public static boolean ana(User user, String account) { Connection connection = JDBCUtils.getConn(); Date currentDate = new Date(); // 获取当前系统时间 try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); calendar.setTime(currentDate); calendar.add(Calendar.DATE, -4); // 往前推四天 Date fourDaysAgo = calendar.getTime(); String fourDaysAgoString = sdf.format(fourDaysAgo); String sql = "SELECT * FROM goal WHERE DATE(date1) = ? AND account = ?"; PreparedStatement ps = connection.prepareStatement(sql); ps.setString(1, fourDaysAgoString); ps.setString(2, account); ResultSet rs = ps.executeQuery(); if (rs.next()) { // 存在符合条件的数据 String insertSql = "INSERT INTO goal(analysis) VALUES (?)"; PreparedStatement insertPs = connection.prepareStatement(insertSql); insertPs.setString(1, user.getAnalysis()); int result = insertPs.executeUpdate(); if (result > 0) { return true; } else { return false; } } else { return false; } } catch (Exception e) { e.printStackTrace(); Log.e(TAG, "异常ana:" + e.getMessage()); return false; } }
标签:account,String,Calendar,app,connection,static,calendar,打卡,安卓 From: https://www.cnblogs.com/youxiandechilun/p/18093291