--}}
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем

Помогите с возвратом массива из функции (Android, java)

Жизнь программиста
92
8
С друзьями на NN.RU
В социальных сетях
Поделиться
VooDoo
04.06.2017
Есть функция getInfoCount() в которую передается начальное значение (id записи).

Сама функция берет запись из БД
public String getInfoCount(int nCount) {
db = dbHelper.getReadableDatabase();
cursor = db.query(DBHelper.TABLE_COUNTERS,
new String[] {"number", "type", "info"},
"number = ?",
new String[] {Integer.toString(nCount)},
null, null, null);
cursor.moveToFirst();
String item_content = cursor.getString(cursor.getColumnIndex(DBHelper.KEY_TYPE));
return item_content;
}

Сейчас функция возвращает только значение type, а хотелось бы еще и info прикрутить :)
Подскажите, как модифицировать функцию, чтобы она возвращала оба значения.
henry
04.06.2017
так у вас же "return item_content;", т.е. возврат значения item_content...
вам нужно сделать return <что то>, где
<что то> содержит нужные значения, например это массив из двух String значений. Уж не знаю - можно ли так в ваших андроидах...
Т.е. как то так:
// верхняя часть кода
String type_val = cursor.getString(cursor.getColumnIndex(DBHelper.KEY_TYPE));
String info_val = cursor.getString(cursor.getColumnIndex(DBHelper.KEY_INFO));
return new String[] {type_val, info_val};

имейте ввиду что KEY_INFO это моя фантазия.
VooDoo
04.06.2017
Да я уж тоже сообразил :)
Только объявлять функцию надо так:
public String[] getInfoCount(int nCount) {
...
String type_val = cursor.getString(cursor.getColumnIndex(DBHelper.KEY_TYPE));
String info_val = cursor.getString(cursor.getColumnIndex(DBHelper.KEY_INFO));

return new String[] {type_val, info_val}
}

Спасибо за помощь!
alxumuk2
04.06.2017
Но лучше сделать класс с полями type и info и возвращать объект.
VooDoo
05.06.2017
подскажи как :)
alxumuk2
05.06.2017
Т.е. как??? Прямо так и сделать класс
class InfoCount {
private String type;
private String info;
public InfoCount(String type, String info) {
this.type = type;
this.info = info;
}
public String getType() {
return type;
}
public String geInfo() {
return Info;
}
};

И с ним работать:
public InfoCount getInfoCount(int nCount) {
...
String type_val = cursor.getString(cursor.getColumnIndex(DBHelper.KEY_TYPE));
String info_val = cursor.getString(cursor.getColumnIndex(DBHelper.KEY_INFO));

return new InfoCount(type_val, info_val);
}

В качестве дальнейшего перфекционизма можно подумать о том, чтобы type сделать не строкой, а enum, но тут надо глядеть на требования.
Продвинутые спецы в таких случаях ActiveAndroid используют...
VooDoo
05.06.2017
записал :)
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем
Универсальный фрезерный станок ФС-250-02

универсально-фрезерный станок ФС-250-02 Длина рабочей поверхности стола, мм 620 Ширина стола, мм 250 Перемещение стола X,Y,Z, мм 250 ,...

Фрезерный станок FCH 63 SCA (TOS)

Фрезерный станок FCH 63 SCA Продольный ход X 1500 mm Поперечный ход Y 630 mm Вертикальный ход Z 630 mm Длина стола 2200 mm Ширина...

Универсальный фрезерный станок 6В75

Станок фрезерный широкоуниверсальный 6В75 Рабочая поверхность стола, мм длина х ширина 500х195 ( 200) Наибольшее перемещение, мм...

Вертикально-фрезерный станок F2-250

Рабочая площадь стола – 250х1250 мм; Зажимные пазы: Количество – 3 шт.; Ширина – 14 мм; Расстояние между пазами...

Программист-разработчик Full-Stack ГК "Kolobox"
70000 -
100000 руб.
Высшее образование, стаж работы более 5 лет, полная занятость
Frontend-разработчик Profit Search
40000 -
50000 руб.
Стаж работы 3-5 лет, частичная занятость
Программист 1С НПП ПРО-М
от 110 000 руб.
Высшее образование, стаж работы 3-5 лет, полная занятость
Разработчик .net Profit Search
70000 -
100000 руб.
Неполное среднее образование, стаж работы 3-5 лет, полная занятость