当前位置:文档之家› Android实训案例(八)——单机五子棋游戏,自定义棋盘,线条,棋子,游戏逻辑,游戏状态存储,再来一局

Android实训案例(八)——单机五子棋游戏,自定义棋盘,线条,棋子,游戏逻辑,游戏状态存储,再来一局

Android实训案例(八)——单机五子棋游戏,自定义棋盘,线条,棋子,游戏逻辑,游戏状态存储,再来一局
Android实训案例(八)——单机五子棋游戏,自定义棋盘,线条,棋子,游戏逻辑,游戏状态存储,再来一局

Android实训案例(八)——单机五子棋游戏,自定义棋盘,线条,棋子,游戏逻辑,游戏状态存储,再来一局

一.棋盘

我们一看就知道,我们必须自定义View,这里我们定义一个GameView来做游戏主类,第一步,先测量,我们这里不难知道,五子棋他的棋盘是一个正方形,所以我们需要去测量/**

* 测量

*

* @param widthMeasureSpec

* @param heightMeasureSpec

*/

@Override

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

//获取高宽值

int widthSize = MeasureSpec.getSize(widthMeasureSpec);

int widthMode = MeasureSpec.getMode(widthMeasureSpec);

int hightSize = MeasureSpec.getSize(heightMeasureSpec);

int hightMode = MeasureSpec.getMode(heightMeasureSpec);

//拿到宽和高的最小值,也就是宽

int width = Math.min(widthSize, heightMeasureSpec);

//根据测量模式细节处理

if (widthMode == MeasureSpec.UNSPECIFIED) {

width = hightSize;

} else if (hightMode == MeasureSpec.UNSPECIFIED) {

width = widthSize;

}

//设置这样就是一个正方形了

setMeasuredDimension(width, width);

}

这里的逻辑还是十分简单的,我们拿到长和宽去比较一下,设置这个View的长宽Wie最小值,就是一个正方形了,所以我们的layout_main.xml是这样写的

xmlns:tools="https://www.doczj.com/doc/062560272.html,/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="@drawable/main_bg"

>

android:layout_width="match_parent"

android:layout_height="match_parent" />

这里我在构造方法中设置了一个半透明的红色背景,是在我们调试的时候可以更加清晰的看清楚GameView的大小,所以,运行的结果

二.线条

这个应该也算是棋盘的一部分吧,就是棋盘上的线条,我们应该怎么去画,首先,我们要去定义一些属性

//线条数量

private static final int MAX_LINE = 10;

//线条的宽度

private int mPanelWidth;

//线条的高度

private float mLineHeight;

然后,我们要去确定大小

/**

* 测量大小

*

* @param w

* @param h

* @param oldw

* @param oldh

*/

@Override

protected void onSizeChanged(int w, int h, int oldw, int oldh) {

super.onSizeChanged(w, h, oldw, oldh);

//拿到宽

mPanelWidth = w;

//分割

mLineHeight = mPanelWidth * 1.0f / MAX_LINE;

}

