`
leecong1p
  • 浏览: 146589 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Android游戏开发常碰到的几个问题

阅读更多

做Android游戏开发的时候遇到的一些问题,跟大家分享一下,少走弯路。

 

1.多个Activity切换会导致onCreate重复执行,所以若在onCreate里进行一些初始化操作就会引起意想不到的问题,建议加入静态标记来判断是否第一次启动。

 

2.如果在onCreate()中建立SurfaceView对象并setContentView(),那么不要在SurfaceView的构造函数里加载文件,这时候还没有context实例。建议把Activity做成单例,在SurfaceView的surfaceCreated方法里启动游戏线程并进行游戏初始化操作。

 

3.播放声音时,只有用setDataSource(path)才可以调用MediaPlayer.prepare(),通过资源文件或者url方式使用prepare()就报错。

 

4.进行HTTP网络通信时,HttpURLConection的getResponseCode()会导致网络IO异常或者阻塞,这个BUG在J2ME也出现,建议跳过获取HTTP响应码这步。

 

5.有时view的按键响应会出现只响应方向键的问题,用setFocusableInTouchMode(true)代替setFocusable(true)就可以解决,不过建议这两句话都加上。

 

6.如何设置全屏模式:

        //设置为无标题栏  
        requestWindowFeature(Window.FEATURE_NO_TITLE);
       
        //设置为全屏模式  
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
       

7.如何强制横竖屏:
        //强制横屏模式
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        //强制竖屏
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);


8.如果你开发的程序是320x480的分辨率,却用在480x800的手机上,这时1.6以上的SDK会自动拉伸程序画面至当前屏幕比例,要关闭自动拉伸在AndroidManifest.xml加入:
<uses-sdk android:minSdkVersion="4" />

 

9.剪切区设置
        c.save();
        c.clipRect(viewX, viewY, viewX + viewWidth, viewY + viewHeight);
        //draw..........
        c.restore();

还有一些问题以后我会陆续补充,感兴趣的朋友请关注我的博客:http://leestorm.iteye.com

转载请标明作者和出处,谢谢。

 

分享到:
评论

相关推荐

    android应用开发兼容性问题整理

    资源整理了在android应用开发中遇到的几个兼容性问题,并提供解决思路。其中包括,创建快捷方式、dns解析等。

    Android游戏+原生java+超级玛丽+游戏娱乐

    开发了一款超级玛丽游戏,该游戏主要分为窗体类、场景类、马里奥类、敌人类、障碍物类等几个类。在主程序运行的线程中,用户控制的超级玛丽随方向键的操作而移动,并且可以实现马里奥游戏中的一些基本功能,例如踩死...

    android高级应用开发

    很多程序员在工作了几年之后,总觉得拿到一个新项目的时候总是无从入手,没有模式的开发方式,没有好的开发习惯 .甚至没有趁手的开发工具 . 这样,就在程序员的Update之路上遇到了瓶颈. 因为所处环境的限制,很多程序员...

    Android代码-快速开发框架

    之后会展开对每一个功能点进行详细的说明,这几个模块是我自己根据项目的积累所认为的一些有必要的封装。 注:建议以Module的方式引入,这样方便根据自己项目情况进行调整。 这里没有太多的使用指南,更多是在Sample...

    基于android的移动新闻app应用开发(带报告)

    此次新闻app应用程序开发主要利用java语言在android框架中对各种组件包括TextView、EditView、ListView进行系统性、框架性、整合性的学习,在编写app过程中,解决日常学习中遇到的一些单一性问题,同时通过编程实践...

    Android WebView 个别手机显现不全的问题

    最近做项目过程中,遇到到webview 的各种奇葩问题,相信搞Android开发的也遇到不少webview的适配问题吧,但是前几天遇到webview加载一半的情况,我去,怎么会加载一半呢,太气人了,也没有报错,网上各种搜,但并...

    Android课程设计---基于Android系统的音乐播放器设计与实现.doc

    课程设计报告书 课程名称: 操作系统原理 题 目: 基于Android系统的音乐播放器设计与实现 2012 年 7 月... 对于刚接触Android开发的我们,在很多的知识点上还是不是很理解,鉴于此在制作 的过程难免会遇到各种问题,解

    网狐荣耀版开发使用常见问题解答

    这个问题有原因有几个,一可能是服务器端的IP连接设置有问题;二是游戏更新有问题。 Q-Q457189 三十三、网狐荣耀版或其它安卓项目出现Application cannot be exported due to the erro 网狐荣耀版或其它安卓项目...

    Android插件框架Android-Plugin-Framework.zip

    关键是要重写几个获取资源、主题的方法,以及重写getClassLoader方法 5、插件中的LayoutInfalter 通过第4步构造出来的Context获取LayoutInfater即可 6、如何实现插件代码不依赖任何特殊代码,如继承特定的...

    Basic4android库分析器兼智能提示文本汉化工具

    目前中国国内研究B4A的不多,软件的右上角网址列表提供了几个B4A相关的网站,另外还增加了一个国人开发的用中文编写安卓手机软件的开发工具——易语言FOR安卓(简称E4A) 为了编写这款B4A分析器,每天晚上忙到深夜...

    Android代码-Componentization

    目前遇到的主要有以下几点问题: 代码量激增引起结构混乱 各个模块相互引用且耦合度高 无法独立开发或者调试组件代码 无法应对组件插拔的需求(例如:产品经理今天把这个功能加上,第二天又去掉,第三天又加回来T_T...

    深入理解Android:卷I--详细书签版

    在本章的拓展思考部分,笔者提出了几个问题,旨在激发读者深入思考和学习Android的欲望。    本书特色  笔者认为,本书最大的特点在于,较全面、系统、深入地讲解了Android系统中的几大重要组成部分的工作原理...

    android:多个Activity跳转的小结

    在android开发中Activity相当于web开发的页面,或者说如j2ee开发中对应的jsp页面。在开发jsp时,经常会遇到页面跳转的问题,在android也同样会遇到。以下的几个例子是我对android的Activity跳转的小结。

    android转正报告怎么写.docx

    我到公司不久,第一个项目是xxx公司网站,做这个项目的时候我遇到了几个问题,我在以前公司做的时候没有在这么短的时候完成一个项目的,在效率上提高了我的能力。做这个项目的时候我也遇到android转正报告怎么写...

    Android笔记之:App调试的几个命令的实践与分析

    其实在Android的开发之后,我们可能会碰到一些随机的问题,如cpu过高,内存泄露等,我们无法简单的进行代码调试,我们需要一个系统日志等等,下面我把握工作中碰到的几个常用命令和方法给大家演示实践一下。...

    android高级应用课程大纲

    另一方面 , 很多程序员在工作了几年之后,总觉得拿到一个新项目的时候总是无从入手 , 没有模式的开发方式,没有好的开发习惯 .甚至没有趁手的开发工具 . 这样,就在程序员的Update之路上遇到了瓶颈 . 为此,我也打算帮...

    如何定位AndroidNDK开发中遇到的错误

    AndroidNDK中的错误定位对很多开发者来说是一件头疼的事,本文通过一个Demo程序详细讲解了NDK的错误是如何产生的,以及如何通过命令行工具定位NDK的问题所在。AndroidNDK是在SDK前面又加上了“原生”二字,即...

    基于Android指南针作业.zip

    这个项目主要包括以下几个部分:方向传感器和磁力传感器的使用:在安卓设备上,方向传感器和磁力传感器是获取设备方向信息的主要工具。通过这个项目,开发者可以学习如何在代码中调用这两个传感器,以及如何处理它们...

    安卓实训项目报告,项目为个人理财通APP

    个人理财通APP是一款简单实用的公共软件,主要运用Android平台、Java技术和SQLite数据库开发的一款个人理财应用软件,方便了人们日常生活中对自己收支信息的了解,能清楚的看到自己的收支状况,对自己的收支状况做一...

    Android困难分析:安卓开发中遇到的重难点解析,也包括平常的读书笔记和知识点整理

    我会不定期从下面几个地方分享一些文章,CSDN主要是大块知识点,微博则是分享看到的好文章,微信则是每天遇到的好文章,内容可能有重复,选择你喜欢的渠道关注我即可,期待你的到来! 我的CSDN博客: : 我的微博:...

Global site tag (gtag.js) - Google Analytics