这是一个可能的(未经测试的)解决方案,有一个 SplashActivity.java 将地图传递给 MainActivity.java,然后解析并显示地图:
SplashActivity.java
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
new AsyncTaskRunner.execute();
}
public void mapsRetrieved(List<Map<String, Double>> maps) {
Intent intent = new Intent(this, MainActivity.class); //adjust class name as needed
intent.putExtra("maps", maps);
startActivity(intent);
}
private class AsyncTaskRunner extends AsyncTask<Double, Void, List<Map<String, Double>>> {
//YOUR CODE
@Override
protected void onPostExecute(List<Map<String, Double>> maps) {
mapsRetrieved(maps);
}
}
}
在 activity_splash.xml 中,将 .jpeg 作为可绘制资源导入并替换 {YOUR_BACKGROUND_HERE}
activity_splash.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
<!-- REPLACE {YOUR_BACKGROUND_HERE} -->
android:background="@drawable/{YOUR_BACKGROUND_HERE}"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.daose.watinfo.SplashActivity"/>
你可以像这样检索地图
MainActivity.java
public class EventListActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
List<Map<String, Double>> maps = (List<Map<String, Double>>) getIntent().getSerializableExtra("maps");
//YOUR ORIGINAL POST-EXECUTE CODE BELOW
}
}
然后,在您的 AndroidManifest.xml 中,更改应用打开时启动的活动。
AndroidManifest.xml
<application
<!-- other stuff -->
<activity android:name=".SplashActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- other stuff -->
</application>