不要着急,这些都只是一些准备的工作,我们画线条是必须要在onDraw(0方法里的,但是前期我们要准备一只画笔,对吧,所以我们要初始化画笔

/**

* 初始化画笔

*/

private void initPaint() {

//设置颜色

mPaint.setColor(0x88000000);

//抗锯齿

mPaint.setAntiAlias(true);

//设置防抖动

mPaint.setDither(true);

//设置Style

mPaint.setStyle(Paint.Style.STROKE);

}

现在我们可以去绘制了,我们在OnDraw(0方法里写一个drawLine方法来专门绘制线条

/**

* 绘制棋盘的方法

*

* @param canvas

*/

private void drawLine(Canvas canvas) {

//获取高宽

int w = mPanelWidth;

float lineHeight = mLineHeight;

//遍历,绘制线条

for (int i = 0; i < MAX_LINE; i++) {

//横坐标

int startX = (int) (lineHeight / 2);

int endX = (int) (w - lineHeight / 2);

//纵坐标

int y = (int) ((0.5 + i) * lineHeight);

//绘制横

canvas.drawLine(startX, y, endX, y, mPaint);

//绘制纵

canvas.drawLine(y, startX, y, endX, mPaint);

}

}

我们运行一下

好的,这里,注意一下,我在activity_main.xml中定义了一个

android:gravity="center"

属性,所以让他居中,同样的,我们在initPaint中加上点代码让我们看的更加直观一点//设置颜色

mPaint.setColor(Color.BLACK);

//设置线条宽度

mPaint.setStrokeWidth(3);

同样的,我们把构造法里的设置背景的测试代码注释掉

//测试代码

//setBackgroundColor(0x44ff0000);

这样,我们运行一下

得,我们现在有模有样了

三.棋子

棋子我们事先准备好了两张图片,但是这里我们要考虑他的大小的问题了,我们的思路是让他是行高的四分之三大小,所以先声明

//黑棋子

private Bitmap mBlack;

//白棋子

private Bitmap mWhite;

//比例,棋子的大小是高的四分之三

private float rowSize = 3 * 1.0f / 4;

然后我们定义一个方法区初始化Bitmap

/**

* 初始化棋子

*/

private void initBitmap() {

//拿到图片资源

mBlack = BitmapFactory.decodeResource(getResources(), R.drawable.stone_black);

mWhite = BitmapFactory.decodeResource(getResources(), R.drawable.stone_white);

}

拿到资源之后我们就可以设置大小了,我们在onSizeChanged()里面设置

//棋子宽度

int mWhiteWidth = (int) (mLineHeight * rowSize);

//修改棋子大小

mWhite = Bitmap.createScaledBitmap(mWhite, mWhiteWidth, mWhiteWidth, false);

mBlack = Bitmap.createScaledBitmap(mBlack, mWhiteWidth, mWhiteWidth, false);

不过棋子可没我们想象的那么简单,我们要点击一下再去绘制一个棋子,这样的思路该怎么去实现呢?我们实现它的点击事件,这里先定义几个变量

//存储用户点击的坐标

private List mWhiteArray = new ArrayList<>();

private List mBlackArray = new ArrayList<>();

//标记,是执黑子还是白子,白棋先手

private boolean mIsWhite = true;

这样才和触摸事件相得映彰

/**

* 触摸事件

*

* @param event

* @return

*/

@Override

public boolean onTouchEvent(MotionEvent event) {

switch (event.getAction()) {

//按下事件

case MotionEvent.ACTION_UP:

int x = (int) event.getX();

int y = (int) event.getY();

//封装成一个Point

Point p = getValidPoint(x, y);

//判断当前这个点是否有棋子了

if(mWhiteArray.contains(p) || mBlackArray.contains(p)){

//点击不生效

return false;

}

//判断如果是白子就存白棋集合,反之则黑棋集合

if (mIsWhite) {

mWhiteArray.add(p);

} else {

mBlackArray.add(p);

}

//刷新

invalidate();

//改变值

mIsWhite = !mIsWhite;

break;

}

return true;

}

这样,有几点是要说明一下的,首先我们new Point的时候为了避免重复绘制我们是实现了一个方法

/**

* 不能重复点击

*

* @param x

* @param y

* @return

*/

private Point getValidPoint(int x, int y) {

return new Point((int) (x / mLineHeight), (int) (y / mLineHeight));

}

紧接着我们就判断,要是重复点击,返回false,而且我们在action选择也是选择了ACTION_UP,为什么?为什么不是ACTION_DOWN?因为这个毕竟是一个View,父View 会拦截(某些场景),所以我们选在UP上才是合情合理的

好的,当我们点击之后就要绘制棋子了,这里我们也写一个方法

/**

* 绘制棋子的方法

*

* @param canvas

*/

private void drawPieces(Canvas canvas) {

for (int i = 0; i < mWhiteArray.size(); i++) {

//获取白棋子的坐标

Point whitePoint = mWhiteArray.get(i);

canvas.drawBitmap(mBlack, (whitePoint.x + (1 - rowSize) / 2) * mLineHeight, (whitePoint.y + (1 - rowSize) / 2) * mLineHeight, null);

}

for (int i = 0; i < mBlackArray.size(); i++) {

//获取黑棋子的坐标

Point blackPoint = mBlackArray.get(i);

canvas.drawBitmap(mWhite, (blackPoint.x + (1 - rowSize) / 2) * mLineHeight, (blackPoint.y + (1 - rowSize) / 2) * mLineHeight, null);

}

}OK,我们实际运行一下

四.游戏逻辑

现在什么都有了,基本上都可用玩了,但是还少了重要的一点就是游戏结束,你到了五颗也需要判断是否胜利呀,对吧,我们写一个方法,在每次绘制完成之后就去判断是否有赢家

/**

* 判断是否胜利

*/

private void checkWin() {

//判断白棋是否有五个相同的棋子相连

boolean mWhiteWin = checkFiveLine(mWhiteArray);

//判断黑棋是否有五个相同的棋子相连

boolean mBlackWin = checkFiveLine(mBlackArray);

//只要有一个胜利,游戏就结束

if (mWhiteWin || mBlackWin) {

mIsGameOver = true;

mIsWhiteWin = mWhiteWin;

Toast.makeText(getContext(), mIsWhiteWin ? "白棋胜利" : "黑棋胜利", Toast.LENGTH_SHORT).show();

}

}

好的,我们重点逻辑就在checkFiveLine这个方法上了,这里,我们所知道的胜利有四种情况

我们先定义一个常量

//胜利棋子数量

private static final int MAX_COUNT_IN_LINE = 5;

OK,接下来我们可以实现以下胜利的逻辑了

/**

* //判断棋子是否有五个相同的棋子相连

*

* @param points

* @return

*/

private boolean checkFiveLine(List points) {

//遍历棋子

for (Point p : points) {

//拿到棋盘上的位置

int x = p.x;

int y = p.y;

/**

* 四种情况胜利,横,竖,左斜,右斜

*/

//横

boolean win = checkHorizontal(x, y, points);

if (win) return true;

//竖

win = checkV ertical(x, y, points);

if (win) return true;

//左斜

win = checkLeft(x, y, points);

if (win) return true;

//右斜

win = checkRight(x, y, points);

if (win) return true;

}

return false;

}

我们不管哪个方向只要返回true就返回true,然后弹Toast,这里,四个方向的逻辑横

/**

* 判断横向的棋子

*

* @param x

* @param y

* @param points

*/

private boolean checkHorizontal(int x, int y, List points) {

//棋子标记,记录是否有五个=1是因为自身是一个

int count = 1;

//左

for (int i = 1; i < MAX_COUNT_IN_LINE; i++) {

//如果有

if (points.contains(new Point(x - i, y))) {

count++;

} else {

break;

}

}

//有五个就为true

if (count == MAX_COUNT_IN_LINE) {

return true;

}

//右

for (int i = 1; i < MAX_COUNT_IN_LINE; i++) {

//如果有

if (points.contains(new Point(x + i, y))) {

count++;

} else {

break;

}

}

//有五个就为true

if (count == MAX_COUNT_IN_LINE) {

return true;

}

return false;

}

/**

* 判断纵向的棋子

*

* @param x

* @param y

* @param points

*/

private boolean checkV ertical(int x, int y, List points) {

//棋子标记,记录是否有五个=1是因为自身是一个

int count = 1;

//上

for (int i = 1; i < MAX_COUNT_IN_LINE; i++) {

//如果有

if (points.contains(new Point(x, y - i))) {

count++;

} else {

break;

}

}

//有五个就为true

if (count == MAX_COUNT_IN_LINE) {

return true;

}

//下

for (int i = 1; i < MAX_COUNT_IN_LINE; i++) {

//如果有

if (points.contains(new Point(x, y + i))) {

count++;

} else {

break;

}

}

//有五个就为true

if (count == MAX_COUNT_IN_LINE) {

return true;

}

return false;

}

左斜

/**

* 判断左斜向的棋子

*

* @param x

* @param y

* @param points

*/

private boolean checkLeft(int x, int y, List points) {

//棋子标记,记录是否有五个=1是因为自身是一个

int count = 1;

for (int i = 1; i < MAX_COUNT_IN_LINE; i++) {

//如果有

if (points.contains(new Point(x - i, y + i))) {

count++;

} else {

break;

}

}

//有五个就为true

if (count == MAX_COUNT_IN_LINE) {

return true;

}

for (int i = 1; i < MAX_COUNT_IN_LINE; i++) {

//如果有

if (points.contains(new Point(x + i, y - i))) {

count++;

} else {

break;

}

}

//有五个就为true

if (count == MAX_COUNT_IN_LINE) {

return true;

}

return false;

}

右斜

/**

* 判断右斜向的棋子

*

* @param x

* @param y

* @param points

*/

private boolean checkRight(int x, int y, List points) {

//棋子标记,记录是否有五个=1是因为自身是一个

int count = 1;

for (int i = 1; i < MAX_COUNT_IN_LINE; i++) {

//如果有

if (points.contains(new Point(x - i, y - i))) {

https://www.doczj.com/doc/062560272.html,unt++;

} else {

break;

}

}

//有五个就为true

if (count == MAX_COUNT_IN_LINE) {

return true;

}

for (int i = 1; i < MAX_COUNT_IN_LINE; i++) {

//如果有

if (points.contains(new Point(x + i, y + i))) {

count++;

} else {

break;

}

}

//有五个就为true

if (count == MAX_COUNT_IN_LINE) {

return true;

}

return false;

}

这样,我们运行一下

嘿嘿,好玩吧!

五.游戏状态存储

这个就是当我们游戏挂后台之后,再回来游戏就没了,我们应该存储他的状态,让他每一次进入的时候要是上一句没有下完接着下,那我们该怎么去实现呢?和Activity一样,我们View也有存储状态的方法

/**

* 存储状态

*

* @return

*/

@Override

protected Parcelable onSaveInstanceState() {

Bundle bundle = new Bundle();

bundle.putParcelable(INSTANCE, super.onSaveInstanceState());

bundle.putBoolean(INSTANCE_GAMEOVER, mIsGameOver);

bundle.putParcelableArrayList(INSTANCE_WHITE_ARRAY, mWhiteArray);

bundle.putParcelableArrayList(INSTANCE_BLACK_ARRAY, mBlackArray);

return bundle;

}

/**

* 重新运行

*

* @param state

*/

@Override

protected void onRestoreInstanceState(Parcelable state) {

//取值

if (state instanceof Bundle) {

Bundle bundle = (Bundle) state;

mIsGameOver = bundle.getBoolean(INSTANCE_GAMEOVER);

mWhiteArray = bundle.getParcelableArrayList(INSTANCE_WHITE_ARRAY);

mBlackArray = bundle.getParcelableArrayList(INSTANCE_BLACK_ARRAY);

//调用

super.onRestoreInstanceState(bundle.getParcelable(INSTANCE));

return;

}

super.onRestoreInstanceState(state);

}

这样就可以了,但是,有一点要知道,不要忘记在布局文件上给控件加上ID,不然状态不会存储哦

android:id="@+id/mGameView"

android:layout_width="match_parent"

android:layout_height="match_parent" />

六.再来一局

既然我们的游戏逻辑差不多了,那我们应该考虑一下当你胜利的时候,你是不是应该再来一局,所以我们还要实现这个逻辑,这个很简单

/**

* 再来一局

*/

public void RestartGame() {

mWhiteArray.clear();

mBlackArray.clear();

mIsGameOver = false;

mIsWhiteWin = false;

invalidate();

}

这样,我们就可以直接调用了,我们来看看MainActivity package com.lgl.fiverow;

import android.support.design.widget.FloatingActionButton; import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

/**

* 五子棋游戏

*/

public class MainActivity extends AppCompatActivity {

//重来按钮

private FloatingActionButton fab;

//游戏

private GameView game;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(https://www.doczj.com/doc/062560272.html,yout.activity_main);

game = (GameView) findViewById(R.id.mGameView);

fab = (FloatingActionButton) findViewById(R.id.fab);

fab.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View v) {

game.RestartGame();

}

});

}

}

