第四周总结

本周工作内容
​​Android直接连接MySQL数据库​​
通过本地导入mysql-connector-java-5.1.47.jar实现JDBC连接
创建JDBCHelper工具类管理数据库连接
实现课程信息添加功能(包含数据校验和异常处理)
添加网络权限
​​地铁票价计算系统开发​​
完成地铁线路数据建模(3条线路,60+站点)
实现票价计算核心算法(含换乘逻辑)
开发完整的购票流程界面
修复站点判断逻辑错误导致的计费问题
学到的知识
​​Android数据库连接​​
JDBC在Android中的基本使用方法
本地jar包的导入和配置
数据库操作的最佳实践(子线程执行、UI线程更新)
使用runOnUiThread进行线程间通信
​​复杂业务逻辑实现​​
地铁线路的图结构建模
最短路径算法实现(含换乘计算)
票价分段计算规则(每3站1元)
异常输入处理(相同站点、无效票数)
​​Android UI开发​​
Spinner下拉选择器的使用
表单数据验证
多控件联动逻辑
状态按钮控制(计算完成前禁用购买)
遇到的问题及解决方法
​​问题​​:JDBC连接失败
​​原因​​:Android模拟器访问本地数据库需使用特殊IP(10.0.2.2)
​​解决​​:修改连接URL为jdbc:mysql://10.0.2.2:3306/dbname
​​问题​​:票价计算结果错误
​​原因​​:换乘站点判断逻辑遗漏了二次换乘情况
​​解决​​:重构calculateStationCount方法,增加多线路换乘判断
​​问题​​:UI卡顿
​​原因​​:数据库操作在主线程执行
​​解决​​:使用new Thread()处理耗时操作
代码统计
​​数据库连接项目​​
Java代码:85行(含JDBC工具类和业务逻辑)
XML布局:45行
耗时:6小时(含环境配置调试)
​​地铁票价项目​​
模型类:60行(Station/Line)
业务逻辑:220行(含核心算法)
界面代码:90行XML+60行Java
总代码量:430行
耗时:12小时(含测试调试)
经验总结
​​架构设计方面​​
直接数据库连接仅适合学习使用,生产环境应使用API
复杂业务逻辑应先设计算法流程图
模型类要准确反映业务实体关系
​​编码实践方面​​
多线程处理必须配合UI线程回调
核心算法需要单元测试验证
用户输入必须严格校验
​​项目经验​​
通过地铁项目掌握了复杂状态管理
认识到算法设计对业务实现的关键作用
体会到调试复杂逻辑的系统性方法
后续计划
学习Room等Android本地数据库方案
研究Dijkstra等图算法优化路径计算
尝试将地铁项目改为MVVM架构
学习性能优化和内存管理技巧

posted @ 2025-06-15 14:45  vivi_vimi  阅读(6)  评论(0)    收藏  举报