多线程写代码的时候要注意安全

今天在做项目时候,发现获取当前登录user信息的rest service,偶尔会报错 An item with the same key has already been added. 只是偶尔报错,大部分时间是正常的,很奇怪。查了半天才查出原因,记录下来: 打开service代码,如下 public static class UserInfoProcess { private static DataAccessDataContext db = new DataAccessDataContext(); public static EmployeeInfo...…

Keep reading

一个轻量级的Android App: Tip Calculator

在外面吃饭,经常为了算小费而头痛,昨天突然想到,应该有这种帮助算小费的App,上Google Play找了一圈,却没有看着顺眼的。 于是着手自己写一个,花了一晚上的时间做了一个非常简单的App,几个月没碰Android,忘了不少东西,不过好歹是弄出来了,发布在Google Play上。 基于自己是一个毫无美术功底的程序猿,所以界面有点简陋:)自己大概测了下,应该还有一些bug。 算小费可以基于税前和税后的金额 可自定义税率 可以把金额分到不同的人头上(方便AA) 安全,不需求任何特殊的权限 完全免费,不含广告 异常轻量,仅仅40k 同时,这个App是开源的,代码放在Github上。...…

Keep reading

Android Studio:为Android定制的IDE

原文:http://android-developers.blogspot.com/2013/05/android-studio-ide-built-for-android.html 由 Xavier Ducrohet, Tor Norbye, Katherine Chou发表 今天在Google I/O上,我们发布了一个专为Android开发者准备的新IDE:Android Studio,它可以免费使用,你现在就可以试试它的早期预览版。 我们与最流行的Java IDE之一,IntelliJ IDEA 社区版,的开发公司JetBrains合作,开发了Android...…

Keep reading

使用Gitolite来对Git的repository实现权限控制

我们项目组打算从svn向git迁移,前几天我搭建了git环境,把代码从svn转移过来,然后所有成员都通过server上的git账号来做pull和push,一切都安置妥当,没有问题。但是后来其它项目组也打算使用这个git server,那么问题来了,之前那种授权的方式肯定是不够的,因为只要能连上server,那么他对这个server上所有的repository都有完全的读写权限,这显然是不可接受的。 所以打算使用Gitolite这个组件来做权限控制,搜索了下,找到的文章貌似都是老版本的,所以有了写这篇文章的想法。 Gitolite其实也是一个git...…

Keep reading

用Debian当路由,来解决BT造成的网络慢的问题

自从@TimothyYe 童鞋介绍偶加入HDC后,为了快点完成新人作业,也为了满足我不折腾不舒服斯基的欲望,哥配了一台凌动小PC,Intel ATOM D525NW的主板,集成了CPU和显卡,加上小机箱总共700元。到手后,插上我Thinkpad拆下来的2根1G内存和另外一台闲置N久的台式机160G SATA硬盘,装了个Debian,就可以用了。 装上transmission后,全速挂BT无压力,比那些直接路由或者1、200的NAS给力多了。哥还继续在上面折腾了Git,emule,动态DNS等,远远没有把2G内存榨干,当然这里都说远了,继续回来。...…

Keep reading

更快的,更好的支持硬件的模拟器

原文:http://android-developers.blogspot.com/2012/04/faster-emulator-with-better-hardware.html [This post is by Xavier Ducrohet and Reto Meier of the Android engineering team. — Tim Bray.] Android模拟器是开发和测试Android程序的一个关键工具。目前Android设备的功能以及多样性发展的日益迅猛,模拟器要跟上步伐十分的困难。...…

Keep reading

当ListView有Header时,onItemClick里的position不正确

今天在做项目的时候,遇到一个问题,记录下来。 当给ListView加了一个HeaderView后(代码如下),我们发现,onItemClick方法里的position参数的值不是我们所期望的,比如点击ListView的第一行,我们期望的position是0,可是实际上却是1,也就是说,它是从Header而不是从第一行开始计数的。 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.home);...…

Keep reading

如何提升Android手机电池的使用时间

很多朋友抱怨Android手机耗电恐怖,其实我刚入手我的i9003的时候,也被他恐怖的耗电量吓了一跳,睡觉之前还是60%,第二天早上起床却发现手机已经耗尽了所有电量,自动关机了。其实这也不能完全怪Android,它耗电在于几个方面,同样还是和ios做对比: Android和ios的体制不一样。ios实际上是一个单线程系统,程序只能在前台运行,进入后台后就已经是睡眠状态了,只能通过apple的API来进行推送,这就是iphone qq超级难用的原因。而android就是一个纯粹的多线程操作系统,程序完全可以在后台正常运行,这样的代价自然是会多耗费一些电量了。...…

Keep reading

升级我的I9003到2.3.4

忍不住手痒,把我的i9003升级到了Gingerbread(Android 2.3.4),在这里把我的升级过程写下来,希望对大家有点帮助。 到这里下载最新的2.3.4的firmware,压缩包的解压密码是samfirmware.com。 运行Odin3_v1.83.exe。 选中Re-Partition,Auto Reboot和F. Reset Time三个复选框。 点击PIT然后选择latona_20110114.pit文件。...…

Keep reading

我的第一个android手机

之前的DOPOD C858用了快3年了,受够了windows mobile的系统,更要命的是还没有WIFI,正好前段时间实在是不想开车,所以一咬牙在京东上买了三星的I9003,好让自己在公交车上有玩具可以打发时间,也终于了了想要一个android的心愿。 现在用了差不多一个多星期了,有点心得,老婆有部iphone 4,我正好做做比较。 外观,I9003就是个山寨iphone,一个大屏幕下面就只有一个Home的物理按键,放一起两个还很真像。 手感,I9003拿在手上,塑料感比较强,轻飘飘的,像玩具;iphone 4有棱有角的,正反面的玻璃加上侧边的金属框,手感要好得多。...…

Keep reading