Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Iwantamillion
0 / 0 / 1
Регистрация: 11.07.2014
Сообщений: 3
#1

Передать в активити массив размерностью, превышающую допустимый интентом - Android

11.07.2014, 21:36. Просмотров 558. Ответов 2
Метки нет (Все метки)

Всем привет.

Из класса необходимо передать массив типа byte в activity. Стандартный способ:

Java
1
2
3
4
5
6
Bundle bundle = new Bundle();
bundle.putByteArray(KEY, byteArray);
            
Intent intent = new Intent(context, Activity.class);
intent.putExtras(bundle);
context.startActivity(intent);
не подходит, так как размер массива очень большой, а Intent предназначен для передачи данных небольшого объема. Из-за этого, Eclipse выводит в консоль "Can't bind to local 8700 for debugger" и телефон просто зависает - не могу запустить вообще ни одно приложение, приходится перезагружать телефон. Можете подсказать способ передать этот массив в activity?

Как вариант, может объявить этот массив статическим в отдельном классе и заместо вышеприведенного кода просто ссылаться на этот массив?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2014, 21:36     Передать в активити массив размерностью, превышающую допустимый интентом
Посмотрите здесь:

Android Как передать ссылку на элемент активити в другой класс чтобы провести операции надо ним
Android Изменение параметров активити из другого активити
Как передать целочисленную переменную и картинку из сервиса в активити? Android
Как вызвать метод в активити классе из обычного не активити класса? Android
Android Передать параметр из одной активити в другую
Как передать через intent нажатие кнопки в другом активити Android
Как из одного активити строку передать в другую в виде listView Android
Android Как с ListFragment передать имя файла чтобы открыть его в другом Активити?
Передать данные из fragment в активити Android
Android Передать SearchView из активити во фрагмент
Передать данные в активити Android
На телефоне highscreen 3 на всех активити происходит быстрый самовозврат к главной активити Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
11.07.2014, 22:39     Передать в активити массив размерностью, превышающую допустимый интентом #2
1. Можно сохранить его в файл, потом когда надо - считать из файла.
2. Ну например изначально сохранять массив не в активити, а в отдельный общедоступный класс...
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
11.07.2014, 22:43     Передать в активити массив размерностью, превышающую допустимый интентом #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Iwantamillion Посмотреть сообщение
Как вариант, может объявить этот массив статическим в отдельном классе и заместо вышеприведенного кода просто ссылаться на этот массив?
Есть способ немного красивей без статических штук. Создаете класс MyApp наследник Application, прописываете его в манифесте. Внутри класса добавляете обычное не приватное поле myArray которое будет хранить ссылку на ваш массив. Потом заполняете его где-нибудь там где вам удобно. Чтоб добраться до этого массива из любой активити, просто делаете ((MyApp) getApplication()).myArray и все.
Yandex
Объявления
11.07.2014, 22:43     Передать в активити массив размерностью, превышающую допустимый интентом
Ответ Создать тему
Опции темы

Текущее время: 23:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru