不要使用Android Studio的Git Commit了---->记一次debug
今天下午写了一些代码,吃晚饭时分用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的更多相关文章
- Android studio配置Git
Android studio配置Git 1.下载window 版git并安装:下载地址 2.Android Studio设置git插件:File->Setting->Version Con ...
- Android Studio配置Git及Git文件状态说明
Android Studio配置Git还是比较简单的,麻烦的是可能中间出现各种问题.如果你想了解或感兴趣,请往下看. 首先你得下载Git客户端,网址:http://git-scm.com/downlo ...
- 或许是介绍Android Studio使用Git最详细的文章
欢迎访问我的个人博客转发请注明出处:http://www.wensibo.top/2017/03/12/GitOnAS/ 前言 本文较长,图片很多很多,流量党慎入 使用Git已经有一段时间了,但是之前 ...
- Android Studio中Git和GitHub使用详解
一.Git和GitHub简述 1.Git 分布式版本控制系统,最先使用于Linux社区,是一个开源免费的版本控制系统,功能类似于SVN和CVS.Git与其他版本管理工具最大的区别点和优点就是分布式: ...
- Win环境 Android Studio使用Git 教程 ( 一 )
一. 安装 下载安装完成Git后 进入命令行 输入命令git --version,如果能显示版本则说明安装成功,如果没有显示版本,需要配置环境变量: 在path中添加git的安装位置 二 . 配置信息 ...
- Android studio使用git教程
①下载Git工具,配置到Android studio中 http://git-scm.com/downloads ------------------------------------------- ...
- Android Studio 通过 git update 或者 pull 的时候出错及解决办法
Android Studio 通过 git update 或者 pull 的时候出错,log 如下: Couldn't save uncommitted changes. Tried to save ...
- Android Studio的git功能的使用介绍
本文介绍Android Studio(下面简称AS)中git工具的一些简单使用.因为AS为git的使用提供了很多人性化的图形界面操作,在很大程度上可以增加开发效率.本文面向新手,题主自己也是新手一枚, ...
- 如何使用 Android Studio 的 git hub 功能
How to use GitHub with Android Studio This article will explain how to use GitHub with Android Studi ...
随机推荐
- python接口自动化(四十二)- 项目结构设计之大结局(超详解)
简介 这一篇主要是将前边的所有知识做一个整合,把各种各样的砖块---模块(post请求,get请求,logging,参数关联,接口封装等等)垒起来,搭建一个房子.并且有很多小伙伴对于接口项目测试的框架 ...
- SVN流程图协作图
- EasyNVR、EasyDSS二次开发之:RTMP、HLS流在web页面进行无插件播放示例Demo代码
不管是基于EasyNVR还是EasyDSS,都是支持无插件直播,这也是未来视频直播的一个趋势.对于传统的浏览器插件播放谁用谁知道: 以上是软件自带播放展示 背景需求 对于EasyNVR和EasyDSS ...
- 【python】-- Socket
socket socket本质上就是在2台网络互通的电脑之间,架设一个通道,两台电脑通过这个通道来实现数据的互相传递. 我们知道网络 通信 都 是基于 ip+port 方能定位到目标的具体机器上的具体 ...
- 如何使用Django实现用户登录验证
最初开始搞用户登录验证的时候感觉没什么难的,不就是增删改查中的查询数据库么,但是还是遇到许多小问题,而且感觉在查询数据库的时候,要把前端的数据一条一条的进行比对,会导致我的代码很丑,而且方式很不智,所 ...
- 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 ...
- 什么是gevent
gevent是一个基于协程的python网络库,它使用greenlet在libev或libuv事件循环之上提供高级同步API 功能包括 基于libev或libuv的快速时间循环 基于greenlets ...
- 3.22课·········CSS样式表
CSS(Cascading Style Sheet,叠层样式表),作用是美化HTML网页. /*注释区域*/ 此为注释语法 一.样式表 (一)样式表的分类 1.内联样式表 和HTML联合显示,控 ...
- 【leetcode刷题笔记】Merge Intervals
Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[2,6],[8,1 ...
- php生成各种验证码
片段 1 片段 2 片段 3 index.html ```<script type="text/javascript" src="jquery.min.js&quo ...