Tải bản đầy đủ (.doc) (6 trang)

Lập trình Android: Game âm thanh docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (136.15 KB, 6 trang )

Trung tâm Tin học – ĐH KHTN
Game đếm số
Project name: GameSoundCuaDac
Build Target: Android 2.3.3
Application name: GameSoundCuaDac
Package name: com.dac
Create Activity: GameSoundCuaDacActivity
Trong file main.xml:
<GridView xmlns:android="
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:numColumns="2"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:background ="@drawable/bg"
/>
Trong file Activity:
package com.dac;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;


import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Toast;
Lập trình Android – Page 1
Trung tâm Tin học – ĐH KHTN
public class SoundActivity extends Activity {
private Gallery gal;
private ImageView imgV;
private MediaPlayer mp;
private Integer[] imgID = {R.drawable.soundbird, R.drawable.cat,
R.drawable.soundcow,
R.drawable.dog, R.drawable.soundduck, R.drawable.soundelephant,
R.drawable.soundgoat, R.drawable.soundhorse,
R.drawable.soundpolar,
R.drawable.soundsheep, R.drawable.soundwolf,
R.drawable.sounddolphin,
R.drawable.sounddonkey, R.drawable.soundkangaroo,
R.drawable.soundlion,
R.drawable.soundrooster, R.drawable.soundsquirrel};
private Integer[] soundID = {R.raw.bird,
R.raw.cat,R.raw.cow,R.raw.dog,R.raw.duck,
R.raw.elephant, R.raw.goat, R.raw.horse, R.raw.bear, R.raw.sheep,
R.raw.wolf,
R.raw.dolphin, R.raw.donkey, R.raw.kangaroo, R.raw.lion,
R.raw.rooster, R.raw.squirrel
};
private SharedPreferences prefs;
private static final String hientai = "Hien tai";

private static final int batdau = 0;
int i;
private void playSound(int Sid)
{
stop();
mp = MediaPlayer.create(SoundActivity.this, soundID[Sid]);
mp.start();
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final GridView g = (GridView)findViewById(R.id.gridview);
g.setAdapter(new ImageAdapter(this));
i=0;
playSound(i);
g.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int
position,
long id) {
// TODO Auto-generated method stub
stop();
if(position == i)
{
Lập trình Android – Page 2
Trung tâm Tin học – ĐH KHTN
Toast.makeText(SoundActivity.this, "Dung roi: " +
i, Toast.LENGTH_SHORT).show();

playDung();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
i++;
if(i<soundID.length)
{
playSound(i);
}
else
{
Toast.makeText(SoundActivity.this, "Het
Game", Toast.LENGTH_SHORT).show();
}
}
else
{
if(i<soundID.length)
{
Toast.makeText(SoundActivity.this, "Sai roi:
" + i, Toast.LENGTH_SHORT).show();
playSai();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}
playSound(i);
}
else
{
Toast.makeText(SoundActivity.this, "Het
Game", Toast.LENGTH_SHORT).show();
}
}
// switch (imgID[position]) {
// case R.drawable.dog:
// stop();
// dogSound();
// break;
// case R.drawable.cat:
// stop();
// catSound();
// break;
// default:
Lập trình Android – Page 3
Trung tâm Tin học – ĐH KHTN
// break;
// }
}

});
}

private void dogSound()
{

stop();
mp = MediaPlayer.create(this, R.raw.dog);
mp.start();
}
private void catSound()
{
stop();
mp = MediaPlayer.create(this, R.raw.cat);
mp.start();
}
private void playDung()
{
stop();
mp = MediaPlayer.create(this, R.raw.correct);
mp.start();
}
private void playSai()
{
stop();
mp = MediaPlayer.create(this, R.raw.incorrect);
mp.start();
}
private void stop()
{
if(mp !=null)
{
mp.release();
}
}
public class ImageAdapter extends BaseAdapter {

private Context mContext;

public ImageAdapter (Context c)
{
mContext = c;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return imgID.length;
}
Lập trình Android – Page 4
Trung tâm Tin học – ĐH KHTN
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView i;
if(convertView == null)
{
i = new ImageView(mContext);

i.setLayoutParams(new GridView.LayoutParams(120,120));
i.setScaleType(ImageView.ScaleType.CENTER_CROP);
i.setPadding(8, 8, 8, 8);
}
else
{
i = (ImageView) convertView;
}
i.setImageResource(imgID[position]);
return i;
}
}
}
Ngoài ra còn 1 số file hình ảnh, âm thanh khác các bạn download Project để tìm hiểu
thêm.
Lập trình Android – Page 5
Trung tâm Tin học – ĐH KHTN
Mọi ý kiến đóng góp các bạn vui lòng gữi bài về forum: www.forum.laptrinhdidong.vn .
Rất mong nhận được sự phản hồi từ các bạn.
Lập trình Android – Page 6

×