首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

还是关于跳转崩溃的有关问题…照着打了源码都不行

2013-02-25 
还是关于跳转崩溃的问题……照着打了源码都不行package com.example.finalprojectimport android.os.Bundle

还是关于跳转崩溃的问题……照着打了源码都不行
package com.example.finalproject;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.Button;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;

public class MainActivity extends Activity {

private Button btn1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn1=(Button) findViewById(R.id.Music);
        btn1.setOnClickListener(new OnClickListener()
        {

            public void onClick(View v)
            {
                Intent intent = new Intent();
                intent.setClass(MainActivity.this, Music.class);
                startActivity(intent);
                MainActivity.this.finish();
            }

        });
       
    }

}




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;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import android.app.ListActivity;
import android.graphics.Color;
import android.graphics.drawable.GradientDrawable;
import android.graphics.drawable.GradientDrawable.Orientation;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Handler;
import android.view.KeyEvent;
import android.widget.ArrayAdapter;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;




public class Music extends ListActivity {
    
    private Button btn2;
    private ImageButton FrontButton = null;
private ImageButton StopButton = null;
private ImageButton StartButton = null;
private ImageButton PauseButton = null;
private ImageButton NextButton = null;
Handler PercentHandler = new Handler();

private SeekBar     SeekBar=null;
private TextView curProgressText=null;
private TextView curtimeAndTotaltime=null;

public MediaPlayer mMediaPlayer;


private List<String> mMusicList = new ArrayList<String>();
private int currentListItem = 0;

private static final String MUSIC_PATH = new String("/sdcard/");
  
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setContentView(R.layout.music_wel);
        musicList();
        mMediaPlayer = new MediaPlayer();
        initmFrontMusic();
        initStopMusic();
        initStartMusic();
        initPauseMusic();
        initNextMusic();
        initSeekBar();
        
        btn2=(Button)findViewById(R.id.MusicReturn);
        btn2.setOnClickListener(new OnClickListener()
        {
            public void onClick(View v)
            {
                Intent itent=new Intent();
                itent.setClass(Music.this, MainActivity.class);
                startActivity(itent);
                Music.this.finish();
            }
        });
        
     
    }
    
    
    public void initmFrontMusic()
{
FrontButton = (ImageButton)findViewById(R.id.last);
FrontButton.setOnClickListener(new OnClickListener(){

public void onClick(View arg0) {
            if(--currentListItem >= 0){
            currentListItem = mMusicList.size();
            }else{
            playMusic(MUSIC_PATH + mMusicList.get(currentListItem));
            }
}
});
}
    
    public void initStopMusic()
{
StopButton = (ImageButton)findViewById(R.id.stop);
StopButton.setOnClickListener(new OnClickListener(){

public void onClick(View arg0) {
if(mMediaPlayer.isPlaying())
{
mMediaPlayer.reset();
}
}
});
}
    
    public void initStartMusic()
{
StartButton = (ImageButton)findViewById(R.id.start);


StartButton.setOnClickListener(new OnClickListener(){

public void onClick(View arg0) {
playMusic(MUSIC_PATH + mMusicList.get(currentListItem));
startSeekBarUpdate();
}
});
}
    
    public void initPauseMusic()
{
PauseButton = (ImageButton)findViewById(R.id.pause);
PauseButton.setOnClickListener(new OnClickListener(){

public void onClick(View arg0) {
if(mMediaPlayer.isPlaying()){
mMediaPlayer.pause();
}
else{
mMediaPlayer.start();
}
}
});
}
    
    public void initNextMusic()
{
NextButton = (ImageButton)findViewById(R.id.next);
NextButton.setOnClickListener(new OnClickListener(){

public void onClick(View arg0) {
nextMusic();
}
});
}
    
    public void initSeekBar()
{
/*初始化拖动条和当前进度显示值*/
        SeekBar=(SeekBar)findViewById(R.id.seekBar1);
        curProgressText=(TextView)findViewById(R.id.currentProgress);
        curtimeAndTotaltime=(TextView)findViewById(R.id.curtimeandtotaltime);
        
SeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
/* 如果拖动进度发生改变,则显示当前进度值 */
curProgressText.setText("当前进度: " + progress);
}

public void onStartTrackingTouch(SeekBar arg0) {
curProgressText.setText("拖动中...");
}

public void onStopTrackingTouch(SeekBar arg0) {
int dest = SeekBar.getProgress();    
int mMax = mMediaPlayer.getDuration();
int sMax = SeekBar.getMax();

mMediaPlayer.seekTo(mMax*dest/sMax);

}
});
}
    
    private void playMusic(String path)
{
try {
mMediaPlayer.reset();
mMediaPlayer.setDataSource(path);
mMediaPlayer.prepare();
mMediaPlayer.start();
mMediaPlayer.setOnCompletionListener(new OnCompletionListener(){

public void onCompletion(MediaPlayer arg0) {
nextMusic();
}
});
 }catch (IOException e) {
e.printStackTrace();
}
}
    
    private void nextMusic()
{
if(++currentListItem >= mMusicList.size())
{
currentListItem = 0;
}
else
{
playMusic(MUSIC_PATH + mMusicList.get(currentListItem));
}
}
    
    @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode == KeyEvent.KEYCODE_BACK){
        mMediaPlayer.stop();
        mMediaPlayer.release();
        }
return super.onKeyDown(keyCode, event);
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {


currentListItem = position;
playMusic(MUSIC_PATH + mMusicList.get(position));
super.onListItemClick(l, v, position, id);
}

//播放列表
public void musicList()
{
File home = new File(MUSIC_PATH);
if(home.listFiles(new MusicFilter()).length > 0)
{
for(File file : home.listFiles(new MusicFilter()))
{
mMusicList.add(file.getName());
}
ArrayAdapter<String> musicList=new ArrayAdapter<String>(Music.this,R.layout.musicitem,mMusicList);
setListAdapter(musicList);
}
}

/*更新拖动条进度*/

public void startSeekBarUpdate() {
PercentHandler.post(start);
}

Runnable start = new Runnable() {

public void run() {
// 用一个handler更新SeekBar
PercentHandler.post(updatesb);
}

};

Runnable updatesb =new Runnable(){

public void run() {
int position = mMediaPlayer.getCurrentPosition();
int mMax = mMediaPlayer.getDuration();
int sMax = SeekBar.getMax();
SeekBar.setProgress(position * sMax / mMax);
curtimeAndTotaltime.setText("当前播放时间: " + position / 1000 + "秒"
+ "\n歌曲总时间: " + mMax / 1000 + "秒");
// 每秒钟更新一次
PercentHandler.postDelayed(updatesb, 1000);
}

};


//过滤文件类型
class MusicFilter implements FilenameFilter
{

public boolean accept(File dir, String name) {
//这里还可以设置其他格式的音乐文件
return (name.endsWith(".mp3"));
}
}
    
}


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.finalproject"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.finalproject.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.example.finalproject.Music"></activity>        


    </application>

</manifest>
—————————————————————————————————————————
基本都是照着书打出来的代码,在manifest里把2个用到的activity也注册了,可还是从主页面跳转进去的时候就崩溃出错了,请问各位这是什么原因?

热点排行