如果你只有一只柠檬,就做柠檬水吧

如果生命中只有一个柠檬,傻瓜会自暴自弃地说:“我垮了,这就是命运啊,我只有一个柠檬,我连一点机会都没有了。”然后他开始诅咒世界,让自己沉湎于自怜中;聪明人会说:“从这件不幸的事情中,我可以学到什么呢?我怎样改善我的处境呢?怎样把这个柠檬做成一杯柠檬水呢?”
心理学家阿佛瑞德·安德尔认为,人类最奇妙的特性之一就是:把负变成正的力量。
古希腊的神话说,古希腊公主潘多拉因美貌遭到神的嫉妒,故意送给她一个神秘的盒子,反复叮嘱她绝对不可以打开。潘多拉禁不住好奇心的诱惑,揭开了盒子的一角偷窥,结果释放出了人间的一切苦难:疾病、痛苦、疯狂等。所幸一个好心的神帮助她及时盖上了盒子,才没有放走人类得以忍受痛苦的唯一良药:希望。
这是一则引人深思的神话。心理学家发现,希望不只是人们痛苦时的慰籍,在生活的任何方面也都是极其重要的。希望是“相信自己具有达成目标的意志与方法,不管目标是什么。”
充满希望的人是乐观的人。
乐观的人有共同的特质:较能自我激励,能寻找各种方法实现目标,遭遇困境时能自我安慰,能有所变通,能将艰巨的任务分解成若干个容易解决的小部分。乐观的人在困境中不致于冷漠、无力、沮丧。因为乐观的人总认为失败是可以改变的,结果会是胜利的。

[Accessibility] Missing contentDescription attribute on image .

在layout里定义一个ImageView的时候 总会提示[Accessibility] Missing contentDescription attribute on image警告。作为一个追求完美的人,我怎能容忍我的project有黄色的warning存在。于是google了一下,发现原来是ADT的特性,在一些没有文本显示的控件里(如imageView和imageButton等),ADT会提示你定义一个android:contentDescription属性,用来描述这个控件的作用。我测试了一下,增加了android:contentDescription=”@string/logo”,果然不再告警了。

Android项目打包引入外部JAR

这两天写代码需要引用一个第三方的jar包,我在Eclipse项目的Library里添加了这个jar包的路径,调试编译没有问题。但是部署在手机上运行时就会报错,研究了半天终于解决。

1、在项目目录里建立一个libs目录,将外部jar包拷贝在里面。

2、右键点击项目,Bulid Path->Configure Build Path

3、在设置Libraies项,选择刚才的位置添加jar包。

3、在Order and Export项里,将外部jar包选中。

4、clean项目后,重新编译,这时的apk包里应该是包含外部jar啦。

不过我还是有个疑惑,这个方法是我自己研究出来的,但是我所使用的jar包的demo示例项目中,却没有做我这样的设置,我特地看了一下,他只是添加了jar的路径引用,但是并没有在Order and Export项里打钩。然而编译的apk包也能正常运行。估计是在项目的其他配置文档里有设置吧,我没有琢磨出来,就先用我自己的土办法应付吧。

ios6.0beta初体验

为了体验ios6.0beta,我特意花好大劲注册了一个开发者账号,先把这两天尝鲜的感受发出来吧:

1、貌似耗电量增加,机器会莫名变热

2、部分软件由于sdk版本跟不上,运行中会突然退出,包括新浪微博在内。

3、收到短信时,部分特服号码多了个+86

4、拨号键盘改了,不过不实很好看

5、中文键盘选词的界面优化了

6、来电拒接可以自动回复致歉短信了

7、系统设置里可以直接绑定新浪微博,可以向ios5绑定推特一样,随时更方便地发布照片内容了。在新浪页面,会显示本条微博来自ios。

8、备受瞩目的siri还是有不少问题,多音字年不准,“查询”的“查”被念成了“zha”,“长得不错”的“长”被念成了“chang”

9、另外,siri对中文的识别还是有问题,尤其是在通讯录里找人名这样的非常规词汇时会比较差劲

10、还是说siri,她对答不出的问题,经常回答一堆英文的配置脚本,相信这个低级错误会在以后发布的正式版本中修复

11、我最不满的是:siri对本人的相貌很不屑,nnd

Android禁止横屏竖屏切换

在Android中要让一个程序的界面始终保持一个方向,不随手机方向转动而变化的办法: 只要在AndroidManifest.xml里面配置一下就可以了。在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOrientation=”landscape”属性即可(landscape是横向,portrait是纵向)。

另外,android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!

要避免在转屏时重启activity,可以通过在androidmanifest.xml文件中重新定义方向(给每个activity加上android:configChanges=”keyboardHidden|orientation”属性),并根据Activity的重写onConfigurationChanged(Configuration newConfig)方法来控制,这样在转屏时就不会重启activity了,而是会去调用onConfigurationChanged(Configuration newConfig)这个钩子方法。

if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){
//横向
setContentView(R.layout.file_list_landscape);
}else{
//竖向
setContentView(R.layout.file_list);
}

Android系统下的String.getBytes()和new String()

这两天折腾半天终于明白,Android属于LINUX系统,String是以UTF-8形式存储的,因此默认的String.getBytes()是长度为3的数组,而通常WIN系统下的String是以GBK形式存储的。如果不转换,就可能出现乱码。很简单的道理, 却让我挠头好久,特记录于此。

String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,而与getBytes相对的,可以通过new String(byte[], decode)的方式来还原。

苹果iOS6操作系统新功能大盘点

