首先声明一下:android程序的包名是该程序的唯一性约束,就是说我们的应用的包名不能和已有的程序包名重复,
所以现在的工程的包名改成com.example.easymusic
由于程序复杂总代码按照\n为一行的话有12k行(eclipse统计),加上xml有15k-16k行
所以我们逐步分析,写程序最重要的就是自上而下,逐步求精,这样方便调试
下面的图片是目前的工程结构:
先创建各个包名和文件夹
然后考贝以上文件,记得修改包名
下面粘出来引导界面的实现:
MusicApp目前除了启动没用到:
/**
*
*/
package com.example.easymusic;
import java.io.File;
import android.app.Application;
import android.os.Environment;
public class MusicApp extends Application {
@Override
public void onCreate() {
super.onCreate();
}
}
package com.example.easymusic.activity;
import com.example.easymusic.R;
import com.example.music.utils.SplashScreen;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.view.MenuItem;
public class MainContentActivity extends Activity {
private SplashScreen mSplashScreen;
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//SplashScreen配合着style组成工具类将在下一节讲
mSplashScreen = new SplashScreen(this);
mSplashScreen.show(R.drawable.image_splash_background,
SplashScreen.SLIDE_LEFT);
//异步更新UI线程最简单的就是在主线程创建handler
handler=new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
mSplashScreen.removeSplashScreen();
}
};
new Thread(){
@Override
public void run() {
//3秒后发送这样就能让启动界面停留3秒
handler.sendMessageDelayed(handler.obtainMessage(), 3000);
}
}.start();;
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
}
}