首次启动Android应用程序时如何进行操作

时间:2011-06-16 15:05:19

标签: java android android-activity

当我的应用程序安装并首次打开时(当有互联网连接时)我希望手机从我的服务器下载一些信息并将其插入数据库。

如果信息未完全下载或完全下载,此活动应该发生,直到完全下载?

我将如何做到这一点?

3 个答案:

答案 0 :(得分:3)

使用偏好

在您的活动中:

private boolean isFirstLaunch() {
    // Restore preferences
    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
    boolean isFirstLaunch = settings.getBoolean("isFirstLaunch", true);
    Log.i(TAG + ".isFirstLaunch", "sharedPreferences ");
    return isFirstLaunch;
}

onCreate来电

if (isFirstLaunch()) {
    Intent firstLaunchIntent = new Intent(this,
        GetStartedActivity.class);
    firstLaunchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(firstLaunchIntent);
    // set the bool to false in next activity !
    finish();
}

答案 1 :(得分:1)

使用SharedPreference。创建一个布尔变量,并在操作完成后更改它。在Main / Launcher活动的onCreate中检查此变量并相应地执行操作。一些伪代码。

if (!sharedpreferences.getBoolean("isOpComplete", false)) {
    // perform my operation 
    performOperation();
}

performOperation() {
    // Operation complete
    SharedPreferences.Editor editor = sharedpreferences.edit();
    editor.putBoolean("isOpComplete", true);
    editor.commit();
}

答案 2 :(得分:1)

在数据库中添加标记,共享首选项或指示您已下载数据的文件。在onResume中,检查该标志以及设备是否具有连接。如果标志为false且您有连接,请尝试下载数据。

如果成功,请更新标志。