Intereting Posts
Как предотвратить отклонение версии ProgressDialog на экране? Соединение XMPP с Smack 4.1 на Android Studio OpenGL ES – glReadPixels Как проверить все запущенные службы в android? Как бы вы улучшили Dalvik? Виртуальная машина Android Android получает IP-адрес устройства, предоставляющего горячие точки Ошибка запуска: не удалось подключиться к удаленной виртуальной машине Формат командной игры между контроллером bluetooth и консолью Получение представления, которое получает все события касания Этот класс должен быть общедоступным (android.support.v7.internal.widget.ActionBarView.HomeView) Избавление от градиента в верхней части Activity (Android) Обнаруживать, если пользователь «отменил выбор» на карте google Как изменить цвет текста при нажатии на конкретное текстовое изображение в линейном режиме Есть ли какой-либо механизм обратного вызова в android, когда есть данные, доступные для чтения в сокете WebSockets для Android в приложении Phonegap с сервером и клиентом Node.js / Socket.IO

Что означает пакет в Android?

Я новичок в разработке приложений для Android и не понимаю, что делает пакет для нас.

Может ли кто-нибудь объяснить это мне?

Solutions Collecting From Web of "Что означает пакет в Android?"

Я новичок в разработке приложений для Android и не могу понять, что делает пакет для нас. Может ли кто-нибудь объяснить это мне?

По-моему, вы можете изобразить его как MAP который хранит примитивные типы данных и объекты как пару key-value

Bundle чаще всего используется для передачи данных через различные Activities . Предоставляет putType() и getType() для хранения и извлечения данных из него.

Кроме того, Bundle как параметр onCreate() жизненного цикла onCreate() Activity может использоваться, когда вы хотите сохранить данные при изменении ориентации устройства (в этом случае активность уничтожается и снова создается с ненулевым параметром в виде Bundle).

Подробнее о Bundle по его методам вы можете прочитать reference at developer.android.com где вы должны начать, а затем сделать некоторые демонстрационные приложения, чтобы получить опыт.

Демонстрационные примеры использования:

Передача примитивных типов данных через Деятельность:

 Intent i = new Intent(ActivityContext, TargetActivity.class); Bundle dataMap = new Bundle(); dataMap.putString("key", "value"); dataMap.putInt("key", 1); i.putExtras(dataMap); startActivity(i); 

Передача Список значений через Деятельность:

 Bundle dataMap = new Bundle(); ArrayList<String> s = new ArrayList<String>(); s.add("Hello"); dataMap.putStringArrayList("key", s); // also Integer and CharSequence i.putExtras(dataMap); startActivity(i); 

Передача Сериализованных объектов через Деятельность:

 public class Foo implements Serializable { private static final long serialVersionUID = 1L; private ArrayList<FooObject> foos; public Foo(ArrayList<FooObject> foos) { this.foos = foos; } public ArrayList<FooObject> getFoos() { return this.foos; } } public class FooObject implements Serializable { private static final long serialVersionUID = 1L; private int id; public FooObject(int id) { this.id = id; } public int getId() { return id; } public void setId(int id) { this.id = id; } } 

Затем:

 Bundle dataMap = new Bundle(); ArrayList<FooObject> foos = new ArrayList<FooObject>(); foos.add(new FooObject(1)); dataMap.putSerializable("key", new Foo(foos)); 

Проходные объекты через Мероприятия:

Существует гораздо больше кода, так вот статья, как это сделать:

  • Данные по посылам для перехода между мероприятиями с использованием классов Parcelable

Как получить данные в целевом режиме:

Существует один магический метод: getIntent() который возвращает Intent (если есть данные и с расширенными данными), которые начали Activity, откуда вызывается метод.

Так:

 Bundle dataFromIntent = getIntent().getExtras(); if (dataFromIntent != null) { String stringValue = dataFromIntent.getString("key"); int intValue = dataFromIntent.getInt("key"); Foo fooObject = (Foo) dataFromIntent.getSerializable("key"); // getSerializble returns Serializable so we need to cast to appropriate object. ArrayList<String> stringArray = dataFromIntent.getStringArrayList("key"); } 

Использование Bundle в качестве параметра метода onCreate() :

Вы сохраняете данные в onSaveInstanceState() как onSaveInstanceState() ниже:

 @Override public void onSaveInstanceState(Bundle map) { map.putString("key", "value"); map.putInt("key", 1); } 

И восстановить их в onCreate() (в этом случае Bundle как параметр не null), как onCreate() ниже:

 @Override public void onCreate(Bundle savedInstanceState) { if (savedInstanceState != null) { String stringValue = savedInstanceState.getString("key"); int intValue = savedInstanceState.getString("key"); } ... } 

Примечание. Вы можете восстановить данные также в onRestoreInstanceState() но это не является обычным явлением ( onStart() метод onCreate() и onCreate() вызывается ранее).

Обычно английский: «Это набор вещей, или количество материала, связанное или завернутое вместе».

Так же в Android «Это набор ключей и его значений, которые используются для хранения в нем каких-то данных».

Bundle обычно используется для передачи данных между различными компонентами. Класс Bundle, который можно извлечь из намерения с помощью метода getExtras ().

Вы также можете добавлять данные непосредственно в Bundle через перегруженные методы putExtra () объектов Intent. Экстра – это пары ключ / значение, ключ всегда имеет тип String. В качестве значения вы можете использовать примитивные типы данных.

Получающий компонент может получить доступ к этой информации с помощью методов getAction () и getData () на объекте Intent. Этот объект Intent можно получить с помощью метода getIntent (). И компонент, который получает намерение, может использовать метод getIntent (). GetExtras () для получения дополнительных данных.

Основная деятельность

 Intent intent = new Intent(MainActivity.this,SecondActivity.class); Bundle bundle = new Bundle(); bundle.putString(“Key“, myValue); intent.putExtras(bundle); startActivity(intent); 

SecondActivity

 Bundle bundle = getIntent().getExtras(); String myValue= bundle.getString(“key“); 

Коллекция вещей, или количество материала, связанное или завернутое вместе. Это словарь означает … К тому же Bundle представляет собой набор данных. Данные могут быть любого типа, например String, int, float, boolean и любых сериализуемых данных. Мы можем совместно использовать и сохранять данные одного действия другому, используя пакетный пакет.

Рассматривайте его как совокупность данных, используемых при передаче данных из одной активности в другую.

Документация определяет его как

Msgstr "Отображение значений String в различные типы Parcelable."

Вы можете поместить данные внутри Bundle, а затем передать этот Bundle для нескольких действий. Это удобно, потому что вам не нужно передавать отдельные данные. Вы помещаете все данные в Bundle, а затем просто передаете Bundle, а не отправляете данные отдельно.

Это буквально множество вещей; Информация: вы помещаете туда вещи (строки, целые числа и т. Д.), И вы передаете их как один параметр (пакет), когда используете, например, намерение.

Затем ваша цель (активность) может получить их снова и прочитать идентификатор, режим, настройку и т. Д.

Отображение значений String для различных типов Parcelable. кликните сюда

Пример:

 Intent mIntent = new Intent(this, Example.class); Bundle mBundle = new Bundle(); mBundle.extras.putString(key, value); mIntent.putExtras(mBundle); 

Отправлять значение из одной активности в другую.