Android Kotlin关于新增本地数据库对象表字段问题

在项目中,遇到这样一个问题。在升级新版本后,有用户反馈对原本已经存在手机本地数据库的文件进行相关操作的时候出现了闪退,但升级后再新创建的文件就是正常。经过详细的排查(控制变量法),看看自己新版本到底更新了啥。最后发现了问题的所在:新版本在存储本地数据表的文件对象上面,新增了两个字段,都是字符串类型但也是赋了初值的。

新增的字段:

var translateLanguageTo:String = "",
var translateResult:String? = ""

上面新增的字段看着没啥问题,用起来也是正常的。但当你的应用里面有原始的数据升级后就会发现问题:查不到文件。

改进方法:
新增字段必须是null,而不是"“,不然就是出现问题。至于问题的原因,应该就是”"也是有数据的字段,而null才代表无数据。前后数据字段不一致,所以出错了。

var translateLanguageTo:String? = null,
var translateResult:String? = null

好了,我又得去重新发布版本了。

Android Kotlin关于新增本地数据库对象表字段问题相关推荐

  1. quartz mysql 操作_Quartz 定时任务使用 —— 数据库各表字段的含义(十五)

    Quartz持久化数据库各表字段的含义 Quartz持久化到数据库中各表字段详解(以MYSQL数据库为例) QRTZ_BLOB_TRIGGERS:自定义触发器 Trigger 作为 Blob 类型存储 ...

  2. Android studio如何查看本地数据库

    android开发有时候涉及到本地存储的时候,需要用到数据库,当开发者需要查看本地数据库的内容时,就会发现非常麻烦.以前我觉得google在这一方面是完全没有倾听开发者的呼声呀!这是有多麻烦就有多麻烦 ...

  3. Android逆向_微信本地数据库解密与删除聊天记录恢复完全教程

    # 前言 在电子数据取证过程中,对微信本地数据库的解密.提取与恢复是非常重要的工作内容.本文以华为mate系列手机和最新版的微信(7.0.3)为例,通过总结互联网上已经发表的文章经验,主要针对**华为 ...

  4. mysql数据库表格数据类型_MYSQL数据库数据表字段类型含义解释

    MySQL数据表中的数据类型,它可以被分为3类:数字类型.日期和时间类型.字符串(字符)类型. 由MySQL支持的列类型列在下面.下列代码字母用于描述中: M :指出最大的显示尺寸.最大的合法的显示尺 ...

  5. Postgres数据库增加表字段、注解语句、修改字段长度、修改字段名称

    -- 新增字段 alter table xxx add column created_by varchar(42) DEFAULT null alter table xxx add column cr ...

  6. android读取excel数据库,Android 读取Excel数据并保存在本地数据库

    在工作中遇到需要将Excel的数据读取出来并保存在本地数据库中的操作,数据如下: 图片.png 需要做以下准备: 读取Excel的jar包[文章末尾会分享该jar包] 保存数据的数据库框架,在这里我们 ...

  7. SQL Server2019数据库查询所有数据库名、表名、表结构、表字段、主键方法演示,执行sql提示对象名‘user_tab_columns‘、 ‘user_cons_columns‘ 无效问题解决

    SQL Server2019 数据库查询所有数据库名.表名.表结构.表字段.主键方法演示 第一章:查询方法 ① 查询所有数据库名 ② 查询所有表名方法 ③ 查询表结构.表字段方法 ④ 查询主键方法 第 ...

  8. Android怎么查看手机中的本地数据库

    我前几天做的项目中有本地数据库, 所以就 用的 SQLite,在调试数据库时,,很想看一下里面的表结构是否正确,这个时候就十分苦恼, 因为这个db文件不能够直接拿出来,我们知道,在DDMS里面有一个F ...

  9. MySql数据库中,表字段新增,修改,删除

    通过存储过程进行对mysql 数据库表字段增加,修改,删除 USE `mydatasql`;DROP PROCEDURE IF EXISTS Pro_Temp_ColumnWork;DELIMITER ...

  10. android应用卸载后,出现的本地数据库内容未删除现象

    现象:应用使用一段时间后,本地数据库和SharedPreferences中产生数据,将应用卸载后,再次安装,原有数据出现在应用中.因此,为了安全起见,需要将allowBackup标志值设置为false ...

最新文章

  1. 阿里最强热修复:Sophix 超高速集成与踩坑
  2. webform空间在html输出数据库,如何:在 ASP 上的数据网格中导出数据。 Microsoft Excel 的 NET WebForm...
  3. 题目1179:阶乘-------------阶乘不用long long int 就不能AC
  4. 典型的异步服务器端套接字构建
  5. 密码加密模块 bcrypt (详细,好理解,示例源码)
  6. 转:c# 安装包制作
  7. html代码表白_作为一个程序员,表白都要玩出花样
  8. [Software]基于Windriver的PCIe驱动开发
  9. Arduino和LabVIEW射频校园火警系统
  10. cssdiv 斜线倾斜45度
  11. 那个职员建议他们去计算机博物馆英语,第三单元重点句子
  12. 1317: PIPI的生日礼物
  13. idea导入项目后简体字变繁体字
  14. Mysql插入数据 Incorrect string value: '\xF0\x9F\x98\x84
  15. 闲鱼卖货,月入1.5w的小众类目分享。
  16. 关于vue2.0中watch与computed
  17. 为什么程序猿996多猝屎,而企业家007却不会?
  18. 逻辑代数的基本定律和运算规则
  19. nslookup命令反解ip_PING、TRACERT、NSLOOKUP命令的使用方法
  20. 【转】JAVA中Cookie MaxAge属性及其使用

热门文章

  1. 苹果绕过ID_亲测:苹果手机绕过ID,到底能不能用?结果不太理想
  2. 数学建模更新10(蒙特卡罗模拟)
  3. 计算机页面添加文字水印在哪,轻松学会给office2013 word文档添加图片/文字背景水印以及让水印铺满整个页面-网络教程与技术 -亦是美网络...
  4. android bochs,通过 Bochs 让高性能的 Android 手机流畅运行 Windows 虚拟机
  5. jquery消息插件 toastr 消息提示插件 弹框提示
  6. android能播放4k视频格式,四平台六款手机4K视频播放实测
  7. 【原理+实战】AI所有领域SOTA综述 (一)语音识别
  8. 最新Web前端面试题精选大全及答案
  9. 补偿IIR滤波器引入的延迟
  10. 关于linux文件系统出现脏数据修复的思路