#android
#Android
Вопрос:
У меня есть приложение, которое представляет пользователям несколько пляжей. есть представление списка с названием каждого пляжа, и когда пользователь нажимает на название, открывается новое действие с фотографией и некоторым текстом. я создал класс .java для каждого пляжа (тот же код копирования-вставки) и общий файл .xml. есть ли лучший способ сделать это?например, чтобы все пляжи и их текст были в базе данных?
Ответ №1:
почему бы вам просто не создать экземпляр того же класса, но с другими параметрами в конструкторе? Что-то вроде этого:
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");
Ответ №2:
Я бы сохранил информацию о пляже в базе данных SQLLite, а затем просто создал единый вид пляжа, который знает, как отображать информацию из базы данных. Проблема заключается в том, что вы можете захотеть создать простой инструмент, позволяющий управлять информацией в базе данных, чтобы вам не приходилось делать это с помощью запросов в командной строке.
Комментарии:
1. пожалуйста, у вас есть какой-нибудь пример по этому поводу?
2. В моем быстром поиске в Google не так много хороших примеров, но этого может быть достаточно, чтобы вы двигались в правильном направлении: hdelossantos.com/2010/01/07/using-a-sqlite-database-in-android
Ответ №3:
Вы могли бы, конечно, создать (абстрактный) суперкласс 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";
}
}