Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Iwantamillion
0 / 0 / 1
Регистрация: 11.07.2014
Сообщений: 3
#1

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

11.07.2014, 21:36. Просмотров 687. Ответов 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?

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

Передать данные в активити
Здравствуйте, такой вопрос: есть несколько активити с данными и ещё одно...

Передать данные из fragment в активити
Здравствуйте, Мне необходимо передать данные из фрагмента в активити, если...

Передать SearchView из активити во фрагмент
У меня есть SearchView в активити и тесть фрагмент который запускается через...

Передать параметр из одной активити в другую
Всем привет, дорогие форумчане! Прошлый раз мне любезно помогли здесь, мне...

Передать данные между активити через SharedPreferences
Ребята помогайте начинающему, в общем есть два активити, из одного активити...

2
kvaka
31 / 31 / 3
Регистрация: 26.06.2012
Сообщений: 166
11.07.2014, 22:39 #2
1. Можно сохранить его в файл, потом когда надо - считать из файла.
2. Ну например изначально сохранять массив не в активити, а в отдельный общедоступный класс...
1
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
11.07.2014, 22:43 #3
Лучший ответ Сообщение было отмечено Iwantamillion как решение

Решение

Цитата Сообщение от Iwantamillion Посмотреть сообщение
Как вариант, может объявить этот массив статическим в отдельном классе и заместо вышеприведенного кода просто ссылаться на этот массив?
Есть способ немного красивей без статических штук. Создаете класс MyApp наследник Application, прописываете его в манифесте. Внутри класса добавляете обычное не приватное поле myArray которое будет хранить ссылку на ваш массив. Потом заполняете его где-нибудь там где вам удобно. Чтоб добраться до этого массива из любой активити, просто делаете ((MyApp) getApplication()).myArray и все.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2014, 22:43

Как передать целочисленную переменную и картинку из сервиса в активити?
Как передать целочисленную переменную и картинку из сервиса в активити?

Как передать через intent нажатие кнопки в другом активити
В первом активити у нас есть две кнопки 1 и 2. Во втором активити ещё две...

Как из одного активити строку передать в другую в виде listView
это первое активитиpublic class TodoActivity extends Activity implements...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru