今天下午写了一些代码,吃晚饭时分用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. python接口自动化(四十二)- 项目结构设计之大结局(超详解)

    简介 这一篇主要是将前边的所有知识做一个整合,把各种各样的砖块---模块(post请求,get请求,logging,参数关联,接口封装等等)垒起来,搭建一个房子.并且有很多小伙伴对于接口项目测试的框架 ...

  2. SVN流程图协作图

  3. EasyNVR、EasyDSS二次开发之:RTMP、HLS流在web页面进行无插件播放示例Demo代码

    不管是基于EasyNVR还是EasyDSS,都是支持无插件直播,这也是未来视频直播的一个趋势.对于传统的浏览器插件播放谁用谁知道: 以上是软件自带播放展示 背景需求 对于EasyNVR和EasyDSS ...

  4. 【python】-- Socket

    socket socket本质上就是在2台网络互通的电脑之间,架设一个通道,两台电脑通过这个通道来实现数据的互相传递. 我们知道网络 通信 都 是基于 ip+port 方能定位到目标的具体机器上的具体 ...

  5. 如何使用Django实现用户登录验证

    最初开始搞用户登录验证的时候感觉没什么难的,不就是增删改查中的查询数据库么,但是还是遇到许多小问题,而且感觉在查询数据库的时候,要把前端的数据一条一条的进行比对,会导致我的代码很丑,而且方式很不智,所 ...

  6. sin6_addr打印:string to sockaddr_in6 and sockaddr_in6 to string

    函式原型: #include <arpa/inet.h> const char *inet_ntop(int af, const void *src, char *dst, socklen ...

  7. 什么是gevent

    gevent是一个基于协程的python网络库,它使用greenlet在libev或libuv事件循环之上提供高级同步API 功能包括 基于libev或libuv的快速时间循环 基于greenlets ...

  8. 3.22课·········CSS样式表

    CSS(Cascading Style Sheet,叠层样式表),作用是美化HTML网页. /*注释区域*/    此为注释语法 一.样式表 (一)样式表的分类 1.内联样式表 和HTML联合显示,控 ...

  9. 【leetcode刷题笔记】Merge Intervals

    Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[2,6],[8,1 ...

  10. php生成各种验证码

    片段 1 片段 2 片段 3 index.html ```<script type="text/javascript" src="jquery.min.js&quo ...