相关疑难解决方法(0)

如何使用保存实例状态保存Android Activity状态?

我一直在研究Android SDK平台,有点不清楚如何保存应用程序的状态.因此,考虑到'Hello,Android'示例的这种小型重新设计:

package com.android.hello;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity {

  private TextView mTextView = null;

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mTextView = new TextView(this);

    if (savedInstanceState == null) {
       mTextView.setText("Welcome to HelloAndroid!");
    } else {
       mTextView.setText("Welcome back.");
    }

    setContentView(mTextView);
  }
}
Run Code Online (Sandbox Code Playgroud)

我认为这对于最简单的情况就足够了,但无论我如何远离应用程序,它总是以第一条消息响应.

我确信解决方案就像覆盖onPause或类似的那样简单,但我已经在文档中捅了大约30分钟左右,并且没有找到任何明显的东西.

android application-state android-activity

2538
推荐指数
26
解决办法
74万
查看次数

如何在Android中声明全局变量?

我正在创建一个需要登录的应用程序.我创建了主要和登录活动.

在主要活动onCreate方法中,我添加了以下条件:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ...

    loadSettings();
    if(strSessionString == null)
    {
        login();
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

onActivityResult登录表单终止时执行的方法如下所示:

@Override
public void onActivityResult(int requestCode,
                             int resultCode,
                             Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
    switch(requestCode)
    {
        case(SHOW_SUBACTICITY_LOGIN):
        {
            if(resultCode == Activity.RESULT_OK)
            {

                strSessionString = data.getStringExtra(Login.SESSIONSTRING);
                connectionAvailable = true;
                strUsername = data.getStringExtra(Login.USERNAME);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

问题是登录表单有时会出现两次(login()方法被调用两次),当手机键盘滑动时,再次出现登录表单,我猜问题是变量strSessionString.

有没有人知道如何设置变量global以避免在用户已经成功验证后出现登录表单?

singleton android state global-variables

592
推荐指数
7
解决办法
30万
查看次数

在暂停时杀死Android应用程序

我有一个应用程序,我希望在它暂停时完全禁用/关闭(IE.当用户按下Home,End(call)和Back按钮时,我希望应用程序关闭,而不是保存在历史堆栈).

我该怎么做呢....?

谢谢.

android android-1.5-cupcake

10
推荐指数
2
解决办法
2万
查看次数

为什么Android应用程序不提供"退出"选项?

Android开发人员指南中是否有一些内容阻止开发人员提供从应用程序本身 "退出"(停止运行)应用程序的选项?

我喜欢多任务处理但除此之外我不清楚为什么:

  • 绝大多数应用程序没有自己的Exit功能,因此只能永远运行
  • 打开手机时不要让你选择跑步 - 他们只是默认做

这两件事都导致内存使用不断增加,并且您的设备一直在运行遇到这种性能负担,尽管您可能只希望某些应用程序在某些时间运行.

我错过了什么吗?

android

9
推荐指数
2
解决办法
2万
查看次数