苹果iOS6新功能(http://tech.cn.yahoo.com/ypen/20120612/1105200.html)

苹果全球开发者大会(WWDC)于太平洋时间6月11日上午10点(北京时间6月12日凌晨1点)在旧金山Moscone West会议中心举行。苹果在本届全球开发者大会中发布了最新的移动操作系统iOS 6,它拥有超过200项新功能。

 

以下为iOS 6的新功能:

Siri的新功能:

·Siri整合了来自雅虎的体育新闻,准许用户能够获得最新的比赛信息。

·体育包括了美式橄榄球、棒球、篮球,可能会更多。

·Siri已经更好的与商铺点评网站Yelp进行了整合,提供每个菜单项目的平均售价、评论和Yelp排名。

·Siri同时还结盟影评网站“烂番茄”(Rotten Tomatoes)。

·用户可向Siri提问“史嘉莉·乔韩森的电影”(Scarlett Johansen)或是“HERP DERP影院正在上映的电影”等问题。

·Siri能够启动应用。比如说“玩《神庙逃亡》”(Play Temple Run)。

·Siri能够让用户通过语音发布Twitter消息。

·Siri还将增加对新语言的支持,包括加拿大语、意大利语、汉语、闽南话和粤语等。

一些想法:事实上,苹果在今日把Siri同其它一些应用捆绑在一起发布,这让我们甚至感觉到苹果没有推出Siri的新功能。

面向iPad的Siri:

·Siri目前已可以在iPad中使用。

·长按iPad上的Home键,就能够进入Siri。

·Siri只占据了屏幕下半部的一小部分。

一些想法:我们一直都相信Siri有一天会登陆iPad。我们只是不知道是在何时。苹果在今天宣布Siri将会登陆iPad。不过不幸的是,目前绝大多数用户使用Siri仅仅是拨打电话或设置提醒。观察用户在iPad上如何使用Siri,要比关注用户在手机中使用Siri更加有趣。

整合Facebook:

·Facebook已经被整合到iOS 6操作系统当中。

·通过设置只需登录一次,所有的一切都将建立起来。

·用户可共享照片、地图、iTunes链接和游戏中心内容。

·Facebook Events将被自动加入Calendar当中。

·生日也被加入其中。

·电话号码将出现在联系人名单中。

一些想法:苹果和Facebook一直有着很好的关系。因为苹果首席执行官蒂姆·库克(Tim Cook)在今年D10大会中提到“持续关注”的问题,我们期待着两家公司有着更加密切的合作。

考虑到iOS 5中整合Twitter让后者受益匪浅,Facebook与苹果的合作当然也会获益颇丰。此外,因为用户将慢慢按照应用和操作系统进行划分,Facebook不需要在其Facebook应用中投入大量的时间、资源和力量。

新Phone应用:

·该应用可设置提醒,拨打用户此前不想接听的电话号码。

·用户可选择发送短信,而不是接听电话。

·“越界报警”功能(geo-fence),将提醒用户在离开特定区域时,向某人拨打电话。

·请勿打扰功能:允许用户一次性关闭所有闹钟和提醒。

·在请勿打扰模式下,用户可指派特定的联系人。

·在紧急情况下,用户可连续拨打两通电话。

无线版FaceTime:

·FaceTime此前只能够在Wifi接入中使用,但是iOS 6让其能够在无线状态下使用。

·,新版FaceTime还统一了电话号码和Apple ID。如果对方通过FaceTime呼叫你的电话号码,你可以通过Mac或者iPad来回应。

Safari/iCloud Tabs:

·iCloud Tabs只能收在Safari中使用。

·该功能不会一直同步浏览器标签。相反,它能够在所有的iDevices中同步标签列表。

·该功能只能够在OS X Mountain Lion和iOS 6操作系统中使用。

·Safari将增加离线阅读列表。

·用户能够直接从Safari下载图片。

·Smart App Banners将能够让用户在应用商店App Store中了解到母语应用。

图片流:

·共享图片流:“选择你喜欢分享的图片,选择你希望与之共同分享的用户。”

·内置评论功能。

·可在Mac、Apple TV和通过网络使用。

Mail VIPs:

·该功能本质上是向用户提供标记经常联系或“非常重要”的电子邮件联系人。

·用户可在创作区域插入照片或视频。

·Mail VIPs将与iCloud捆绑在一起,这意味着所有的“重要人物”联系方式将被同步到所有设备当中。

·用户将拥有两个额外的收件箱:重要人物收件箱和已标记收件箱。

Passbook:

·收集用户所有的身份票据,如登机牌、门票和优惠券等。

·能够与其它应用协同工作,如星巴克的应用或各种购买电影票的应用。

·合作品牌包括了星巴克、Fandango、美联航、美国铁路公司、苹果零售店等。

iOS 6地图:

·苹果已经放弃使用谷歌地图,转而使用自主开发的地图服务。

·苹果地图中标注的本地商户超过1亿家。

·与Siri一样,该应用整合了Yelp。

·苹果开发出路况服务,能够显示特定地区的突发事故和整体路况信息。

·路况功能能够使用来自iOS用户提供的信息,即时提供最新路况信息。

·导航功能正处于开发之中。

·汇集的路况信息将会让苹果地图应用提供即时估计到达时间。

·地图能够在关闭屏幕下继续运行,能够与Siri完美的配合。

·Siri能够找到特定街道名称。

支持:

·iPhone 4S、iPhone 4和iPhone 3GS将支持iOS 6。

·iPad、iPad 2和全新iPad将支持iOS 6。

·第四代iPod Touch将支持iOS 6。

·iOS 6将于今年秋季正式发布。