今天下午写了一些代码,吃晚饭时分用Android Studio commit了一下,不知道有没有选择Commit and push,结果刚才代码出bug我想回滚到上个版本的时候,发现Android Studio没有上传那份代码!!非常难受,就像word写了一下午文章结果电脑死机一样。

我遇到了一个让我摸不着头脑的bug,好像只有每天晚上天黑之后才会出现这个bug,读了几遍代码都没发现症结所在,以至于我把系统时间都改成白天了。。。然而发现跟时间并没有关系,所以想要恢复到下午吃饭时的版本。。。以后还是用终端吧,能看到上传的进度提示。

------

May 5th 0:10 a.m.

刚才替换了中午写的版本,发现并不是写入数据库部分的问题,因为那部分代码完全一致。那么是什么问题呢。真是百思不得其解,我没有在其他地方操作数据库啊。我想起还在adapter中操作过数据库。于是把中午adapter的代码拿过来,但是还是一致啊,,然而,把同样的194行代码替换回原来的那儿,发现bug消失了。然后我又把刚才出问题的代码拿来试试,仍然很顺利。。我真的不知道这是什么鬼!!!现在是12:32,难道是过了12点的缘故??应该不是。

真的很怕这种莫名其妙的bug啊。。

-----

May 5th 10:40 a.m.

昨晚的bug是这样的:加载recyclerView的时候不会update原有的table,而是insert到旧的table后面。

结果早上起来,什么都没动,bug就莫名其妙的消失了。我记得非常清楚昨晚睡觉之前两部手机上安装的APP都存在这样的bug。我都有点怀疑自己精神分裂了。。

刚才把所有warning清了一下,包括我怀疑的SimpleDateFormat的第二个参数,现在我把它指定成了Locale.CHINA。

检查了一遍所insert table的地方。

----

May 5th 12:21 p.m.

抓到虫了。去吃饭然后参加ingress FS了。变量太多了太混乱了。

May 5th 19:00 p.m.

上面的错误可以很清楚地看到,log中提示numCount不知为何变成了0,导致执行了insert而不是update。numCount是一个全局变量,用到的地方太多。

我直接取消了在这部分使用numCount这个变量,而是直接用root.getInt("count")来获取。

另外,旧的代码读起来自己都觉得绕了,索性直接把更新数据库部分的逻辑重新整理了一遍,今天(今次)数据条数>昨天(上次)数据条数的情况,和今天(今次)数据条数<昨天(上次)数据条数的情况,分开写了(虽然代码重复了一部分,但是脉络瞬间清晰了不少)。

不要使用Android Studio的Git Commit了---->记一次debug的更多相关文章

  1. Android studio配置Git

    Android studio配置Git 1.下载window 版git并安装:下载地址 2.Android Studio设置git插件:File->Setting->Version Con ...

  2. Android Studio配置Git及Git文件状态说明

    Android Studio配置Git还是比较简单的,麻烦的是可能中间出现各种问题.如果你想了解或感兴趣,请往下看. 首先你得下载Git客户端,网址:http://git-scm.com/downlo ...

  3. 或许是介绍Android Studio使用Git最详细的文章

    欢迎访问我的个人博客转发请注明出处:http://www.wensibo.top/2017/03/12/GitOnAS/ 前言 本文较长,图片很多很多,流量党慎入 使用Git已经有一段时间了,但是之前 ...

  4. Android Studio中Git和GitHub使用详解

    一.Git和GitHub简述 1.Git 分布式版本控制系统,最先使用于Linux社区,是一个开源免费的版本控制系统,功能类似于SVN和CVS.Git与其他版本管理工具最大的区别点和优点就是分布式: ...

  5. Win环境 Android Studio使用Git 教程 ( 一 )

    一. 安装 下载安装完成Git后 进入命令行 输入命令git --version,如果能显示版本则说明安装成功,如果没有显示版本,需要配置环境变量: 在path中添加git的安装位置 二 . 配置信息 ...

  6. Android studio使用git教程

    ①下载Git工具,配置到Android studio中 http://git-scm.com/downloads ------------------------------------------- ...

  7. Android Studio 通过 git update 或者 pull 的时候出错及解决办法

    Android Studio 通过 git update 或者 pull 的时候出错,log 如下: Couldn't save uncommitted changes. Tried to save ...

  8. Android Studio的git功能的使用介绍

    本文介绍Android Studio(下面简称AS)中git工具的一些简单使用.因为AS为git的使用提供了很多人性化的图形界面操作,在很大程度上可以增加开发效率.本文面向新手,题主自己也是新手一枚, ...

  9. 如何使用 Android Studio 的 git hub 功能

    How to use GitHub with Android Studio This article will explain how to use GitHub with Android Studi ...

随机推荐

  1. mysql主从实验

    实验一: 服务器A与服务器B是主从关系,关联的库有test1,.test2库,主从一直运行正常,此时由于业务的需求,需再增加test3库,并让其仍然维持主从关系,应该怎么做? 步骤一: 修改从库服务器 ...

  2. LNMP环境搭建(二:MySQL)

    1.获取MySQL官方的rpm包,根据操作系统与需要安装的MySQL版本进行选择,官方地址:https://www.mysql.com/downloads/ # cd /usr/local/src # ...

  3. Oracle11g完全卸载方法

    一.在oracle11G以前卸载oracle会存在卸载不干净,导致再次安装失败的情况,在运行services.msc打开服务,停止Oracle的所有服务. 二. oracle11G自带一个卸载批处理\ ...

  4. A/B(逆元)

    A/B Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  5. IoC原理及实现

    什么是IoC  IoC是Inversion of Control的缩写,翻译过来为"控制反转".简单来说,就是将对象的依赖关系交由第三方来控制.在理解这句话之前,我们先来回顾一下I ...

  6. RedisTemplate访问Redis数据结构(介绍和常用命令)

    Redis 数据结构简介 Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串).List(列表).Set(集合).Hash(散列)和 Zset(有序集 ...

  7. flex (html弹性布局)

    flex是什么? 任何容器都可以指定为flex布局: .box{ display: flex;  /* 行内元素可以使用:inline-flex,webket内核浏览器必须 -webkit-flex ...

  8. Servlet学习笔记【1】--- 背景和基础知识(CGI、Web服务器发展史、Servlet简介、任务、继承结构)

    本文主要讲Servlet的基础知识和背景知识. 1 CGI简介 CGI(Common Gateway Interface 公共网关接口)是WWW技术中最重要的技术之一,有着不可替代的重要地位.CGI是 ...

  9. python数据分析之:数据聚合与分组运算

    在数据库中,我们可以对数据进行分类,聚合运算.例如groupby操作.在pandas中同样也有类似的功能.通过这些聚合,分组操作,我们可以很容易的对数据进行转换,清洗,运算.比如如下图,首先通过不同的 ...

  10. G20峰会将会给数字货币带来哪些影响?

    G20峰会对于全球经济有着举足轻重的影响,其成员人口占全球的2/3,国土面积占全球的60%,国内生产总值占全球的90%,贸易额占全球的75%……作为国际经济合作的主要平台,G20在引领和推动国际经济合 ...