做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
转载请标明作者和出处,谢谢。
分享到:
相关推荐
它虽然规模不大,但功能全面,能够解决许多在游戏开发过程中可能遇到的系统层面的问题。 首先,让我们深入了解这个小框架的核心特性。它通常会包含以下几个关键组件: 1. **图形渲染**:框架可能基于OpenGL ES,这...
Android游戏开发涉及的技术点广泛且深入,主要包括以下几个方面: 1. **Android SDK**:Android软件开发工具包是所有Android应用和游戏的基础,包含了API库、调试工具、模拟器等。开发者需要熟悉Android Studio IDE...
在Android游戏开发中,你需要了解以下几个关键知识点: 1. **环境搭建**:首先,需要安装Android Studio,这是Google提供的官方集成开发环境(IDE),包含了所有必要的工具,如SDK(软件开发工具包)、AVD(Android...
- 完成几个具有代表性的游戏项目,包括2D和3D游戏。 #### 二、主要内容概览 ##### 第1章:Android——新星登场 - **内容介绍:** - 介绍Android的发展历史及市场现状。 - 分析Android作为游戏开发平台的优势。 ...
游戏开发的核心技术主要涵盖以下几个方面: 1. **OpenGL ES**:在Android平台上进行3D游戏开发时,OpenGL ES是最常用的图形库。它是OpenGL的一个子集,专为嵌入式设备设计,包括智能手机和平板电脑。OpenGL ES 2.0...
【Android开发的贪吃蛇——课程设计详解】 贪吃蛇是一款经典的电子游戏,深受各年龄段玩家的喜爱。在Android平台上开发这款游戏,不仅可以帮助开发者巩固基础知识,还能提升对Android应用开发的理解和实践能力。本...
"android开发小游戏源码(能运行,android初学者之宝)"这个项目提供了宝贵的资源,帮助开发者快速理解游戏开发流程。源码的存在使得初学者能够直接查看并分析代码,了解实际应用中的技术细节。 首先,Android开发...
构建Android应用通常包括以下几个步骤: 1. 创建项目:在IDE中选择新建项目,设定项目名称、包名、目标SDK版本等信息。 2. 设计界面:使用XML布局文件定义用户界面,可以使用各种控件如按钮、文本框等。 3. 编写代码...
《Android小游戏:中国象棋源代码详解》 ...开发者在完成这样一个项目后,不仅能提升Android开发技能,还能锻炼解决问题和优化代码的能力。如果你对Android游戏开发感兴趣,分析和学习这个源代码无疑是一个很好的起点。
一个标准的Android项目通常包含以下几个关键部分: 1. `src/main/java`: 存放应用程序的源代码,按包结构组织。 2. `src/main/res`: 资源文件夹,包括布局XML、图片、字符串、颜色等资源。 3. `AndroidManifest.xml...
通过深入研究《Android2.0游戏开发实战宝典》的源代码,开发者不仅能学习到Android游戏开发的基本技术,还能了解到实际项目中可能遇到的问题及解决方案,这对于提升自己的编程能力和解决实际问题的能力非常有益。
在《Android过关游戏》中, GlSurfaceView的主要功能可能包括以下几个方面: 1. **渲染主线程**:GlSurfaceView创建了一个独立的渲染线程,确保图形渲染与UI更新分离,避免阻塞UI,提升游戏性能。 2. **帧率控制*...
搭建Android Studio开发环境是Android应用开发的首选途径,因为它提供了许多优于传统Eclipse IDE的优势。首先,Android Studio在UI设计和编码方面提供了更强大的支持,它内置的布局编辑器允许开发者直观地调整不同...
在Android平台上实现扫雷,主要涉及以下几个技术点: 1. **用户界面(UI)设计**:使用Android Studio的布局工具,开发者可以构建出与传统PC版扫雷相似的界面,包括数字显示、旗标标记和格子点击事件。这通常涉及到...
配置QT15.1的Android开发环境需要几个关键步骤,其中包括安装和配置必要的软件资源,如QT、JDK、SDK和NDK。 首先,由于QT15.1不再提供开源离线安装程序,你需要通过在线安装器进行安装。你可以访问QT官方网站提供的...
接下来,毕业论文部分可能会涵盖以下几个方面: 1. **项目背景**:介绍2048游戏的起源和流行度,以及选择这个项目作为毕业作品的理由。 2. **技术选型**:解释为什么选择了Android平台,以及Android开发环境的搭建...
通过这个资源包,开发者不仅可以学习到Android开发的基本技术,还能了解到实际项目中的问题解决策略,对于提升实战技能和解决工作中遇到的问题具有极大的帮助。同时,源码的分析和研究也有助于提升阅读和理解他人...
在项目结构中,一般会有以下几个主要部分: 1. `MainActivity`:这是应用的主要入口,通常在这里初始化串口设置,如波特率、数据位、停止位和校验位。在`onCreate`方法中,可以调用SerialPort库的API来打开串口,并...