基于android的游戏开发开题报告总结.doc

开题报告 (1)研究的目的和意义 Android 操作系统最初是由 Andy Rubin 制作,最初主要支持手机,在2005 年被搜索巨头 Google 收购注资,并组建开放手机联盟开发改良随后,逐渐扩展到平板电脑及 其他领域上,2008年全球第一步安卓智能手机问世,标志着安卓的重生。而在2011 年 11 月份的调查, android 智能机一跃超过苹果,以全球市场占有率76%,中国 90% 遥遥领先。在安卓手机中以三星的GALAXY III系列为领头羊,领跑安卓手机最新科技。 当人类步入 21 世纪,随着科技的日趋发展,智能手机 ,平板电脑等高端电子产品进 入了我们的日常生活,随着 3G 时代已经慢慢的融入了我们的日常生活,随着社会的进 步和科技的发展手机已经从单纯的通讯工具转变为集娱乐,学习,通讯为一体的高端电子 产品,随着诺基亚塞班系统的没落,安卓系统迎来了春天。据市场调查,智能手 机市场已经形成了二足鼎力的态势,安卓和苹果的 IOS作为领军者遥遥领先于 windows phone 系统。同时各种 android 应用程序已经有了比较明朗的发展前景,尤其以手机游 戏这个亮点受到广泛的关注和喜爱,正是由于android 拥有广大的用户群, android 手 机游戏拥有巨大的潜力,它也主宰者手机游戏的未来,此次毕业设计顺应时代发展潮 流,依托现在硬件上的优势,以 android 为平台,旨在玩家打造一款优秀的安卓小游戏, 使玩家身临其境,爱不释手。在安卓游戏的市场上,使得 android 手机游戏种类更加丰 富多彩,为安卓手机游戏的发展做出贡献。 (2)国外同类研究的概况 手机游戏种类和资源日益丰富,游戏界面越来越华丽,游戏规则日益复杂,已经 具备了很强的娱乐性和交互性的复杂形态。 2003 年 10 月,Andy Rubin 等人创建了 Android 公司,google 公司于 2005 年 8 月 17 日低调收购 android 以及其团队,Andy Rubin 成为 Google 公司 android 项目工程部

基于Android系统的游戏APP设计

本科毕业设计(论文)题目:基于Android系统的游戏APP设计 院系:工学院电气与电子工程系 专业:自动化 班级:自动化1202 姓名:王学松 学号:201202022007 指导教师:张俊超杨鹏 烟台南山学院教务处 二〇一六年六月

烟台南山学院毕业设计(论文)原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在论文中作了明确的说明并表示了谢意。本声明的法律结果由本人承担。 论文作者签名: 年月日 烟台南山学院关于毕业设计(论文)使用授权的说明 本人完全了解烟台南山学院有关保留、使用学士学位论文的规定,即:学校有权保留、送交论文的复印件,允许论文被查阅,学校可以公布论文的全部或部分内容,可以采用影印或其他复制手段保存论文。 指导教师签名:论文作者签名: 年月日年月

