摘要: 1.0版本的Light Racer架构可说的不多。仅有一个单一的Activity,进行按钮的处理,显示游戏相关数据和显示GameView。我将在另一篇文章中说明游戏的画面是如何工作的,但是现在我先声明一下的就是:在Android中,单个Activity处理所有的事情不是一个好的主意。主视图是一个SurfaceView,只是它在游戏Main Class中启动。除了SoundManager和一个轻量级的播放器类(为给定的玩家保存状态、路径和动画信息),这个Main Class负责处理全部的事情了。这使得开发起来相对比较容易,但是当有新需求来的时候,例如需要有多个NPC,多个玩家,不同的2D和3D. 阅读全文
posted @ 2011-06-05 09:54 熊波 阅读(527) 评论(0) 推荐(1) 编辑
摘要: 开放是当前一大趋势,新浪、腾讯、百度、淘宝无一不在开发自己的开放平台,作为Android开发者,我们来看看他们为Android开发者提供了什么样的SDK。新浪微博Android SDK貌似新浪只提供了API,Android SDK是由个人开发者提供。开源,提供了一个基于新浪微博Android项目开发模板。如果应用需要调用新浪微博接口,那么需要做的事情是将源码、layout、res,lib以及androidmenifest.xml导入到自己的项目,不过需要切忌:layout,res,AndroidManifest.xml不能简单覆盖。腾讯微博腾讯也是只提供了API,没见到Android SDK提 阅读全文
posted @ 2011-06-03 15:57 熊波 阅读(2140) 评论(0) 推荐(2) 编辑
摘要: 问题:在服务端保存有海量的兴趣点(POI,Point of Interest),根据用户的位置,如何判断用户当前出在哪个POI呢?分析:兴趣点是海量的,用户也是电信级的。如果每次查询用户所处的兴趣点,都要将全部兴趣点取出来计算一遍距离,从中选取最小的,这样会给服务端带来极大的压力(计算量级别约为:兴趣点数*用户数)。我们知道赤道约为4万公里,1度大约为111公里,1分大约为2公里,1秒大约为33米(经纬度的单位分别为度、分、秒,1度=60分=60*60秒)。我们可以根据用户所在位置的经纬度,先从海量数据中选取用户周围一定范围内的兴趣点,然后计算用户与兴趣点之间的距离,从而选出用户所处的兴趣点。 阅读全文
posted @ 2011-06-03 15:02 熊波 阅读(1619) 评论(0) 推荐(1) 编辑
摘要: 这个项目旨在提供一个可重复使用的ACTION BAR的组成部分。有关Action Bar 模式的详细描述可以参考Android Patterns.Action Bar 组件是一个 Library Project ,这意味着无需复制资源到项目,仅仅需要将Action Bar组件引用到项目中。Action Bar 需要 icons 么?Need icons to your action bar? Olof Brickarp has ported some of Androids native icons to vector format.使用在 layout 文件中<com.markupar 阅读全文
posted @ 2011-06-03 06:47 熊波 阅读(4099) 评论(1) 推荐(1) 编辑
摘要: 前言这一版本的主要目的是为了避免定制ACRA的Application子类。此前的规定是为了防止开发者同时使用其他的类库,例如 GreenDroid, RoboGuice, Droid-Fu 等。通过配置ACRA的@ ReportsCrashes,已经很好的解决了此问题。介绍ACRA 允许你的Android应用将崩溃报告以谷歌文档电子表的形式进行发送。本教程将引导您在应用程序项目中安装ACRA。设置好你的项目按照以下步骤在现有的应用程序项目中安装ACRA库:下载acra库( http://acra.googlecode.com/files/acra-3.1.2.zip)并打开压缩包 登录到您的谷 阅读全文
posted @ 2011-06-01 23:23 熊波 阅读(2332) 评论(0) 推荐(2) 编辑
摘要: home.xml<?xml version="1.0" encoding="utf-8"?><merge xmlns:android="http://schemas.android.com/apk/res/android"> <include layout="@layout/background" /> <LinearLayout android:orientation="vertical" android:layout_width="fill 阅读全文
posted @ 2011-05-31 19:47 熊波 阅读(4179) 评论(0) 推荐(1) 编辑
摘要: Installation下载 RoboGuice 和 guice-2.0-no_aop.jar (not guice-3.0). 创建一个Android项目, 使用1.5以上的平台版本(api lever 3 和 SDK version 3 以上)3. 给Android项目增加两个jarEclipse : Project > Properties > Java Build Path > Libraries > Add External JARs IntelliJ: File -> Project Structure -> Modules ->Your 阅读全文
posted @ 2011-05-31 19:45 熊波 阅读(1872) 评论(0) 推荐(1) 编辑
摘要: 简单示例RoboGuice 使用谷歌自己的Guice库,给Android带来了简单和易用的依赖注入。如果你使用过Spring或Guice的话,你可能已经知道这种编程方式是多么的便捷。为了给大家一个直观的映像,下面我们来一起来看看一个典型的示例:class AndroidWay extends Activity { TextView name; ImageView thumbnail; LocationManager loc; Drawable icon; String myName; public void onCreate(Bundle savedInstanceState) { super 阅读全文
posted @ 2011-05-31 19:31 熊波 阅读(3534) 评论(1) 推荐(2) 编辑
摘要: RoboGuice 使得进行Android开发更加方便,使得开发变得更加简单也更有乐趣。当你调用getIntent().getExtras()是不是经常检查是否为null?RoboGuice可以帮助你。想想调用findViewById()并映射到TextView确实有必要么?RoboGuice也可以帮你。RoboGuice 可以帮助解决这类的判断工作。你再也不用记住,是通过调用bindService获取一个用户service,调用getSystemService获取一个系统service。注入你的view、service、或者其他对象,然后让RoboGuice来处理剩下的事宜。RoboGuic 阅读全文
posted @ 2011-05-30 16:11 熊波 阅读(2160) 评论(0) 推荐(2) 编辑
摘要: 一、令人烦恼的需求变更 作为一个软件项目经理,在项目开发进行中,你是否遇到过这样的问题:客户的一个电话,就推翻了之前你与客户、与你自己的开发团队,经过再三讨论而确认定下来的需求。之后你就重新开始了和客户、和你的开发团队进入新一轮的需求谈论中,甚至是无休止的谈论。甚至要重新设计现有的架构。 而面对这种情况,作为项目经理的你是否会说:“我们无法拒绝客户,但也无法立即满足他的新需求,所以只好是推到以后再进行完善。”或者,更极端些的想法:客户总是在异想天开,客户的需求在技术上根本无法实现…… 在与客户新的需求论证中,你是否会对需求确认的重要性产生怀疑。因为在一开始已经多次和客户沟通,也在没有任何异议的 阅读全文
posted @ 2011-05-29 22:05 熊波 阅读(417) 评论(0) 推荐(0) 编辑