내 앱이 이미지 데이터를로드하는 동안 스플래시/시작 화면을 표시하려고했지만 데이터로드는 괜찮지 만 splash.xml의 백그라운드 이미지는 표시되지 않습니다. 쇼, 아래 코드를 게시하고 있습니다.splash.xml의 스플래시 배경이 액티비티에 표시되지 않음 SplashScreen.java
public class Splash extends Activity {
private ChannelDB mDB;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
AppConnect.getInstance(this);
Thread splashThread = new Thread() {
@Override
public void run() {
try {
if (tabIsExist(null)==true){
mDB.Reset();
Bitmap bigbang1 = BitmapFactory.decodeResource(getResources(), R.drawable.bigbang1);
Bitmap bigbang2 = BitmapFactory.decodeResource(getResources(), R.drawable.bigbang2);
Bitmap bigbang3 = BitmapFactory.decodeResource(getResources(), R.drawable.bigbang3);
Bitmap bigbang4 = BitmapFactory.decodeResource(getResources(), R.drawable.bigbang4);
mDB.createchannelEntry(new ChannelPoster(bigbang1, "生活大爆炸(第一季)" ,"http://appkon.com/hdtvs/channel/bigbang1.xml" ,"http://movie.douban.com/subject/5372374/"));
mDB.createchannelEntry(new ChannelPoster(bigbang2, "生活大爆炸(第二季)" ,"http://appkon.com/hdtvs/channel/bigbang2.xml" ,"http://movie.douban.com/subject/3190880/"));
mDB.createchannelEntry(new ChannelPoster(bigbang3, "生活大爆炸(第三季)" ,"http://appkon.com/hdtvs/channel/bigbang3.xml" ,"http://movie.douban.com/subject/3990470/"));
mDB.createchannelEntry(new ChannelPoster(bigbang4, "生活大爆炸(第四季)" ,"http://appkon.com/hdtvs/channel/bigbang4.xml" ,"http://movie.douban.com/subject/4804079/"));
}
}catch (Exception e) {
Intent i = new Intent();
i.setClassName("com.appkon.hdtvs",
"com.appkon.hdtvs.HDtvs");
finish();
startActivity(i);
}
finally {
Intent i = new Intent();
i.setClassName("com.appkon.hdtvs",
"com.appkon.hdtvs.HDtvs");
finish();
startActivity(i);
}
}
};
splashThread.start();
}
public boolean tabIsExist(String channelS_TABLE){
boolean result = false;
if(channelS_TABLE == null){
return false;
}
Cursor cursor= ChannelDB.check();
startManagingCursor(cursor);
try {
if(cursor.moveToNext()){
int count = cursor.getInt(0);
if(count>0){
result = true;
}
}
} catch (Exception e) {
Log.e(this.toString(),"error:"+e.toString());
Intent intent = new Intent(this,HDtvs.class);
startActivity(intent);
this.finish();
}
return result;
}
}
는이 내 splash.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/splash">
</LinearLayout>
를 사용하여 비동기 작업 클래스는 쉽게 ... –
은, 소니에 동의 AsyncTask를 사용하고 doInBackground로 데이터로드 코드를 삽입합니다. http://developer.android.com/reference/android/os/AsyncTask.html – Tony