烟台南山学院本科毕业设计(论文)第 I 页基于Android系统的游戏APP设计 摘要 随着移动互联网的不断发展,我们的生活发生了巨大的改变,智能手机已经成为我们日常生活所必不可少的一个工具,而在整个手机操作系统中,Android以一种开放源码操作系统为基础的系统迅速霸占了手机操作系统市场,因而在Android系统的环境下开发极其重要。Android系统是完全开放性的系统构架,不仅开发和调试环境方便快捷,而且对于用户来说,具有极强的扩展性,用户可体验各种丰富的组件、多媒体功能和各类浏览器。对于从事软件开发工作的人,在Android平台下开发软件非常有吸引力。 Android是以Java为基础的一种语言,本文详细介绍了如何在Android平台上开发编写程序,在分析软件开发技术原理的基础上,在Android平台上为用户开发了一款数独游戏。而在对Android系统进行进一步需求分析时,明确了系统的各项性能要求,而且对于数独游戏的启动动画、主界面设计、屏幕的绘制、时间的控制以及如何布局等进行了一系列的设计,最终为用户实现了一个操作简单、内容丰富的益智休闲游戏。 关键词Android数独游戏智能机

基于Android操作系统的中国象棋手机游戏

基于Android操作系统的中国象棋手机游戏

石家庄科技信息职业学院 毕业论文 题目:基于Android操作系统的中国象棋手机游戏 学号:090124012 姓名:王麒 专业班级:软件技术(游戏方向)09-24 班 指导教师:刘永伟 完成日期:2011-12-18

摘要:Chess是运行在Android平台上的一款支持双人联网对局、即时聊天、对弈记录的休闲棋牌类手机游戏。 系统采用面向对象的编程思想进行构思与分析设计;使用UML构建软件模型;使用MVC架构模式实现系统的整体架构及各模块之间的接口设计;在系统的实践过程中还采用了部分GoF的设计模式进行编码与开发。 本文详细系统地阐述了在Android平台上,面向对象的软件开发思想对Chess游戏系统的分析、设计及实现过程。在项目的实践过程中,主要用到了以下技术:手机布局主要使用了XML设计,程序及其子模块的生命周期管理用到了Activity流程控制,数据储存方面使用的是轻量级数据库SQLite、网络通讯部分使用的是XMPP即时通讯协议进行数据的传输、对弈的画面更新使用的是手机的2D 图形编程。本论文的前半部分将简要介绍系统相关的行业信息及基础的技术知识,后半部分将对本人在系统各模块中所使用的关键技术的实现进行了全面的介绍。 关键词:联网对弈;中国象棋;手机游戏;Android平台

ABSTRACT:CnChess is a Chinese Chess game that running on the Android platform.It support many of the features such as playing games through the network, real-time chat, and play chess records of casual mobile games. The CnChess game is object-oriented programming design and analysis of the idea of thinking; build software models using UML; use of MVC architecture patterns to achieve the overall system and the interface between the module designs; in practice the system also uses some of the GoF's design patterns to coding and development. This paper systematically expounded in the Android platform, the application of MVC pattern and hierarchical structure of object-oriented software development thoughts cnChess game system analysis, design and implementation process. Practice in the course of the project, mainly used in the following technologies: cell phones primarily use XML layout design, process and life cycle management sub-module uses the Activity process control, data storage areas using a lightweight database SQLite, netwrok communication Some use the XMPP instant messaging protocol for data transmission, public debate of the frame using a mobile phone 2D graphics programming. The first part of this paper will briefly introduce the system based on relevant industry information and technical knowledge, the latter part of each module in the system; I will be in the key technology used in the realization of a comprehensive introduction. Keywords: Network of games; Chinese chess; Mobile Games; Android platform

RFID手持机市场分析(Android系统)

Android系统RFID手持机市场分析 一、产品市场应用分析 金盾信安手持机设计基于开放性和服务免费Android系统平台,目标市场根据功能的选配可以辐射到军=用JD-8180A和民用JD-8180B,由于产品本身定位的新颖性、应用正对性和具备Android系统平台的二次开发等特性,我们市场定位在中高端市场,但基于目前市场来看,产品基本上能够满足各行各业RFID解决方案的应用。 该产品最大亮点是采用全新无线网络数据通信技术,提高产品工作效率。 Android强大的联网功能,对手持机3G视频功能和通讯信息即时上传具有强大的支持;工业化外型设计,外壳坚固,防水抗震,能够适应高低温环境,适于在厂矿野外等恶劣的作业环境;具有大容量存储、超长使用时间、多种通讯及扩展接口、硬件模块可以根据不同的需要进行配置、软件可以全面定制等特点。另外,整个设备内部的预留空间大,内部预留接口多,适于用户进一步扩展,非常适合具有自行开发能力的行业解决方案供应商进行二次开发应用,能够大为降低开发和使用成本。 二、产品市场竞争分析: (一)总量规模 1.军用JD-8180A市场: 军用JD-8180A是新一代具有完全独立自主知识产权的移动手持终端系列产品,集语音、视频、数据传输于一体,该产品采用终端的应急通讯系统,可以应用到军队、公安、建筑、采矿、监狱、消防、地震救灾、武警防爆、港口作业、国土勘察、海关缉私、电力、铁路、高速公路、精准农业、畜牧业管理、食品安全、易燃易爆品溯源等领域。据资料统计,2011年国内市场需求将达到上千万台。 2.民用JD-8180B市场: 据市场调研厂商In-Stat公司预测表示,2011年企业在RFID技术上的投资将由去年的68亿美元提高到百亿美元。2011 年以后,国内企业和机构从自身需求出发而推动的项目将显著增长,成为RFID 又一块活跃的市场点。市场对RFID 手持机的需求主要集中在以下领域: (1)港口码头、集装箱。RFID 技术已经开始应用于港口车辆、集装箱和货物的识别。每个集装箱场地的海关和企业需配置大量的RFID 手持机,估计需求量可达10 万台以上。 (2)零售、服装、制造业产品的库存追踪、仓储、后台出货及收货、移动盘点、查价和货架调整。在国外,RFID 技术已经普遍应用于零售业和服装流通管理。RFID 手持机将成为主要的应用设备。估计国内需求量可达100 万台以上,出口保守估计将超过国内总量。

