乔太守错点鸳鸯谱:安卓小程序——带背景音乐,多功能实现
//这是mainactivity类
package com.eoeAndroid.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class ActivityMain extends Activity { //主类,也是主窗体界面
OnClickListener listener1 = null;
OnClickListener listener2 = null; //定义两个监听
Button button1;
Button button2; //定义两个按钮,用于跳转到其它界面
static final int REQUEST_CODE = 1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listener1 = new OnClickListener() {
public void onClick(View v) {
Intent intent1 = new Intent(ActivityMain.this,Activity1.class);
intent1.putExtra("activityMain", "有主窗体跳来");
startActivityForResult(intent1, REQUEST_CODE);
}
};
listener2 = new OnClickListener() {
public void onClick(View v) {
setTitle("主窗体");
Intent intent2 = new Intent(ActivityMain.this, Activity2.class);
startActivity(intent2);
}
};
setContentView(R.layout.main);
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(listener1);
button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(listener2);
setTitle("ActivityMain");
}
}
//这是activity1
package com.eoeAndroid.activity;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class Activity1 extends Activity {
//添加三个菜单事件
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0,1,2,"显示字幕").setIcon(android.R.drawable.ic_menu_today);
menu.add(0, 2, 1, "提示框");
menu.add(0, 3, 3, "播放mp3");
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
int item_id = item.getItemId();
switch (item_id) {
case 1:
TextView k = new TextView(this);
k.setText("hevinn is a good student,welcome to myhometown.");
setContentView(k);
Toast.makeText(this,"点击菜单2",Toast.LENGTH_SHORT).show();
break;
case 2: //通过一个提示框来向用户提示下一步操作
Toast.makeText(this,"关闭菜单",Toast.LENGTH_SHORT).show();
new AlertDialog.Builder(this)
.setTitle("提示")
.setMessage("确定退出?")
//.setIcon(R.drawable.quit)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
setResult(RESULT_OK);//确定按钮事件
finish();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
})
.show(); //取消按钮事件
break;
case 3:
startActivity(new Intent(Activity1.this,mp3.class));//通过菜单三跳转到音乐播放
TextView k1 = new TextView(this);
k1.setText("执行完");
setContentView(k1);
}
return true;
}
//下面是按钮事件
OnClickListener listener1 = null;
Button button1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity1);
listener1 = new OnClickListener() {
public void onClick(View v) {
Bundle bundle = new Bundle();
bundle.putString("store", "数据来自Activity1");
Intent mIntent = new Intent();
mIntent.putExtras(bundle);
setResult(RESULT_OK, mIntent);
finish();
}
};
button1 = (Button) findViewById(R.id.button3);
button1.setOnClickListener(listener1);
String data=null;
Bundle extras = getIntent().getExtras();
if (extras != null) {
data = extras.getString("activityMain");
}
setTitle("窗体1"+data);
}
}
//这是activity2
package com.eoeAndroid.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Activity2 extends Activity {
OnClickListener listener = null;
Button button;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
listener = new OnClickListener() {
public void onClick(View v) {
finish();
}
};
button = (Button) findViewById(R.id.button4);
button.setOnClickListener(listener);
setTitle("窗体2");
//跳转到画图界面
startActivity(new Intent(Activity2.this,touch.class));
}
}
//这是mp3类
package com.eoeAndroid.activity;
import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.List;
import android.app.ListActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
class Mp3Filter implements FilenameFilter {
public boolean accept(File dir, String name) {
return (name.endsWith(".mp3"));
}
}
public class mp3 extends ListActivity {
private static final String MEDIA_PATH = new String("/sdcard/");
private List
public void onCreate(Bundle icicle) {
try {
super.onCreate(icicle);
setContentView(R.layout.songlist);
updateSongList();
} catch (NullPointerException e) {
Log.v(getString(R.string.app_name), e.getMessage());
}
}
public void updateSongList() {
File home = new File(MEDIA_PATH);
if (home.listFiles( new Mp3Filter()).length > 0) {
for (File file : home.listFiles( new Mp3Filter())) {
songs.add(file.getName());
}
ArrayAdapter
setListAdapter(songList);
}
}}
//这是touch画图类
package com.eoeAndroid.activity;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.MotionEvent;
import android.view.View;
public class touch extends Activity { }
class MyView extends View{
private Paint mPaint, pointPaint;
private Bitmap mBitmap;
Context mContext;
int n;
public MyView(Context context) {
super(context);
mContext = context;
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setARGB(0, 0xff, 0, 0);
pointPaint = new Paint();
pointPaint.setARGB(150, 0, 255, 255);
pointPaint.setTextSize(30);
DisplayMetrics dm = new DisplayMetrics();
dm=getResources().getDisplayMetrics();
mBitmap = Bitmap.createBitmap(dm.widthPixels, dm.heightPixels, Bitmap.Config.RGB_565);
}
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if(mBitmap != null)
canvas.drawBitmap(mBitmap, 0, 0, null);
}
public boolean onTouchEvent(MotionEvent event) {
float x = 0;
float y = 0;
x = event.getX();
y = event.getY();
Canvas canvas = new Canvas();
canvas.setBitmap(mBitmap);
if(event.getAction() == MotionEvent.ACTION_DOWN){
n++;
mPaint.setARGB(0xff, 255, 250, 250);
canvas.drawLine(getWidth()/2 , getHeight()/5, getWidth()/2,getHeight()/2, mPaint);//画直线
canvas.drawARGB(0, 70, 90, 0);
canvas.drawCircle(x, y, 30, mPaint);
invalidate();
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
invalidate(); //刷新但不更新背景
}else{
mPaint.setARGB(100, 0xff, 0, 0);
canvas.drawCircle(x, y, 30-n, mPaint);
invalidate();
{
Rect rect1 = new Rect(); // 定义矩形对象
// 设置矩形大小
rect1.left = 6+n*n;
rect1.top = 13+5+n*n;
rect1.bottom = 130+25+n*n;
rect1.right = 45+n*n;
mPaint.setColor(Color.BLUE);
// 绘制矩形
canvas.drawRect(rect1, mPaint);
}
invalidate();
}
if(event.getAction() == MotionEvent.ACTION_UP){
canvas.drawText("您画圆的个数为"+n, mBitmap.getWidth()/2-90, 30, pointPaint);
canvas.drawText("矩形个数为"+n, mBitmap.getWidth()/2-90, 60, pointPaint);
invalidate();
}
return true;
}