今天下午写了一些代码,吃晚饭时分用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. 【Atheros】Ath9k速率调整算法源码走读

    上一篇文章介绍了驱动中minstrel_ht速率调整算法,atheros中提供了可选的的两种速率调整算法,分别是ath9k和minstrel,这两个算法分别位于: drivers\net\wirele ...

  2. js自己定义插件-选项卡

    该功能比較简单.巩固一下jquery插件写法,注意引入的jquery.js  . 自己定义插件路径代码例如以下: 页面: <!doctype html> <html> < ...

  3. 数据库导入Excel-从基础做起

    近期一直跟着师傅做考试系统的基础.每天与大量的数据打交道.数据的导入.数据的导出.视图的导入导出.核对信息等等,收获挺多的,培养了自己的耐心和细心,也进一步了解了数据库. 一切从基础做起! 来看看近期 ...

  4. iOS 添加震动效果

    开发过程中,有时候会碰到点击按钮或者某个动画会配合震动效果:下面介绍iOS开发过程中的震动添加: 导入:#import <AudioToolbox/AudioToolbox.h> 在需要出 ...

  5. Java语言实现简单FTP软件------>本地文件管理模块的实现(九)

    首先看一下界面: 1.本地文件列表的显示功能 将本地的当前目录下所有文件显示出来,并显示文件的属性包括文件名.大小.日期.通过javax.swing.JTable()来显示具体的数据.更改当前文件目录 ...

  6. 虚拟机 minimal 安装增强包

    在虚拟机下安装了一个centos的minimal镜像,发现增强包不能安装,鼠标不能在虚拟机和物理机间自由切换.不能共享粘贴板,非常是不爽,这里摸索出在centos  minimal OS下安装增强包的 ...

  7. make编译一

    在C和C++中,首先要把源文件编译成中间代码文件,在windows下就是obj文件,linux下就是.o文件:object file.这个动作叫做编译,然后再把大量的object file合成执行文件 ...

  8. Android Dev Tips

    Ref:Android Service与Activity之间通信的几种方式 Ref:基础总结篇之五:BroadcastReceiver应用详解 Ref:Android Activity和Intent机 ...

  9. ABAP文件选择框函数

    因为WS_FILENAME_GET已经被废弃所以使用接口CL_GUI_FRONTEND_SERVICES来实现本地文件的选择. 用接口类CL_GUI_FRONTEND_SERVICES实现的方法 CA ...

  10. Blobstore Java API overview

    Blobstore API允许你的应用程序使用(serve)叫做Blobs的数据对象.这种数据对象比Datastore服务所允许的对象的尺寸大得多.Blobs能有效地为大文件比如视频.图片提供服务,允 ...