Сохранение данных для приложения Android с использованием Eclipse - PullRequest
0 голосов
/ 03 апреля 2012

Я выполнил макет своего приложения, и теперь мне просто нужно его запрограммировать. У меня есть «В игровом меню», которое имеет текстовое поле вверху. Это текстовое поле может быть отредактировано с помощью EditText, расположенного на другой странице, известной как «Сведения о команде». Когда в EditText вставлена ​​строка, строка появляется в текстовом поле в верхней части «In Game Menu». Это именно то, что я хочу, чтобы произошло. Однако, когда я перехожу на другую страницу и возвращаюсь в «В игровом меню», строка в верхней части страницы исчезла. Я не знаю, как сделать так, чтобы строка постоянно находилась вверху страницы, и я был бы рад, если бы кто-нибудь мне помог!

Код "Детали команды"

package com.footballmanagerlog;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class teamDetails extends Activity{

TextView textOut;
EditText getInput;
String TeamName;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.teamdetails);

    textOut = (TextView) findViewById(R.id.menuteamname);
    getInput = (EditText) findViewById(R.id.NameTeam);

    Button bbuttondone = (Button) findViewById(R.id.buttondone);
    bbuttondone.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            TeamName = getInput.getText().toString();               
            Intent TeamNameIntent = new Intent("com.footballmanagerlog.GOTOINGAMEMENU");                
            TeamNameIntent.putExtra("TeamName", TeamName);              
            startActivity(TeamNameIntent);
        }
    });
}
}

и код в «Игровом меню»

package com.footballmanagerlog;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class inGameMenu extends Activity{

TextView teamname;
String teamnamestring;  

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.ingamemenu);

    TextView teamname = (TextView) findViewById(R.id.menuteamname); 
    Intent teamnameintenttwo = getIntent();
    teamnamestring = teamnameintenttwo.getStringExtra("TeamName");
    teamname.setText(teamnamestring);

    Button bbuttonmatch = (Button) findViewById(R.id.buttonmatch);
    bbuttonmatch.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(new Intent("com.footballmanagerlog.GOTOFORMATION"));

        }
    });

    Button bbuttonsubsidiaries = (Button) findViewById(R.id.buttonsubsidiaries);
    bbuttonsubsidiaries.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(new Intent("com.footballmanagerlog.GOTOSUBSIDIARIES"));

        }
    }); 

    Button bbuttonstatistics = (Button) findViewById(R.id.buttonstatistics);;
    bbuttonstatistics.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(new Intent("com.footballmanagerlog.GOTOSTATISTICS"));

        }
    });

    Button bbuttonteamdetails = (Button) findViewById(R.id.buttonteamdetails);
    bbuttonteamdetails.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(new Intent("com.footballmanagerlog.GOTOTEAMDETAILS"));
        }
    });

    Button bbuttonplayerdetails = (Button) findViewById(R.id.buttonplayerdetails);
    bbuttonplayerdetails.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(new Intent("com.footballmanagerlog.GOTOPLAYERDETAILS"));
        }
    });     


}
}

Любая помощь будет принята с благодарностью. Спасибо.

Ответы [ 3 ]

1 голос
/ 03 апреля 2012

Вы можете использовать SharedPreferences хранилище данных.

Чтобы сохранить строку:

SharedPreferences mypreferences = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = mypreferences.edit();
editor.putString("stringName", "stringValue");
editor.commit();

Чтобы получить строку:

mypreferences = context.getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
String value = mypreferences.getString("stringName", "defaultValue");

В вашем коде:

**teamDetails**
public void onClick(View v) {
  // TODO Auto-generated method stub
  TeamName = getInput.getText().toString();

  SharedPreferences mypreferences = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
  SharedPreferences.Editor editor = mypreferences.edit();
  editor.putString("TeamName", TeamName);
  editor.commit();

  Intent TeamNameIntent = new Intent("com.footballmanagerlog.GOTOINGAMEMENU");                          
  startActivity(TeamNameIntent);
}

**inGameMenu**
  setContentView(R.layout.ingamemenu);
  TextView teamname = (TextView) findViewById(R.id.menuteamname); 

  SharedPreferences mypreferences = getApplicationContext().getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
  String teamnamestring = mypreferences.getString("TeamName", "no_name");

  teamname.setText(teamnamestring);
0 голосов
/ 03 апреля 2012

может быть, вы хотите это

@Override
public void onResume() {
    getInput.setText(TeamName);
    textOut.setText(TeamName);
}
0 голосов
/ 03 апреля 2012

Если строка может быть отредактирована пользователем, и вы также хотите, чтобы она появлялась постоянно, для этого должен существовать механизм сохранения.Для хорошего руководства по различным способам сохранения данных:

http://developer.android.com/guide/topics/data/data-storage.html

...