У меня есть приложение, которое представляет некоторые пляжи пользователям. Существует список с названием каждого пляжа, и когда пользователь нажимает на имя, он открывает новое действие с фотографией, а некоторые text.i создали .java для каждого пляжа (тот же copy- код вставки) и общий .xml файл. есть ли лучший способ сделать это? Например, чтобы все пляжи и их текст в db?
почему бы вам просто не указать один и тот же класс, но с разными параметрами в конструкторе? Что-то вроде этого:
public class Beach{
protected String name;
protected String pathImage;
public Beach(String name, String pathImage){
this.name = name;
this.pathImage = pathImage;
}
}
//Somewhere else in your application...
Beach beach1 = new Beach("Cancun","/images/cancun.png");
Beach beach2 = new Beach("Miami","/images/miami.png");
Я бы сохранил информацию о пляже в SQLlite базе данных, а затем просто создал одно представление Beach, которое знает, как отображать информацию из базы данных, Проблема заключается в том, что вам может понадобиться создать простой инструмент, который позволит вам управлять информацией в базе данных, поэтому вам не нужно делать это через запросы в командной строке.
Вы могли бы, конечно, создать (абстрактный) суперкласс Beach.java и позволить другим пляжам расширить этот класс. Таким образом, у вас есть менее избыточный код.
public abstract class Beach{
protected String name;
public Beach(String name){
this.name = name;
}
public abstract String getOtherInfo();
}
public class FirstBeach extends Beach{
public FirstBeach(){
super("FirstBeach");
}
public String getOtherInfo(){
return "someInfo";
}
}