生活 新的Blog 昨天喝了点酒,今天不怎么舒服,就想找件事情集中下注意力。于是乎,就把自己的博客框架想做做变化。 之前使用的是typecho,很不错,就是基本上停止维护了。 这一次也是本着回归写作的本质,选择了Hexo,新的一年就多多维护这个了。 至于之前typecho的文章怎么过来,
Android 更新AS导致界面预览失效 今天在更新自己笔记本的AS时候,遇到了一个问题。首先打开Layout文件,没法预览布局。 按照网上说的,我将我自己的SDK版本做了勾选,仍然无法使用。 使用了无数次的Restart and invalidate caches 仍然没有效果。
Android 同时安装Release和Debug版本 在开发的过程中,由于经常切换开发环境和线上环境,对应的开发出来的包也是Debug和Release 两个版本。由于Android只允许一台手机安装包名唯一的APP,所以难免在切换环境的时候,来回的删除再安装。 原理 为了想解决这个问题,昨天我着手将自己的APP配置了下,已经完美可以实现两个版本共存了。用到的,
Android Gradle配置打包文件名 前段时间从AS 2.4到AS 3.0 Beta版本的时候,由于Gradle升级了,导致我原有的文件配置代码没法正常的使用。这两天又遇到这个问题了。所以记录一下。 以前应该都是这么写的: applicationVariants.
Tips 取消git中文件或者文件夹的版本管理 很多时候,在开发的时候,由于自己的不小心或者别人的不小心,将一些本来不应该被git版本管理的文件或者文件夹放到网络上或者本地的版本库中(我好像用了很多个或者)。下来就需要将这些文件移除在git版本之外。 当文件已经被手动删除,但是没有从git版本库中删除的时候 这个时候需要,通过**git rm
Tips MySQL迁移至SQLite 由于最近学习了Django,想着不然把自己的Blog从Typecho迁移到Django的框架中,其实上层差别不是特别大,一个是PHP一个是Python。下层的话,由于我初学Django基本的教程都是通过SQLite作为默认的数据库的。刚好我做Android开发的时候,其实数据库使用的就是SQLite。因此着手把数据库进行迁移下。遇到了一些坑,记录一下。 网上很多SQLite转MySQL的教程,
Python Django学习1-安装Django 之前也安装过Django,但是一直没有深入的去学习和了解,最近工作任务不是特别繁忙,我打算花一点时间来学习学习Web开发。开发环境在MacOS。 安装Django 先按照这里 [https://docs.djangoproject.com/en/
Python Python安装virtualenv 今天在Youtube上看一个视频教程的时候,才知道Python下面有这样一个好东西,有点类似Docker,实际上又比Docker轻量级很多。Python的优点就是库很多,很方便的站在别人肩膀上快速开发。但这个有点也是一个缺点,在项目比较多的情况下,由于所有的 site-packages都是公用的,这样不便于修改配置。所以,
MacOS JAVA HOME设置问题 今天遇到了一个比较蛋疼的事情,因为我切换了AS的升级渠道「从稳定版到了金丝雀版 」,自然而然的少不了按照最新的Preview版本。前两天闲来无聊,将原始的2.x版本进行了删除,那么问题来了。 正常的跑程序都没有问题,但当使用命令行的语句的时候,就会出现这样的错误: > ERROR:
Android 关于Toolbar的Back返回问题 昨天在引入Toolbar的时候,出现了一个问题。就是按Toolbar上面的back按钮没有反应。实际上点击时间是发生的,因为产生了动画。 同样另一个Activity,也是用了同样设置方法,确是可行的,我觉得很奇怪,看了看两者的区别,初始化的时候代码都一样 setSupportActionBar(
Android ButterKnife in BaseActivity and BaseFragment 在日常的开发中,我们经常会遇到这样的场景,几个比较特定的功能或者重复的代码在Activity/Fragment中,我们一般采取的措施就是抽离出来去做一个基类,然后通过子类继承父类的方式来实现。 对于用过ButterKnife的朋友来说,应该已经体会到BF的便捷性和优点。所以理所当然,我们需要把BF放到BaseClass中,节省书写重复代码。 但正如这个issue
Android Google TODO-MVP详解 简单介绍 在日常的开发当中,经常会遇到需求的变动。这个东西是真的难以避免的,所以对于产品的基础框架就比较重要了。Google大大在I/O大会上提出来了Android开发方式是属于 MVP的,即Model+View+Presenter。 另外在GitHub上面放出来了一个样例,