基于Android的移动终端GPS测量系统的设计与开发(发表)

基于Android的移动终端GPS测量系统的设计与开发 秦超,姜良君,蔡永香 (长江大学地球科学学院,湖北荆州,434023) 摘要:本文针对手机GPS功能进行移动应用开发,设计并实现了基于Android平台的移动终端GPS测量系统。在分析学生野外测量实习需求的基础上,对系统进行了功能模块划分;在系统的程序模块详细设计中,着重探讨了数据库的设计与地块长度/面积计算方法。测试结果表明,该系统已能替代GPS手持终端,满足野外测量实习的需要。 关键词:Android;移动终端;GPS测量 1 引言 第三代移动通讯(3G)技术为移动终端用户带来了更快的数据传输率,也为电信网络与计算机网络的融合提供了支持。随着3G网络的使用,移动终端不仅是通讯网络的终端,也将成为互联网的终端[1]。因此,移动终端的应用和需要的服务将会有很大的发展空间。Google于2007年11月5日推出了基于Linux平台的移动终端系统软件平台——Android,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件[2],并融合了GPS技术,支持GPS的应用开发。 GPS的出现为测量技术带来了一场深刻的技术革命。利用GPS的定位功能,对于任何点状、线状、面状地物,都可以通过GPS的定位功能获取其地理坐标数据,通过地图投影方法,可计算出线状地物的长度,面状地物的面积等。以前学生野外测量实习时,常用的是手持GPS,这是一种专用的测量设备,需要专门购置和携带。而随着智能手机的发展和普及,学生基本上是人手一部,因此在基于Android平台的移动终端上开发GPS测量系统,可使得手机用户随时利用手机进行测量定位,操作方便、便于携带,具有很强的实用性。 因此,本文利用智能手机自带的GPS定位功能,通过获取测量点的地理坐标数据,进行点、线、面地物的空间位置测量,通过地图投影方法,计算出线状地物的长度或面状地物的面积及周长,并能够将结果可视化的显示在屏幕上。 2 系统功能模块划分 野外测量实际上包括独立点位测量、线状地物或面状地物的连续测量、测量数据存储、查看、显示与更新、地物面积、长度的计算等。因此,基于Android的GPS测量系统主要功能模块可以划分为:独立点位测量、地物点的动态定位测量、测量结果显示与更新、地物面积(或长度)测量。 1)独立点位测量:测量时对独立点逐一定位,获取其地理坐标。其属性信息,如地物名称、所属图层类型、所属图层名称、测量点位置序号等,可事先在室内输入系统。 2)地物点的动态定位测量:在线状边界测量时采用,通过设置定位间距(或者定位时间间隔),随着设备的移动每隔设定的间距(或时间)自动采集一次定位数据;而对于开始点、结束点以及转角点等这些特殊的点位,可通过点击特殊点定位按钮定 * 本项目获长江大学楚天学者项目资助

基于android平台连连看游戏设计与实现本科毕业设计论文

毕业论文 题目:基于Android平台的连连 看游戏设计与实现

毕业论文(设计)原创性声明 本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。 据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名:日期: 毕业论文(设计)授权使用说明 本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名:指导教师签名: 日期:日期:

注意事项 1.设计(论文)的内容包括: 1)封面(按教务处制定的标准封面格式制作) 2)原创性声明 3)中文摘要(300字左右)、关键词 4)外文摘要、关键词 5)目次页(附件不统一编入) 6)论文主体部分:引言(或绪论)、正文、结论 7)参考文献 8)致谢 9)附录(对论文支持必要时) 2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。 3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。 4.文字、图表要求: 1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写 2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画 3)毕业论文须用A4单面打印,论文50页以上的双面打印 4)图表应绘制于无格子的页面上 5)软件工程类课题应有程序清单,并提供电子文档 5.装订顺序 1)设计(论文) 2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订 3)其它

手持终端票务管理

手持终端票务管理 国足客场2:1战胜卡塔尔队,无缘世界杯。对于这场拼出尊严的告别,相信很多人还在为国足的出局而惋惜。看着精彩紧张的比赛,很多人都恨不得能在现场为国足呐喊加油。可是,每当看到检票口排着的长龙时,是不是被吓一跳?检票速度慢,检票时间长,眼看比赛快要开始了,自己还在队伍的后边,心里真是着急,恨不得跨过那道检票口直接冲到会场里。 如何缩短检票时间,加快检票速度,确保观众通行顺畅?单靠检票人员的神手速哪能行。越来越多的会场开始采用票务管理解决方案,给检票人员配备专用的手持终端,借助条码扫描和RFID标签读写,实现票纸扫描零延迟。 一、票务管理是什么? 票务管理是采用先进的电子标签或二维码标签,将物联网自动识别技术和计算机网络票务信息管理相结合,通过手持终端设备对电子票(电子标签或者二维码)凭证进行识读验证,使传统手工售票工作电子化,同时实现票务管理工作走向全面自动化、规范化,从根本上解决票据查询难、售票劳动强度大的现状,提高票据管理效率和客户的服务质量。 二、票务管理的内容有哪些? 1、门口检票:出入场馆验票时通过手持终端读取电子标签门票的信息,通过合法人员名单和安全认证模块进行安全认证,如果认证通过,信息正确读出,返回确认信息,合法通过,否则将提示报警。 2、移动查票:再严密的入口验票程序也有可能会造成少量疏漏,在场馆内还需通过例行安全巡查进一步发现不合法的进馆人员。稽查人员可携带i6200S手持终端设备,在不打扰观众的情况下,随机抽查读取观众身上的门票信息,进一步检验,最大限度的杜绝了假票的出现。 3、查询和统计:通过手持终端还可实时下载合法的观众名单,上传入场人员和门票鉴别真伪信息;同时系统可按照日期、发出的观众票等及时对各种门票进入展馆的情况进行查询,从而对售票情况与检票情况进行对比统计。 三、票务管理如何实现? 以二维码为例,观众入场前,工作人员通过手持终端扫描票纸二维码,扫描器即显示票纸真伪;入场后,观众通过手机微信等软件扫描票纸二维码,即可在手机上查询到票纸真伪及座位信息。利用电子标签的高度防伪,专用手持终端可快速精准实现检票并统计入场人数。 四、票务管理终端的参数选择 如何根据参数选择性能合适的手持终端,是实现快速检票、减少检票过程中设备故障的关键因素之一。 基本规格 操作系统:Safedroid OS(i6200S的Safedroid OS是基于Android 5.1的) 处理器:四核1.2 GHz 显示屏:4.0 英寸彩色显示屏,分辨率480×800。 触摸屏电容屏 内存RAM:2GB

