Как я могу улучшить свое приложение

#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";
    }
}