2013-08-22 2 views
0

Вот сценарий ..Как отправить данные активность А1 активность A3

Есть 3 мероприятия .. A1 (первая деятельность), A2 (вторая активность), A3 (третье действие). В этом случае поток деятельности должен быть от A1-> A2 -> A3

В A1, я делаю intial извлечения данных с сервера и хотел бы отправить данные на 3-ю операцию т.е. до А3 (но я не хочу запускать А3 с использованием А1)

т.е. когда активность A3 запускается из A2, я хочу использовать данные, отправленные A1

Очевидное решение (с использованием простого java-способа) использует общие структуры данных, такие как Hashmap/List/.. для вставки данных из A1 и получить эти данные в A3. Я хотел бы знать, если есть какое-либо другое альтернативное решение с использованием Android API

Благодаря

+0

вы должны обратиться цикл активности жизни. – Piyush

+0

с использованием намерений и прикрепления пакета .. запустит эту операцию, но в моем сценарии активность A1 не должна запускать A3, но A2 должен запустить A3 –

ответ

1

Использование общего доступа. Сохранить в A1 и получить в A3.

Инициализация

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); // 0 - for private mode 
Editor editor = pref.edit(); 

Хранение данных

editor.putBoolean("key_name", true); // Storing boolean - true/false 
editor.putString("key_name", "string value"); // Storing string 
editor.putInt("key_name", "int value"); // Storing integer 
editor.putFloat("key_name", "float value"); // Storing float 
editor.putLong("key_name", "long value"); // Storing long 

editor.commit(); // commit changes 

Извлечение данных

// returns stored preference value 
// If value is not present return second param value - In this case null 
pref.getString("key_name", null); // getting String 
pref.getInt("key_name", null); // getting Integer 
pref.getFloat("key_name", null); // getting Float 
pref.getLong("key_name", null); // getting Long 
pref.getBoolean("key_name", null); // getting boolean 

Удаление данных

editor.remove("name"); // will delete key name 
editor.remove("email"); // will delete key email 
editor.commit(); // commit changes 

Клиринговый хранения

editor.clear(); 
editor.commit(); // commit changes 
0

Есть два способа, которые вы можете сделать вашу работу.

1) Вы можете передать значения с помощью намерения из activity1 в activity2. И затем оттуда снова в намерении вы можете передать его активности3.

2) Или вы можете инициализировать переменные (значения которых вы хотите в activity3) в Activity1 как статические, и вы можете использовать их в activity3.

0

Вы использовали два способа подключения данных для доступа в различных классах ...

=> Первый способ для передачи данных с помощью функции Intent putExtra() ..... show here для того, как работать ...

=> Второй способ заключается в том, что использовать один общий класс и хранить данные в том, что для использования этих данных из других классов ... show here для того, как работать ....

, что оба способ подключения другого класса для избыточных общих данных ...

0

Когда вы вызываете A2 из A1 u можете присоединить данные, используя putExtra, которые вы можете восстановить в A2, а затем снова, когда u вызывают A3 из A2, вы можете отфильтровать данные с помощью putExtra. снова u может получить данные, используя getExtra.

0

Создание класса модели боба в ваших и сохранять активность 1 значений

При открытии вверх активности 3 получить значения из модели боба класса и установить значения для активности3

0

Вы можете использовать Bundle для pase dat форма класс один активность в другой класс активность Как это

Bundle bundle = new Bundle(); 
bundle.putString("Id", videoChannelId); 
bundle.putString("C/V", "C"); 
bundle.putString("mode", "ch"); 
bundle.putString("code", "LiveTV"); 
bundle.putString("urlcount", "2"); 
Intent intent = new Intent(First.this,Second.class); 
intent.putExtras(bundle); 
startActivity(intent); 

Получить данные во второй деятельности, как это, давая сверток ID

String id; 
Bundle getBundle = this.getIntent().getExtras(); 

id= getBundle.getString("Id") 
    etc...... 
+0

Если я переношу данные из A1 в A2, ваш метод будет работать, но мой вопрос заключается в передаче данных от A1 до A3, а после действий A1-> A2-> A3 –

Смежные вопросы