团队成员:陈淑筠、杨家安、陈曦
团队选题:小学四则运算APP
第三次冲刺阶段时间:12.12~12.19
本次发布的是音乐播放功能,可以根据用户需求一边播放音乐一边做题,也拥有暂停播放音乐的功能,增强APP的实用性
MainActivity.java:
package com.example.calculator; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { private Button xunlian,choice; private Button playmusic; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findView(); playmusic.setOnClickListener(startlis); xunlian=(Button)findViewById(R.id.button1); Log.i("PlayMusic", "PlayMusic onCreate被运行"); choice=(Button)findViewById(R.id.button2); xunlian.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent=new Intent(); intent.setClass(MainActivity.this, CalculatorSet.class); startActivity(intent); MainActivity.this.finish(); } }); choice.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent=new Intent(); intent.setClass(MainActivity.this, ChoiceSet.class); startActivity(intent); MainActivity.this.finish(); } }); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); Log.i("PlayMusic", "PlayMusic onStart被运行"); } @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); Log.i("PlayMusic", "PlayMusic onRestart被运行"); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); Log.i("PlayMusic", "PlayMusic onResume被运行"); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); Log.i("PlayMusic", "PlayMusic onStop被运行"); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); Log.i("PlayMusic", "PlayMusic onPause被运行"); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); Log.i("PlayMusic", "PlayMusic onDestroy被运行"); } private OnClickListener startlis=new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub startService(new Intent(MainActivity.this, MusicService.class)); //启动服务 } }; private void findView() { // TODO Auto-generated method stub playmusic=(Button)findViewById(R.id.playmusic); } @Override 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); return true; } }
activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/sea" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="122dp" android:text="@string/hello_world" android:textSize="@dimen/btnTextSize" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView2" android:layout_alignRight="@+id/textView2" android:layout_below="@+id/textView2" android:layout_marginTop="56dp" android:text="进入普通训练系统" android:textSize="@dimen/btnTextSizes" /> <Button android:id="@+id/button2" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button1" android:layout_alignRight="@+id/button1" android:layout_below="@+id/button1" android:layout_marginTop="23dp" android:text="进入选择题训练系统" android:textSize="@dimen/btnTextSizes"/> <Button android:id="@+id/button3" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button2" android:layout_alignRight="@+id/button2" android:layout_below="@+id/button2" android:layout_marginTop="21dp" android:text="进入考试题目系统" android:textSize="@dimen/btnTextSizes" /> <Button android:id="@+id/playmusic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:background="@drawable/music" /> <Button android:id="@+id/stopmusic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/playmusic" android:layout_toRightOf="@+id/playmusic" android:background="@drawable/button_blue_pause" /> </RelativeLayout>
MusicService.java:
package com.example.calculator; import android.app.Service; import android.content.Intent; import android.media.MediaPlayer; import android.os.IBinder; import android.util.Log; public class MusicService extends Service{ private MediaPlayer mp; private String TAG="Main"; @Override public IBinder onBind(Intent arg0) { // TODO Auto-generated method stub return null; } @Override public void onCreate() { super.onCreate(); mp=MediaPlayer.create(this,R.raw.big); Log.i(TAG, "MusicService onCreate被运行"); } @Override public int onStartCommand(Intent intent, int flags, int startId) { // TODO Auto-generated method stub mp.start(); Log.i(TAG, "MusicService onStartCommand被运行"); return super.onStartCommand(intent, flags, startId); } @Override public void onDestroy() { super.onDestroy(); mp.stop(); Log.i(TAG, "MusicService onDestroy被运行"); } }
运行结果: