@nikita_chiru

Передача данных между активити.?

как передать данные между активити ?
как эти данные во 2 активити использовать?
и как делать так , что бы каждые новые данные создавали бы себе строку и кидались туда ?
  • Вопрос задан
  • 8400 просмотров
Пригласить эксперта
Ответы на вопрос 4
@Elysey
Перед вызовом startActivity, в Intent передать данные.
Например:

String data = "Эти данные необходимо передать";

Intent i = new Intent(MainActivity.this, SecondActitviy.class);
i.putExtra("testNameData", data);
startActivity(i);


А во втором активити вызывается метод getIntent и по указанному ключу вытаскивается данные.
Например:
String data = getIntent().getExtras().getString("testNameData");


Таким образом можно передавать различные типы данных
Ответ написан
Комментировать
Rou1997
@Rou1997
При переходе между Activity используется Intent, у него метод setData (и, кажется, getData), через них и ложат/забирают данные. Гуглите, и найдете не только код, но и туториалы, кажется, у Климова был.
Ответ написан
petermzg
@petermzg
Самый лучший программист
Кажется так:
В AndroidManifest.xml
<application
        android:allowBackup="true"
        android:icon="@drawable/emblem"
        android:label="@string/app_name" android:name="AppEngine">
        ...
</application>


Код где все будете хранить
public class AppEngine extends Application {
	@Override
	public void onCreate(){
		super.onCreate();
	}
}

Из активити будете иметь доступ к инстансу данного класса через (AppEngine)getApplication();
Ответ написан
zzWerOk
@zzWerOk
Эм...
Для передачи данных из массива, к примеру, можно так:

Intent NewActivityIntent;
NewActivityIntent = new Intent(MainActivity.this, NewActivity.class);

int items_count = 0;
for (int i = 0; i < item_List.size(); i++) {

     String item_name = "item_" + items_count;
     NewActivityIntent.putExtra(item_name, "Данные из массива под номером " + i);
     items_count++;

}

NewActivityIntent.putExtra("items_count", items_count);

В новом активити достать их можно так:
Bundle extras = getIntent().getExtras();

int items_count = extras.getInt("items_count");

for (int i = 0; i < items_count; i++) {
     String string = "item_" + i;
     String string_item = extras.getStringArray(string);
     item_List.add(string_item );
}


Также можно передать массив строк всунув в параметр .putExtra("key",String[]) и достав вызвав метод extras.getStringArray("key");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы