(原)活着,得做点什么
题记) 望着你安睡,就像望着一朵玫瑰,月光的晴辉晚风的轻吹,让你显得那样美。
闲了几天,也就是两三天,基本稳定在8:30之前走出公司门,那是一个天空布满雾霾的下午,一个右下角弹出的腾讯的新闻吸引了我。
那是一个很平常的新闻,不过是又一个大学生丢了,不见了。
这样的情况很常见,习惯就好。
可是总觉得少了点什么。。
遐想)记得小时老师说,如果不努力,长大了就会进入难民窖,可是,难民窖的人就不努力么,错了,他们比任何人都拼命,为了生活他们通常通宵不眠。
可是,他们的生活依旧没有什么改善。。
切入点)看到这个妹子失踪,就在想如果能够知道她在哪儿该多好,于是突发奇想如果有个APP,能够想什么时候查看她的位置就查看,知道她什么时候关机,开机为什么关机,在哪儿关机,多好?
动手)感觉这个东西不太难,不过是一个定位,查看,显示,监听而已,于是开始捉摸着动手做一个。
该APP具有如下功能:
1)使用手机号码注册
2)用户创建一个家庭,并且可以将自己的家人加入家庭
3)家庭内的成员能够看到其他成员的位置信息,刷新频率为该用户当前位置与上次位置相差100米
4)浏览自己的历史位置
5)类似于360 那样7 * 24的运行
6)当用户手机关机的时候,其他用户能够收到短信提示,用户何时,何地,因何关机(电量不足 or 手动关机)
7)本来我想通过手机硬件的传感器刷出周围有多少人,多少手机,以及其他信息的,和一些朋友讨论过,没时间深究。
8)我希望科技的力量能够给人们带来更加安全,可靠,幸福的生活
我不想在此APP上弄太多UI,整合百度地图UI,线路标记等等功能,我只希望它默默的一直运行在后台,就像大家买保险,不指望他能带来什么收益,
但是关键时刻却是有力的后台。
共耗时2天一夜,算是基本敲定,基本功能实现,说来惭愧,开始本想着这么简单的东西,后台随便抓个语言就能做了,于是果断的挑个Erlang来写,然事与愿违,开发了半天的时候后台进度也就是30%的样子。
并且其中有几个问题很难搞:
1)protobuf没有官方的Erlang库,找了个旁门左道的调试后总是有些稀奇古怪的问题。
2)Erlang的RPC基本没希望和java整合
3)Android通过TCP连接到Erlang服务器总是莫名其妙的close
4)使用HTTP通信数据量太大,并且我也不希望走HTTP
5)Erlang的mnesia还不错,但是DETS和ETS还真不如Memcached和Redis
后来一想在这个玩具上面也没必要深入纠结Erlang的问题,并且用Erlang做应用服务器就是找罪受,于是果断的抛弃了它。
我希望它就像360安全卫士一样7 * 24小时运行,当当前位置与上一次位置相差超过100M则上传位置,用byte计数的大小,基本上数据量不太大。
在客户端基本没啥技术难题,有些小知识点差不多是:
1)经过多个Acitivty登陆,跳转后进入Fragment,按返回键需要退出而不是返回登陆界面,之前考虑每次Intent后就清掉之前的Activity,但是效果不佳,于是后来自己写了一个Acitivty堆栈管理。
获取返回键后一次pop所有的activity.
2)就是在一个页面的ListView的下拉刷新,上拉加载更多。
3)就是Pagview的使用,仅仅在安装后显示一次
4)就是有时候Notification无法正常还原到Fragment,感觉该Activity被GC的感觉,但是GC的时机貌似不对。
5)百度定位
6)开关机的广播抓取
7)使用android的官方Hessian jar包,在访问量过大的情况下,老是会有连接EOF的问题,于是修改下源码重新打了个包,也不知道有没有彻底根治。
8)Protobuf
Test: http://www.bucry.com:8080/Home.apk
自己空闲了多年的阿里云,与一口气支付了3年的域名,现在还有1年多,终于有空在上面部署点玩具了。
目前服务器还是在折腾Erlang,看看在应用领域有没有它发挥实力的地方,个人还是比较喜欢Erlang的,至于Golang,用过之后不太看好。语言因人而异,所有的语言的衷贬都仅仅是个人思想。
服务器启用了Spring3.1+Hibernate4.1+hessian,使用最多的是JDBC,有空的时候也许还会考虑下能够用Erlang给替换回来。
后期还有一些小细节,丢给一个朋友,该朋友也是码农一位,不过现在一直搞芯片去了,让他处理后一起丢到github去,作为Android入门的程序,也算很是健全了,基本能够用到的Android,全在里面,也许能够帮助一些朋友。
本人对Linux情有独钟,记得当初Linux下没有像迅雷一样的下载器,于是捉摸着自己写一个,然一次偶然找到一个带UI的多线程下载器,多年给我改成这个样子了,一直自己私用。
对于第一版写这个软件的人表示谢谢,支持开源,开源万岁。后期会把这些下玩意儿一起github。
不为炫耀,不为显摆。
后记:中秋3天除了最后一天晚上出去喝了一大晚上的酒,抽调1包烟,其余2天就搞定了这样一个APP出来,技术含量并不高,但是很多时候,这样一些东西却能将自己偶尔的一些小思维,用以
常人能够看懂的方式展示出来,也许,我们工作的事业,不过是热衷的兴趣而已。
PS:APP里面的图片乃女友所原创,耗时也弄了一天,一会儿过来鼓捣我一会儿,一会儿去PP图,好歹一天做出来了。