2015-08-11 5 views
-1

Я новичок в Android и базы данных в целом в этом отношении. Я ищу легкое решение для создания базовой базы данных для моего практического приложения, которое будет хранить профили при входе в систему. Каковы преимущества использования sqlite (или он был бы mysql?) Для установки этой базы данных в отличие от внутреннего хранилища? Кроме того, существуют ли какие-либо другие способы обработки базы данных профилей, которые мне нравятся, что я могу игнорировать? Для целей этого приложения, поскольку он по существу «просто для удовольствия», я в конечном счете хотел бы пойти с любым способом, который быстрее и проще всего реализовать.Android: базовое хранилище баз данных

Вот мой Profile Класс:

public class Profile 
{ 
    private String username; 
    private String password; 
    private String zip_code; 

    public Profile(String username, String password, String zip_code) 
    { 
     this.username = username; 
     this.password = password; 
     this.zip_code = zip_code; 
    } 

    //Followed by getter methods each of the fields 

} 

В качестве дополнительной записке, я должен быть для выполнения запросов этих профилей в моей базе данных, чтобы гарантировать, что имена пользователей не восстанавливаются и учетные данные (имя пользователя и пароль).

ответ

1

Если вы только сохраняете 1 профиль, у человека, зарегистрированного в то время, вы можете избежать использования SharedPreferences.

Если вы хотите сохранить несколько профилей, база данных - это путь.

В Android это всегда база данных SQLite.

Для реализации базы данных и ее функции, есть 2 основных способа сделать это:

1) SQLiteOpenHelper, который включает в себя написание необработанного SQL команды для доступа к базе данных. (Многие примеры этого вокруг сети, только Google его)
2) Библиотека ORM базы данных, такие как «SugarORM» http://satyan.github.io/sugar/ (Есть много различных ORMS там, только Google их)

Я в настоящее время используется SugarORM в несколько различных проектов, поскольку его очень легко настроить, и работает очень красиво. Абсолютно никакой необходимости в каких-либо сырых командах SQL, поскольку он отлично справляется со всем этим под капотом и оставляет вам простые функции для использования (или более продвинутые, если вы решите).

0

Это действительно вопрос масштабируемости, если вы не храните много профилей, я бы предложил придерживаться локального хранилища. SQLite может быть полезен для хранения больших объемов информации на устройстве или кеширования частей большей базы данных, а mysql действительно лучше всего используется в качестве внешней базы данных.

Смежные вопросы