阿房公同志永吹不休

阿房公
阿房公@ahfun

2012年6月16日

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

2012年6月16日 2.2K

    回复

    需填写称呼、邮箱,无需注册,必填项已标注*

    阿房公
    阿房公@ahfun

    2012年6月14日

    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);
    }

    2012年6月14日 1.7K
      阿房公
      阿房公@ahfun

      2012年6月13日

      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)的方式来还原。

      2012年6月13日 2.6K
        阿房公
        阿房公@ahfun

        2012年6月12日

        苹果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将于今年秋季正式发布。

        2012年6月12日 1.9K
          阿房公
          阿房公@ahfun

          2012年6月9日

          谷歌官方教程:Android UI设计技巧 

          转自51CTO独家专题:谷歌官方教程:Android UI设计技巧

          P2

          作为开发者,为啥我们要关心UI,前面的一堆通通可以忽略掉,直接跳到最后一条。因为好的UI设计可以帮助我们卖出更多拷贝,赚到更多钱。

          简介

          这个教程包含5个部分:

          ◆该做什么,不该做什么

          ◆设计哲学和考量

          ◆你必须了解的 UI 框架特性

          ◆新的 UI 设计模式

          ◆图标和准则

          UI设计5不要

          Don’t:

          ◆不要照搬你在其它平台的UI设计,应该让用户感觉是在真正使用一个 Android 软件,在你的商标显示和平台整体观感之间做好平衡

          ◆不要过度使用模态对话框

          ◆不要使用固定的绝对定位的布局

          ◆不要使用px单位,使用dp或者为文本使用sp

          ◆ 不要使用太小的字体

           

          UI设计9要素:

          Do:

          ◆为高分辨率的屏幕创建资源(缩小总比放大好)

          ◆ 需要点击的元素要够大

          ◆图标设计遵循 Android 的准则

          ◆ 使用适当的间距(margins, padding)

          ◆ 支持D-pad和trackball导航

          ◆正确管理活动(activity)堆栈

          ◆ 正确处理屏幕方向变化

          ◆使用主题/样式,尺寸和颜色资源来减少多余的值

          ◆和视觉交互设计师合作!

          4则Android UI的设计哲学:

          ◆干净而不过于简单

          ◆关注内容而非修饰

          ◆保存一致,让用户容易投入其中,可附加少许变化

          ◆使用云端服务(存储和同步用户资料)来加强用户体验

          优秀界面的设计5条准则:

          ◆关注用户

          ◆显示正确的内容

          ◆给予用户适当的回馈

          ◆有章可循的行为模式

          ◆容忍错误

          关注用户:

          ◆了解你的用户(年龄,技能,文化,对你的应用的需求,使用的设备,何时何地如何使用设备)

          ◆‘用户优先’的设计心态 (用户通常是任务导向的行为模式)

          ◆更早,更频繁的由真实用户来测试

          显示正确的内容:

          ◆最常用的操作需要最快被用户看到并且可用

          ◆不太常用的功能可以放到菜单里面

          给予用户适当的回馈:

          ◆交互式的UI元素最少需要反映出4种不同的状态 (default,disabled,focused,pressed)

          ◆保证操作的结果是清晰可见的

          ◆多给予用户进度提示,但是不要干扰他们当前的操作

           有章可循的行为模式:

          ◆行为模式遵循用户的期望(正确的操作活动堆栈,显示用户期望看到的信息和动作)

          ◆使用合适的方式来加强功能可见性(可点击的元素就应该看起来是可以点击的)

          ◆如果用户完成一项任务需要复杂的操作,重新思考你的设计!!!

          容忍错误:

          ◆只允许有意义的操作(适当禁用一些按钮)

          ◆尽量减少不可回退的操作

          ◆允许回退(undo)比使用确定对话框更好(实际上,应该尽量少用确定对话框,它对用户是一种干扰)

          “如果错误是可能发生的,那它就一定会发生。”

          ——Donald Norman, The Design of Everyday Things 作者

          设计需要考量的8地方:

          ◆屏幕的物理尺寸

          ◆屏幕密度

          ◆屏幕的方向(竖向和横向)

          ◆主要的UI交互方式(触屏还是使用D-pad/trackball)

          ◆软键盘还是物理键盘

          ◆了解不同设备之间的相异之处是非常重要的!

          ◆阅读CDD,学习设备可能差异的地方

          ◆了解屏幕尺寸和密度分类

          Android UI 框架特性

          你必须了解(使用)的 UI 框架特性。

          使用相对布局管理界面元素。

          译者注:相对布局和线性布局是Android里面常用的两种布局,线性布局比较简单,而相对布局可以做出比较复杂的布局管理,所以仅仅了解线性布局,很多时候是不够的。不过以作者之前Qt的经验来看,Android里面的布局管理功能都比较阳春也不太容易使用,不过这可能是跟移动平台的性能考量有关系。

          合理使用资源修饰符

          使用资源修饰符来修饰同一套资源的多个不同版本。

          ◆一个apk包里面会包含所有的资源文件。

          ◆系统在运行时会根据软硬件环境来自动选择相应修饰符版本的资源。

          译者注:最常用的修饰符可能是locale修饰符(制作多语文本),dpi修饰符(为不同密度的屏幕制作不同尺寸的图标和皮肤),orientation修饰符(为横屏和竖屏提供不同的UI布局)。如果系统找不到对应的修饰符版本,它就会选择无修饰符的版本,这个版本通常也是所谓的默认选择。

          9-patch drawables

          使用 9-patch drawables – foo.9.png

          ◆9-patch drawables 的语法跟CSS3 border image 类似

          ◆根据边缘的像素宽度切割出不同的拉伸区域

          ◆最好同时提供 mdpi 和 hdpi 的版本

          译者注:drawables 在 Android 里面跟 WPF 里面的 Drawing 类似,用于定义一个可绘制的对象,包括位图,刷子,填充颜色或者以上物件的组合等等。所谓 9-patch drawables,就是将一个 drawable 按照定义的 4 个边缘的宽度大小切割成9个区域,包括4个角落,4条边缘和一个中心区域,当把这个 drawable 绘制到一个任意矩形区域时,drawable 的各个区域有不同的拉伸控制(角落不拉伸,横边横向拉伸,竖边竖向拉伸,中心区域横竖向都拉伸)。通常使用 9-patch drawable 一般是为了绘制出比较漂亮的带圆角背景,这样可以避免圆角及边缘被任意拉伸导致变形。当然,如果你的程序里面绘制的图像和目标区域大小完全一样,就不需要那么麻烦,不过以 Android 的状况来说,为了适应多种设备,最好不要事先假设目标区域的像素大小。

          使用状态列表和多层叠加来制作具备复杂效果的可绘制图像

          使用 Selector (state list) drawables (状态列表)来提供不同状态(normal,disabled,focused,pressed…)下的绘制图像。

          使用 Layer drawables (多层叠加)来制作具备复杂效果的可绘制图像。

          译者注:所谓多层叠加,使用PS来制作图标和皮肤的同学可能都清楚,比如说一个按钮的PS模板通常会包括所谓的background层定义底色,mask层定义轮廓,shine层定义前景的高亮效果。而 Android 里面允许你直接在 XML 脚本里面使用 Layer drawables 的语法来定义上述的多层叠加效果,这样可能比在PS里面直接做好要更灵活一些,并且有的层可以是来自png位图,有的层可以是直接通过 XML 脚本生成(比如纯色,过渡色等等)。

          2012年6月9日 2.6K
            阿房公
            阿房公@ahfun

            2012年6月8日

            解决网站不能下载APK文件的问题 

            今天无意间发现此前上传的APK文件,在点击下载时报告404错误。我以为是上传程序有问题,FTP登录一看,在upload文件夹下面的确存在apk文件,思考了一下,应该是IIS不能识别APK后缀的文件,这个只要增加MIME类型即可。

            于是,配置增加新的MIME类型,后缀名:.apk,MIME类型:application/vnd.android.package-archive。再测试访问,一切OK。

            参考:http://www.eoeandroid.com/qa/2012/0206/697.html

            2012年6月8日 1.8K
              阿房公
              阿房公@ahfun

              2012年6月6日

              第一个手机应用程序《求签测字》问世 

              求签测字完全遵循易经求签和解字占卜的古典规则,并通过算法完美实现于手机客户端。主要包括“黄大仙灵签”与“诸葛解字”两大核心功能,后续还将加入黄历、解梦、星座等功能。本软件是我学习Android开发的第一个练手应用,通过这个项目,我已基本掌握了开发的要点和流程,以后可以尝试更高深的应用啦。

               

               

               

              我已向移动MM提交了作品,不知是否能被收录,先把安装包放在这里下载吧。201206062322592822.apk

              2012年6月6日 1.9K

                Loading...
                穿越中

                哥们也是有底线的

                没有可加载的页面

                C
                写微文
                S
                搜索
                J
                下一篇微文/评论
                K
                上一篇微文/评论
                R
                回复
                E
                编辑
                O
                显示隐藏评论
                T
                回顶部
                L
                登录
                H
                显示隐藏帮助
                Ctrl+Enter
                提交发布
                ESC
                取消并清除内容