月度归档:2017年05月

Fragment hide时触发的回调方法

我们可以先 add 然后通过 hide和show来控制fragment的切换,也可以先 add然后attach和detach来控制 fragment的切换.

如果使用 hide 和 show,那么每次切换fragment的生命周期的一系列函数是不会执行的,比如 onCreateView之类的.而使用 attach 和 detach则会调用生命周期的函数。

不过其实如果使用 hide 和 show的话,也可以触发一个方法,就是 onHiddenChanged()方法:

    @Override
    public void onHiddenChanged(boolean hid) {
        if (hid) {
            Log.d("meFragment", "隐藏显示");
        } else {
            Log.d("meFragment","恢复显示");
        }
    }

Ubuntu下架设git服务器

服务器上安装git,ssh登录进入服务器之后,使用命令:

$sudo apt-get install git

创建一个git用户,用来运行git服务:

$sudo adduser git

这中间可能需要输入密码,可以输入一个复杂的密码,自己记不住也可以,因为我们一般都用证书登录比较方便.这样就不需要输入密码了.

创建证书登录
可能很多人的服务器的ssh登录方式就已经是证书登录的了,可以参考之前的文章:ssh 免密登录 linux服务器,如果你已经实现了ssh证书登录,其实你只需要把 authorized_keys文件直接复制到 /home/git/.ssh/下面就可以了.

然后必须要设置一下 authorized_keys的权限,因为你可能使用的超级用户,那么git很可能没有权限读取这个文件:

$sudo chown git:git /home/git/.ssh/authorized_keys

初始化Git仓库:
先选定或者创建一个目录作为git仓库,比如我们创建一个 /home/git/cangku.git的目录,cd进入这个目录,使用如下命令:

$sudo git init --bare sample.git

这样就创建好了一个裸仓库,裸仓库没有工作区.

设置仓库目录的权限

$sudo chown -R git:git cangku.git

禁用shell登录

编辑 /etc/passwd
找到: git:x:1001:1001:,,,:/home/git:/bin/bash
改为: git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

之后我们就可以在客户端电脑上正常的使用git了,比如如上创建的裸仓库,克隆的命令就是:

$git clone git@server:cangku.git

安卓app-"三班两倒"项目规划

第一次启动设置姓名以及对应的上班日期时间.

主界面三个tab,一个"查看",一个"统计",一个"设置".

设置tab功能:

  • 添加删除管理"标签",比如"加班","请假"之类的.
  • 修改姓名和日期
  • 查看tab功能:

  • 显示轮班界面,点击或者长按弹出菜单,可以添加标签,比如添加"加班"标签.
  • 界面滑动,上面日期也会变化,点击上面日期,显示一个datepicker,可以选择日期,确定之后,显示设置的日期的轮班列表.
  • 统计tab功能:

  • 显示设定时间范围的各个标签的数量,默认为当月1日到当天的.比如5月1日到5月31日标记为"加班"标签的数量.(有个问题其实还要考虑半加班班),其实半个加班可以在设置中添加一个标签.这样就不要另外的功能实现了.
  • 目前开发进度,如图,昨天晚上弄的:

    还有就是,本应用就不再开源了,目前源码放在本人自己架设的 git服务器上面,这应用将会放在应用市场上,不知道有没有什么限制.之前的那个消防回路的app是练手用的,这个将是我的处女作.

    xiaofanghuiluAndroidBzw界面展示

    图中编码数据用来测试,没有任何实际意义.
    适配机型:目前除了电脑闹上的模拟器,只在我的红米4的手机上跑过。

    查询编码:


    icon图标:


    不存在的编码,显示添加此编码按钮:


    用户登录


    编码列表:


    编码详细信息:


    修改编码:


    查询不同类型和不同状态的传感器:

    存在的问题:
    安全性: 明文传输的token,实际上并没有什么卵用,我想不出一种一次性token的方案,让请求参数不可更改倒是可以实现,但是没办法让一个api请求一次之后就失效.后来想上https,正好阿里云提供免费的域名ssl证书,但是想想还是太麻烦,每个子域名都得配置.并且这个应用还只是一个练手的东西.之后用到微信登录 oauth之类的,之后应该能够参考一下.

    代码还是有点乱:看了<设计模式>,似乎帮助并不是太大,还是经历的项目少,我也主要是没有时间细读.

    应该加入的功能
    软件升级:启动自己检查新版本然后下载更新,这个容易实现.
    记录功能:显示最近查询 添加和修改的记录.
    实现权限:很难,我没有做过这个.而且要改动的代码可能很多.看过wordpress的权限实现方式.