手持机移动端概要设计说明书V1.0.1

手持机移动端 概要设计说明书 北京盛威时代信息科技有限公司 --------------------------------------------------------------------- 北京盛威时代信息科技有限公司对本文件资料享受著作权及其它专属权利,未经书面许可,不得将该等文件资料(其全部或任何部分)披露予任何第三方,或进行修改后使用。

文件更改摘要:

目录 文件更改摘要: (1) 1. 引言 (3) 1.1目的 (3) 1.2术语及缩略语 (3) 1.3参考资料 (3) 2. 概述 (3) 2.1背景 (3) 2.2范围 (4) 2.3目标 (4) 2.4设计约束、限制 (4) 3. 总体设计 (4) 3.1需求规定 (4) 3.2运行环境 (4) 3.3开发环境 (5) 3.4设计思想 (5) 3.5系统结构 (5) 3.5.1 手持机-全局模块 (6) 3.5.2 手持机-票务模块 (7) 3.5.3 手持机-订单模块 (9) 3.5.4 手持机-用户模块 (10) 3.5.5 手持机-统计模块 (11) 3.5.6 手持机-设置模块 (12) 3.6系统关键流程 (13) 3.6.1 手持机业务初始化流程 (13) 3.6.2 手持机售票流程 (14) 3.7系统返回流程 (16) 3.8关键技术 (16) 4. 接口设计 (16)

1. 引言 1.1 目的 本文档用来描述手持机售票软件的客户端功能性需求、非功能性需求,重点描述了各个功能的设计要求。 用户、项目经理、开发经理、开发人员、设计人员、测试经理、测试人员是本文档的预期读者。 1.2 术语及缩略语 1.3 参考资料 2. 概述 2.1 背景 中国移动互联网处于高速发展阶段,信息化、数字化已成趋势。传统的售票补票方式存在三大痛点:计算难(中途上车下车,站点多),查询难(稽查人员检查多个班次),统计难(售票员和稽查人员都需要及时递交补票的数量及票务计算)。 盛威时代作为一家为道路交通行业提供信息化的服务商,已经为行业管理部门和客运企业提供了一整套的信息化方案,包含为客运企业提供的站务管理、网站售票管理、移动端售票客户端、微信售票公众号服务、综合统计分析系统等。通过信息化的实施大大提高了企业和行业的管理水平,形成了比较完备的闭环管理。但是,我客车中途售票,目前还是人工操作,会给行业管理和客运企业管理方面带来一些不便,也为企业的数据分析和决策留下了一些缺口。为了更好的满足行业和企业管理需求,盛威时代推出手持机售票系统。

基于Android平台的手机游戏开发【开题报告】

毕业设计开题报告 计算机科学与技术 基于Android平台的手机游戏开发 一、选题的背景、意义 手机游戏是相对于传统计算机游戏而提出。通俗来说,手机游戏就是在手机上进行游戏应用。 最早手机游戏是1997年Nokia 推出手机内置游戏贪吃蛇(Snake)。随着手机终端和移动通信网络不断发展,手机游戏也正在经历由简单到复杂进化过程。 2003年9月,随着移动百宝箱正式收费,国内手机游戏产业正式启动,用户增长十分迅速。短短几个月时间里,手机游戏用户就增长到200万。此后时间里,手机游戏用户规模一路高歌猛进,在2005年时即突破1500万。 近年来,因特网在国内迅速普及,导致了网络游戏的高速发展。同样手机的普及,导致了手机游戏市场呈现爆炸式的发展。尤其是国内外巨大的手机拥有量,更是让商家看到了商机,手机游戏市场利润将会十分丰厚。面对潜力如此巨大的手机游戏市场,各游戏开发商,运营商,服务商以及手机终端厂商等都纷纷开始了各自的应战准备,以便抢占商机。 诺基亚,索爱,摩托罗拉等各大手机厂商开始不断的提升手机在游戏方面的性能,同时还在手机操作系统方面采用开放式的平台,方便用户享受不同的手机游戏业务。而国内游戏开发商,如盛大,网易等公司,纷纷跻身手机游戏开发商行列.新浪,搜狐等著名的门户网站,也纷纷涉足手机游戏领域,相继开辟了各自的手机游戏频道和栏目,其他一些游戏网站也都全面加快了手机游戏开发的步伐。目前Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统Android在智能手机领域这块虽然不是做的最早的,但是现在确实做的最好的,市场满意度和市场份额也是整个智能机市场里较大的一个。 据了解,最早进入Android市场的台湾宏达电陆续在一年内推出了G1、Magic、Hero、Tattoo等手机,三星也在近期推出Galaxyi7500,摩托罗拉在早前推出新款Android手机Droid,中国移动也以Android 为基础开发了OPhone平台。这些都证明Android已经成为了智能手机市场的重要发展趋势。

基于Android平台的连连看游戏的开发与实现【毕业作品】

BI YE SHE JI (20 届) 基于Android平台的连连看游戏的开发与实 现

摘要 手机游戏是消费者利用随身携带的智能移动终端设备能随时随地来进行的游戏。近年来,随着移动互联网和电子信息技术的迅猛发展,手机游戏市场亦得到了很大的发展。Android是在手机应用市场和移动互联网迅猛发展的形势下应运而生的,它是由Google公司推出的一款基于Linux内核的开源手机操作系统,由于其具有开放性、不受运营商的束缚、丰富的硬件选择、开发商不受任何限制和能无缝结合优秀的Google应用的特点,很快就称霸智能机平台系统领域。进行Android平台手机游戏的研究与开发,成为一个非常有趣而又有很大发展空间的领域。 本文通过对Android应用开发的初步研究,设计出了一款基于Android平台的连连看小游戏。在对系统进行详细需求分析的基础上,确定了系统的基本功能要求,对游戏的关卡设置、菜单界面、音效和动画、、时间控制、屏幕绘制、连通算法和布局算法进行了设计,并最终实现了一款风格清新可爱、娱乐体验丰富且性能高效稳定的手机连连看小游戏,它很好地缓冲了当今人们的紧张生活节奏,为一些枯燥时刻带来另样而欢快的享受。 关键词:手机游戏 Android 连连看

