Значится вопрос такой.
даже не вопрос а размышление но для меня он больше как вопрос..
представим такую ситуацию.
например есть класс маин активити
Код: Выделить всё
package ****
import ****
class news(){ <---- класс выполняет роль структуры
String head,text
}
public class MainActivity extended Activity(){
news[] novosti;
news novost;
OnCreate(){
блаблабла
novosti = new news[10];
novost = new news();
(цикл заполнения novosti)
for(int i=0; i<10; i++){
novosti[i] = new news();
novosti[i].head = "новость "+i;
novosti[i].text = "текст новости "+i;
}
(заполнения одного пункта novost)
novost = new news();
novost.head = "новость 100";
novost.text = "текст новости 100";
*********
типа читаем здесь новсти через логи (проверяем запись) //все норм
*********
}
}
все находится в одном классе, все работает, все работает.
а теперь представим момент когда размер активити переваливает за 5000 строчек кода, ты смотришь и не понимаешь уже что где, или требуется оптимизайи, или введения сервисов\бродкастов или просто навести красоту спомощью фрагментов...
да хотябы просто навести красоту разбив функции на классы
вот тут и возникает вопрос
А куда деть переменные??
очевидно нужен как минимум\максимум отдельный клас для переменных.
ну для int string все понятно создал класс определил public final
в него завернул или fianl static или static эти пременые..
а что делать со структурами???
например разберем тотже код только
Код: Выделить всё
class news(){ <---- класс выполняет роль структуры
String head,text
}
Код: Выделить всё
public final class news(){ <---- класс выполняет роль структуры
static String head="",text=""
}
Код: Выделить всё
package ****
import ****
public class MainActivity extended Activity(){
news[] novosti; }
news novost; } <-- ссылаются на отдельный класс
OnCreate(){
блаблабла
novosti = new news[10];
novost = new news();
(цикл заполнения novosti)
for(int i=0; i<10; i++){
novosti[i] = new news();
novosti[i].head = "новость "+i;
novosti[i].text = "текст новости "+i;
}
(заполнения одного пункта novost)
novost = new news();
novost.head = "новость 100";
novost.text = "текст новости 100";
}
}
и класс приемник который будет принимать из общего класса новости
Код: Выделить всё
package ****
import ****
public class priemnik extended Activity( или Fragment)(){
news[] novosti;
news novost;
OnCreate(){
блаблабла
(цикл чтения novosti)
for(int i=0; i<10; i++){
Log.d(novosti[i].head,novosti[i].text); <---валится в NULLPOINTEREXEPTION на первом же индексе
}
(чтения novost)
Log.d(novost.head,novost.text); <--- запись появляется в консоль
}
}
как записать в общий класс news массив структур так, чтобы потом из другого класса его прочитать (желательно фрагмент али активити)???
мои раздумия таковы что одиночную структуру он записывает\читает потому что знает что по этому адресу только одно значение
а массив не может прочитать может потому что он не знает ни размерность ни степень этой структуры??
если я не прав обьясните мне...
заранее спасибо))