• 实验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

     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);
        }
    
    }

    about

    package com.example.sukodu;
    
    import org.apache.http.impl.conn.DefaultClientConnection;
    
    import android.annotation.SuppressLint;
    import android.app.ActionBar;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    
    public class SecondActivity extends Activity {
        @SuppressLint("NewApi") @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.about);
            ActionBar abar =getActionBar();
            abar.setDisplayShowHomeEnabled(true);
            abar.setDisplayHomeAsUpEnabled(true);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // TODO Auto-generated method stub
            getMenuInflater().inflate(R.menu.actionbar, menu);
            return super.onCreateOptionsMenu(menu);
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // TODO Auto-generated method stub
            Intent intent=getIntent();
            switch(item.getItemId()){
            case android.R.id.home:
    //            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    //            startActivity(intent);
                finish();
                break;
            case R.id.help :
                intent.setClass(this, HelpActivity.class);
                startActivity(intent);
                finish();
                break;
            case R.id.newgame :
                intent.setClass(this, GamesActivity.class);
                startActivity(intent);
                finish();
                break;
            
            default :{
                break;
            }
            }
            return super.onOptionsItemSelected(item);
        }
    
    }

    运行结果:(截图)

     

     

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

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

    实验评语

     

    实验成绩

     

    指导教师签名:              年   月   日

               

     

     

     

     
     
  • 相关阅读:
    kafka 流式计算
    解决山地车令人讨厌的中轴异响及其他异响问题
    go语言通道详解
    使用Spring Cloud连接不同服务
    并发之痛 Thread,Goroutine,Actor
    用go语言实现线程池
    golang go语言通道类型的通道示例 通道的通道
    Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
    spring5 reactive
    Go 语言和 Scala 语言对比
  • 原文地址:https://www.cnblogs.com/cckuang/p/5393725.html
Copyright © 2020-2023  润新知