Aaron_005 2017-04-10 08:11 采纳率: 0%
浏览 1125

Android时间轴记账app是怎么实现删除修改的,类似口袋记账软件

使用的是SQLite数据库,把记账明细的ID设为自增,然后在时间轴上点击账单想要进行修改删除,我是通过domain包中的record类的个体的()方法获取自增ID。结果获取不到,取到的值都为0,没办法实现删除,修改。
图片说明
还有部分代码:图片说明
图片说明

  • 写回答

1条回答 默认 最新

  • ღ᭄陽先生꧔ꦿ᭄ 2024-02-16 09:19
    关注

    确认数据库版本: 确保您使用的SQLite数据库版本支持自增属性。SQLite从3.8.3版本开始引入了自增属性,如果您使用的版本较低,可能需要升级。
    检查表结构: 确认您的orecord类是否正确映射了数据库表结构。自增字段通常需要在数据库表中设置为自动增长的,例如:

    CREATE TABLE IF NOT EXISTS accounts (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        ...
    );
    在您的orecord类中,应该有相应的设置来处理这个自增ID。
    事务处理: 在Android中操作数据库时,最好使用事务来确保数据的一致性。在修改或删除记录时,确保您的操作在事务中进行。
    检查数据访问层: 您提到通过()方法获取自增ID,但这个方法的具体实现没有给出。确保这个方法是正确实现的,并且是在数据库操作完成之后调用。
    检查生命周期管理: 在Android中,由于应用的生命周期管理,数据库的操作需要在正确的时机进行。如果在数据库打开之前就尝试获取ID,或者在数据库关闭之后操作,都可能导致获取到的ID为0。
    日志调试: 在获取ID之前,添加日志输出,查看数据库操作是否成功执行,以及orecord类的方法调用是否按预期进行。
    检查网络连接和同步问题: 如果您的时间轴记账数据是同步远程服务器上的,确保网络连接正常,并且同步逻辑没有问题。
    
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