ABSTRACT Mobile games are the games which consumers can use portable smart mobile devices anytime, anywhere. In recent years, as the mobile Internet and electronic information technology rapidly developing, mobile games market has also been a great development. The mobile application market and the rapid development of mobile Internet situation make Android came into being, it is by Google Inc. launched a Linux-based open source mobile operating system kernel, because of its openness, free from the shackles of operators, rich hardware options, developers without any restrictions and can seamlessly integrate Google Apps excellent characteristics, soon dominate the smartphone platform system fields. Conduct research and development of the Android platform mobile games, having become a very interesting area of great development space. Based on the preliminary study on Android Application Development, a model based on the Android platform Lianliankan game has been designed succeed. In the system, based on detailed needs analysis to determine the basic functional requirements of the system, set up checkpoints on the game, the menu interface, sound and animation, and time control, screen drawing, connectivity and layout algorithms algorithm design, and ultimately achieve a fresh style cute, rich entertainment experience and the performance stable and efficient mobile Lianliankan game, it is well cushioned the pace of life today, tension, as some of the boring moments brings another kind and cheerful enjoyment. KEY WORDS: Mobile games Android Lianliankan

基于Android的五子棋游戏设计与实现毕业设计

安徽大学 本科毕业论文(设计、创作) 题目:基于Android的五子棋游戏设计与实现 院(系):计算机科学与技术学院专业:计算机科学与技术入学时间:2010年9 月导师:邹海职称学位:副教授博士 导师所在单位:安徽大学计算机科学与技术学院 完成时间:2014 年5月

基于Android的五子棋游戏设计 摘要 手机游戏被业内人士称为继短信之后的又一座“金矿”。从2003年到2010年的市场销售额年均复合增长率为62.4%。可以看出,手机游戏将经历一个黄金发展时期。3G的普及、手机显示性能的提高、手机屏幕的扩大和较高的分辨率,解决了传统手机行业的很多弊端,手机休闲娱乐应用将成为PC休闲娱乐之后又一重要业务增长点。同时Android采用了键盘形式的按键,可以完成更复杂的操作。Android 虽然基于Java,但是其虚拟机是基于寄存器的(这与普通的Java基于堆栈不同),速度得到很大的提升,这为Android平台上开发游戏提供了坚强的后盾。 本论文主要阐述以面向对象的程序开发语言eclipse为开发工具, 基于智能手机Android之上设计一个五子棋游戏。五子棋起源于中国古代的传统黑白棋种之一,它不仅能增强思维能力提高智力,而且富含哲理,有助于修身养性。本系统是本系统中设定了人机对战和人人对战两种模式。人机对战实现的是一些简单的算法,人人对战只是进行了输赢方的判定。它与javame的五子棋设计有许多的不一样,Android本来就是全触摸的形式,而且操作非常简单。 关键词:五子棋;Android;人工智能

The Five in a Row Game Based on Android Abstract Mobile games since the industry was called after a text message "goldmine" again. From 2003 to 2010 annual sales surged 62.4 percent from compound rate for. Can see,mobile games will experience a golden period of development. 3G phone displays the popularization and performance improvement,the expansion of the phone's screen,and a ,solve the traditional mobile phone industry's many drawbacks,mobile entertainment applications will be after PC entertainment another important business growth. Meanwhile Android also USES a keyboard forms of buttons that can do more complex operation. Android though,but its based on a Java virtual machine (which is based on the register with the ordinary Java stack-based different),speed,it got a lot of ascension for the Android platform games provide a strong backing. This paper mainly expounds the object-oriented program development in eclipse for language development tool, smartphone Android based on above design a five in a row game. Gobang originated in China ancient traditional black white kind, it not only can enhance one of thinking capacity, improve inligence and philosophy, -machine against and everyone against two patterns. The realization man-machine against some simple algorithm, everyone was against just win the judgement of the party. It many are dissimilar, Android is the entire touching form originally, moreover operates is simple. Keywords:five-in-a-row;android;artificial inligence

手持终端考查报告

手持终端应用的考查报告 一、用手持终端操作流程 1、验收:货物进待验区后,验收员用手持终端选择相应的采购订单并填写相关验收信息,扫描托盘条码标签使得商品信息与托盘信息相对应,确认无误后将商品送往保管员。售后退货程序与天星现有程序相同,手持程序同验收入库(除需双人签字的特殊药品外,无纸质入库单据)。 2、入库:保管员从手持终端接收到验收信息后,把从待验区运送至存储区(整件入整仓区,零货入零货区)商品用手持终端扫描运货托盘上条码标签,确认入库商品和数量,并按仓库实际存货规则堆垛上架,并再次扫描货位条码标签,通知系统商品实际存放货位。 另:对于大批量单品种入库,可使用一个虚拟载具码。 如果保管人员在入库过程中发现有问题商品,必须放在原载具上退回待验区。 整仓为随机存储,一个货位码可对应多个商品。 零仓为定位存储,一个货位码可对应多个商品,每个商品有一个默认货位,可根据需要更改。 3、发货:系统内对销售出库单按订单、库区划分,并形成队列,发货人员的手持终端定时向系统询问对应库区的出库单(只显示其保管区内的出货单),若出库单出现在手持终端上,发货人员可点选出库单发货;或由调度员分配发货(如紧急、自提订单)。 发货单是由调度员按发货情况分批放出(此方法可将控制发货节奏,分离急、缓订单的发货顺序。)。 发货员根据手持终端上出库单所显示的库区、货位、商品、批号、数量等信息到发货位置→手持扫描货位条码→确认显示发货商品的信息→发货→手持扫描载具(托盘或零货篮)条码,将商品与载具对应送至复核区。 发货时发现商品短缺、货损等异常情况无法满足发货要求,由出货人员在扫描货位后的标记发货异常无法发货。最后由复核台通知销售开票部门作退货处理。 4、出库复核:一个订单在仓库所有库区发货完成后,打印出一个复核清单(上面标有载具码)。复核人员根据清单复核,并在复核清单上注明整件数、拼箱数等信息,再由专人打出配送封面,由车队配送。 二、用手持终端带来的优点 1、在验收环节不需用电脑操作验收一次,再用手工填写一次验收入库单,节约了人工成本。 2、在商品出库时不再需要大量打印纸质的出库单,在发货和出库复核环节的节奏可以人为地控制,可以分急、缓订单进行有序发货。 3、提高了物流人员工作效率和误差率。

