摘要: TextView tv=(TextView)findViewById(R.id.tv); DisplayMetrics dm=new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); float width=dm.widthPixels*dm.density; float height=dm.heightPixels*dm.density; tv.setText(width+"X"+height);其中dm.withPixels和dm.heightPixels得到的宽度和高度值都 阅读全文
posted @ 2011-03-17 21:56 allin.android 阅读(1464) 评论(0) 推荐(0) 编辑
摘要: 最近在开发TD游戏中发现,游戏中移动的物体,在android模拟器和真机上差别比较大。例如模拟器上FPS=10,真机上FPS=50,那么模拟器上的物体移动速度就会很慢,而真机上却跑得很快。怎样才能让物体的移动速度不受机器性能的影响呢?其实也比较简单,只要给物体一个移动速度(带方向),然后记录上一帧和当前帧的时间间隔,乘0.001换算成秒。移动速度 * 时间间隔 ,就得出每帧物体需要移动的距离。这样在性能较好的机器上,每帧的时间间隔会比较短,在同样的移动速度下就会显得比较流畅了。//delta 时间间隔public void update(long delta ){ //x坐标的移动距离 cen 阅读全文
posted @ 2011-02-27 00:22 allin.android 阅读(1830) 评论(0) 推荐(2) 编辑
摘要: 东京有一些很有特色的酒吧,它们都别具风格,各有主题,比如说 Linux 酒吧、8bit 酒吧等,人们在 8bit 酒吧里可以一边玩玩 8bit 游戏一边喝喝小酒。现在很神奇的是又迎来了一个 Android 酒吧,它就在涩谷。我们是在frandroid上看到这个酒吧的,从照片上可以看到,他们的服务之一就是为客人提供姜饼(真的是用来吃的姜饼),他们的饮料盒上还印有小机器人。是不是非常酷?十分有创意吧?... 阅读全文
posted @ 2010-11-26 00:29 allin.android 阅读(842) 评论(0) 推荐(0) 编辑
摘要: 更新到v1.2 支持”人人对战“ 游戏中用了一个Activity主框架,在进入不同场景时再去调用不同的surfaceview 在整个游戏的开发过程中发现AI的设计是最难的,看来要加强算法的学习啊。 美工也是比较头痛的问题,图片都是用ps拼拼凑凑做出了的... 阅读全文
posted @ 2010-09-09 10:10 allin.android 阅读(2933) 评论(7) 推荐(0) 编辑
摘要: 4GB大小,要价14.94英镑,约人民币158元。在Google Store上有卖 阅读全文
posted @ 2010-08-16 09:31 allin.android 阅读(818) 评论(0) 推荐(0) 编辑
摘要: 绘图优化:1、脏矩形:每次都重绘整个背景图,其实是非常浪费的,前后两帧的图其实只有很少的一部发生了变化,因此可以只重绘变化的部分。这是一种常用的绘图优化方式,需要注意的是,android用了双缓冲,也就是说,使用脏矩形的时候,需要连续绘制两次才能完成对surface的刷新。2、卷屏:这是常用的一种方法,缓存整张背景图,抽象出一个可视窗口,仅显示窗口中的内容,窗口的移动方向与sprite相同,与背景... 阅读全文
posted @ 2010-08-03 11:52 allin.android 阅读(3572) 评论(0) 推荐(1) 编辑
摘要: 更新到v1.3 全新UI界面. 学习android也有一段时间了,不过总觉得学得比较零碎,所以决定做个应用,把学到的知识做下整理。 我给这个应用取名《段子》,其实就是使用httpclient从网络上下载一些比较经典的段子,然后放到本地的数据库中,这是最主要的功能。 当然也做了一些细化的功能,如可以对喜欢段子进行加星收藏,不喜欢的段子进行删除。同时还提供了搜索功能,方便你快速查找段子。 最后使用的短信的intent,方便把段子和你好友分享。 阅读全文
posted @ 2010-07-05 22:30 allin.android 阅读(4005) 评论(3) 推荐(4) 编辑
摘要:  近来找了一些关于android线程间通信的资料,整理学习了一下,并制作了一个简单的例子。  andriod提供了 Handler 和 Looper 来满足线程间的通信。例如一个子线程从网络上下载了一副图片,当它下载完成后会发送消息给主线程,这个消息是通过绑定在主线程的Handler来传递的。 阅读全文
posted @ 2010-05-19 01:33 allin.android 阅读(62858) 评论(5) 推荐(8) 编辑
摘要: 通常每个应用程序都在它自己的进程内运行,但有时需要在进程间传递对象,你可以通过应用程序UI的方式写个运行在一个不同的进程中的service。在android平台中,一个进程通常不能访问其他进程中的内存区域。所以,他们需要把对象拆分成操作系统能理解的简单形式,以便伪装成对象跨越边界访问。编写这种伪装代码相当的枯燥乏味,好在android为我们提供了AIDL工具可以来做这件事。 AIDL(android接口描述语言)是一个IDL语言,它可以生成一段代码,可以使在一个android设备上运行的两个进程使用内部通信进程进行交互。如果你需要在一个进程中(例如:在一个Activity中)访问另一个进程中(例如:一个Service)某个对象的方法,你就可以使用AIDL来生成这样的代码来伪装传递各种参数。 阅读全文
posted @ 2010-05-15 23:23 allin.android 阅读(26842) 评论(7) 推荐(1) 编辑
摘要: Service是android 系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service的启动有两种方式:context.startService() 和 context.bindService()。 使用context.startService() 启动Service是会会经历: context.startService() ->onCreate()- >onStart()->Service running context.stopService() | ->onDestroy() ->Service stop 如果Service还没有运行,则android先调用onCreate()然后调用onStart();如果Service已经运行,则只调用onStart(),所以一个Service的onStart方法可能会重复调用多次。 阅读全文
posted @ 2010-05-15 23:18 allin.android 阅读(92657) 评论(18) 推荐(21) 编辑