实验5 数独游戏界面设计

实验报告

 

课程名称

基于Android平台移动互联网开发

实验日期

2016年4月8日

实验项目名称

设计一个简单登陆界面

实验地点

S3010

实验类型

□验证型    √设计型    □综合型

学  时

4

一、实验目的及要求(本实验所涉及并要求掌握的知识点)

1目的:实现数独游戏的完整界面设计

2要求:掌握ActionBar的使用

二、实验环境(本实验所使用的硬件设备和相关软件)

(1)PC机

(2)操作系统:Windows XP

(3)软件: Eclipse, JDK1.6,Android SDK,ADT

三、实验内容及步骤

1)   导入工程Sodoku

2)   添加以下的Activity类

3)   添加以下layout资源文件

4)   完成设计后,界面运行如下

 

四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)

代码:

menu-actionbar

复制代码
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
 3     <group android:id="@+id/group1">
 4         <item android:id="@+id/newgame" 
 5             android:title="新游戏"
 6             android:showAsAction="always">
 7             
 8         </item>
 9         <item android:id="@+id/help" 
10             android:title="帮助"
11             android:showAsAction="always">
12             
13         </item>
14         <item android:id="@+id/about" 
15             android:title="关于"
16             android:showAsAction="always">
17             
18         </item>
19         <item android:id="@+id/clock" 
20             android:title="时钟"
21             android:actionLayout="@layout/clock"
22             android:showAsAction="always">
23             
24         </item>
25     </group>
26     
27 
28 </menu>
复制代码
 
 
复制代码
  1 package com.example.sukodu;
  2 
  3 import android.annotation.SuppressLint;
  4 import android.app.ActionBar;
  5 import android.app.Activity;
  6 import android.content.Intent;
  7 import android.media.MediaPlayer;
  8 import android.os.Bundle;
  9 import android.view.Menu;
 10 import android.view.MenuItem;
 11 import android.view.View;
 12 import android.view.View.OnClickListener;
 13 import android.widget.Button;
 14 
 15 public class HelpActivity extends Activity {
 16 
 17     Button btnMusics, btnPause, btnStop;
 18     MediaPlayer mplayer;
 19     boolean start = true;
 20 
 21     @SuppressLint("NewApi")
 22     public void onCreate(Bundle savedInstanceState) {
 23         super.onCreate(savedInstanceState);
 24         setContentView(R.layout.help);
 25         ActionBar abar = getActionBar();
 26         btnMusics = (Button) findViewById(R.id.help_sourcemusic);
 27         btnPause = (Button) findViewById(R.id.help_pause);
 28         btnStop = (Button) findViewById(R.id.help_stop);
 29         abar.setDisplayShowHomeEnabled(true);
 30         abar.setDisplayHomeAsUpEnabled(true);
 31         btnPause.setOnClickListener(new OnClickListener() {
 32 
 33             @Override
 34             public void onClick(View v) {
 35                 // TODO Auto-generated method stub
 36                 if (mplayer.isPlaying()) {
 37                     mplayer.pause();
 38                 }
 39             }
 40         });
 41         btnStop.setOnClickListener(new OnClickListener() {
 42 
 43             @Override
 44             public void onClick(View v) {
 45                 // TODO Auto-generated method stub
 46                 if (mplayer.isPlaying()) {
 47                     mplayer.stop();
 48                     start = true;
 49                 }
 50 
 51             }
 52         });
 53         btnMusics.setOnClickListener(new OnClickListener() {
 54 
 55             @Override
 56             public void onClick(View arg0) {
 57                 // TODO Auto-generated method stub
 58                 if (mplayer == null || start) {
 59                     mplayer = new MediaPlayer();
 60                     mplayer = MediaPlayer.create(HelpActivity.this,
 61                             R.raw.nanshannan);
 62                     mplayer.start();
 63                     start = false;
 64                 } else if (mplayer != null) {
 65                     mplayer.start();
 66                 }
 67             }
 68         });
 69     }
 70 
 71     @Override
 72     public boolean onCreateOptionsMenu(Menu menu) {
 73         // TODO Auto-generated method stub
 74         getMenuInflater().inflate(R.menu.actionbar, menu);
 75         return super.onCreateOptionsMenu(menu);
 76     }
 77 
 78     @Override
 79     public boolean onOptionsItemSelected(MenuItem item) {
 80         // TODO Auto-generated method stub
 81         Intent intent = getIntent();
 82         switch (item.getItemId()) {
 83         case android.R.id.home: {
 84             finish();
 85             break;
 86         }
 87         case R.id.about: {
 88             intent.setClass(this, SecondActivity.class);
 89             startActivity(intent);
 90             finish();
 91             break;
 92         }
 93         case R.id.newgame: {
 94             intent.setClass(this, GamesActivity.class);
 95             startActivity(intent);
 96             finish();
 97             break;
 98         }
 99         default: {
100             break;
101         }
102         }
103         return super.onOptionsItemSelected(item);
104     }
105 
106     @Override
107     protected void onDestroy() {
108         // TODO Auto-generated method stub
109         if (mplayer.isPlaying()) {
110             mplayer.stop();
111         }
112         mplayer.release();
113         super.onDestroy();
114     }
115 
116 }
复制代码

main

复制代码
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        getMenuInflater().inflate(R.menu.actionbar, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // TODO Auto-generated method stub
        Color co = new Color();
        Intent it =new Intent();
        switch (item.getItemId()) {
        case R.id.red: {
            tv.setTextColor(co.RED);
            break;
        }
        case R.id.blue:{
            tv.setTextColor(co.BLUE);
            break;
        }
        case R.id.green:{
            tv.setTextColor(co.GREEN);
            break;
        }
        case R.id.cancel:{
            it.setClass(MainActivity.this, LoginActivity.class);
            startActivity(it);
            finish();
            break;
        }
        case R.id.bgred:{
            llayoutbg.setBackgroundColor(co.RED);
            break;
        }
        case R.id.bggreen:{
            llayoutbg.setBackgroundColor(co.GREEN);
            break;
        }
        case R.id.help:{
            it.setClass(this, HelpActivity.class);
            startActivity(it);
            break;
        }
        case R.id.about:{
            it.setClass(this, SecondActivity.class);
            startActivity(it);
            break;
        }
        case R.id.newgame:{
            it.setClass(this, GamesActivity.class);
            startActivity(it);
            break;
        }
        default:{
            break;
        }
        }
        return super.onOptionsItemSelected(item);
    }

}
复制代码

 

运行结果:(截图)

 

 

 

 

五、实验总结(对本实验结果进行分析,实验心得体会及改进意见)

    经过本次的实验,对Android应用程序的结构有了一定的了解,从中懂得了一些安卓界面结构的编写方法,但对于android的具体结构了解还是很表面,日后需要多看,多练编写android程序。

实验评语

 

实验成绩

 

指导教师签名:              年   月   日

           

 

 

posted @ 2016-04-15 09:01  05叶文钊  阅读(316)  评论(0编辑  收藏  举报