2014-01-14 2 views
0

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

я должен добавить туда:

int number 
    String name 
    int number_2 
    int time 
    int total 


И мой вопрос в том, как реализовать его в самый простой способ и как получить данные от него. В случае, если мне нужно получить разные записи для этих переменных и сохранить их в списке.
Также есть вопрос о том, как сохранить все значения, которые я обрабатываю внутри своего массива. Мне нужно сохранить это, потому что в моей программе я должен вернуться к другим действиям, перейдя к другому, и снова собираю данные и добавляю их в свой массив.

Какое будет лучшее и простое решение?

Заранее спасибо за помощь

ответ

0

Вы можете создать массив как массив объектов. Все остальные классы производятся от Object, поэтому вы сможете хранить все типы объектов в своем массиве. Однако вам нужно будет проверить тип объекта, который вы получаете из массива, прежде чем вы сможете безопасно интерпретировать его как объект определенного класса. Более того, вам нужно будет использовать Integer вместо int.

Если все (или хотя бы несколько) ваших элементов, которые вы собираетесь хранить в массиве, принадлежат одному (физическому) объекту, вы можете создать пользовательский Class, который будет содержать свои собственные свойства в качестве членов класса и заполнить ваши Массив со списком экземпляров этого Class.

Кроме того, если вы планируете добавлять элементы в свой массив, вы должны использовать вместо него List, например. a ArrayList.

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

0

Чтобы передать данные через действия, вам необходимо передать их, используя объекты, которые вы можете сохранить в намерении. Кажется, что лучший способ справиться с этим необходимо либо создать PREFS файл для хранения данных или для создания объекта, который расширяет Parcelable как здесь:

https://stackoverflow.com/questions/18593619/android-parcelable-object-passing-to-another-activity

Parcelables предпочтительны при условии, что вам нужно все данные в единый объект, вы не хотите «putExtra» связывать поля, и вы также должны быть уверены, что данные могут переходить от одного вида деятельности к другому. В противном случае, простой класс Util, который считывает и записывает в файл префов является путь:

android read/write user preferences

База данных всегда есть другой вариант, но, кажется, хорошо выходит за рамки вашего вопроса.

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