基于Android平台的数独游戏设计与实现_郭东恩

总第269期 2012年第3期 计算机与数字工程 Computer &Digital Engineering Vol.40No.3 46   基于Android平台的数独游戏设计与实现* 郭东恩 吴 刚 (南阳理工学院软件学院 南阳 473000) 摘 要 该文开发了益智类数独手机游戏。该游戏以多种输入方式及良好的用户界面呈现丰富的数字谜团,为各种用户提供一个简单小巧的娱乐平台。游戏基于Android平台开发实现,可以运行于任意主流的Android手机中。 关键词 Android;SQLite;XML;数独游戏 中图分类号 TP31l Design and Implementation of Sudoku Game Based on Android GUO Dong en WU Gang (School of Software,Nanyang Institute of Technology,Nanyang 473000) Abstract The Sudoku mobile game was developed which shows rich digital mystery through using variety of input methods and a gooduser interface.It provides a simple and lovely entertainment platform for users.This game’s achievement is based on the Android platform,it can run on any Android phones in the mainstream. Key Words Android,SQLite,XML,Sudoku game Class Number TP31l 1 引言 随着人们对便携需求的不断变化,移动设备越来越普及,进入了寻常百姓的生活当中。然而随着生活水平的不断提高,人们对移动设备的要求也越来越高,移动设备开始向微型化智能化方向发展。手机游戏由于具有随时、随地、随身的特性开始在游戏市场占据越来越大的市场份额。手机游戏软件已成为手机应用软件中使用率最高的一类。根据艾瑞咨询集团(iResearch)调查预测,到2012年,全球手机游戏收入将由2007年的32亿美金增长至72亿美金[1]。由此可见,手机游戏开发行业已经成为软件开发行业中的一枝奇葩。成为广大程序开发人员的一块沃土。Google和33个巨头联袂推出Android平台,迅速占领市场,成为互联网移动设备的主角,引领时代的发展方向[2~4]。 在经济文化日益发展的今天,人民的生活水平得到了很大的提高。生活在钢筋混凝土大都市里的人群,每天都要面对各种各样的生活压力,为了给大家提供最好的思维锻炼,缓解人们工作压力,放松和休息大脑,开发了休闲益智类数独手机游戏。 2 系统需求分析及模块设计 “数独”的前身为“九宫格”,最早起源于中国,之后在欧美、日本等国家得到了广泛的传播。2004年,第一个“数独”游戏被刊登上了英国《泰晤士报》的封面,此时开始“数独”游戏才真正为世界所知晓。由于此游戏操作简单,不需要特定的语言基础,也不需要进行数字运算且可玩性高、锻 炼思维、开发大脑,被称为21世纪的“思维体操”[5]。 “数独”游戏是一个单机的益智型游戏,主要是提供欢迎界面、用户帮助、 难易程度选择、游戏操作及保存退出等功能。核心操作是在一个划分为9块九宫格的9×9方格中,分别填上1~9这九个数字,使之每行、每列及每个九宫格中皆有数字1~9出现。 图1 “数独”游戏功能模块图 根据对“数独”游戏的功能 进行分析归纳,规划出了用户 许可协议、欢迎动画模块、游戏 菜单模块、游戏介绍模块、游戏 主模块、帮助模块、关于模块、 退出模块等八大模块,具体功 能模块结构如图1所示。 3 系统主要技术及开发模式 3.1 系统使用的主要技术 由于手机游戏开发的独特性及“数独”游戏本身的特点及要求,开发该游戏时使用的主要技术如下 1)Android平台开发技术 Android作为互联网移动平台中的佼佼者,以其强大的可移植性,良好的兼容性和稳定性,迅速成互联网手机时代的领头羊。由于Android是相对比较新的技术,下面对其主要技术简单概述[1,6]。 (1)Activity是Android四大控件中最主要的一个,是人机交互的门面,通过Activity的调用可以很方便的调用view类的视图对象,进而显示相应的界面信息。Activity *收稿日期:2011年9月7日,修回日期:2011年10月15日作者简介:郭东恩,男,讲师,硕士,研究方向:计算机软件及数据库。

基于ANDROID系统的游戏APP设计毕业论文

基于ANDROID系统的游戏APP设计毕业论文 目录 第1章绪论 (1) 1.1选题背景及意义 (1) 1.2Android手机游戏APP的市场现状 (2) 1.3本文主要容 (2) 第2章 Android系统平台概况 (3) 2.1Android操作系统 (3) 2.2Android操作系统特性 (3) 2.3Android操作系统框架结构 (4) 2.3.1 Application (4) 2.3.2 Application Framework (4) 2.3.3 Libraries And Android RunTime (5) 2.3.4 Linux Kernel (5) 2.4Android应用程序构成 (5) 2.4.1 Activity (5) 2.4.2 Broadcast Receiver (6) 2.4.3 Service (6) 2.4.4 Content Provider (6) 2.5Android应用程序的生命周期 (6) 第3章系统的整体设计 (8) 3.1数独游戏简介 (8) 3.2游戏策划 (9) 3.2.1 欢迎界面的策划 (9) 3.2.2 游戏界面的策划 (9) 3.2.3 相关资源 (10) 3.3游戏的架构 (10)

3.3.1 各类的介绍 (10) 3.3.2 游戏的框架简介 (11) 第4章软件的实现 (13) 4.1欢迎界面的实现 (13) 4.1.1 KLSDActivity实现 (13) 4.1.2 WelcomeView类的实现 (13) 4.1.3 WelcomeViewDrawThread类和WelcomeViewGoThread类的实现.. 14 4.1.4 HelpView类和AboutView类的实现 (16) 4.2游戏界面相关类的实现 (17) 4.2.1 GameView的实现 (18) 4.2.2 TimeThread的实现 (18) 4.3数独算法类的实现 (19) 4.3.1 数独算法基本逻辑 (20) 4.3.2 检测填充结果 (21) 4.4游戏的测试和运行 (22) 4.4.1 游戏测试概述 (22) 4.4.2 测试环境 (23) 4.4.3 游戏运行结果 (23) 结论 (27) 致谢 (28) 参考文献 (29)

相关主题
文本预览
相关文档 最新文档