Архитектура проекта Android: база данных и карта? - PullRequest
0 голосов
/ 03 февраля 2012

Мой проект - это приложение для посетителей Университета, которое в основном отображает места и события на карте и позволяет пользователям взаимодействовать друг с другом, публикуя сообщения с советами / рекомендациями / вопросами и так далее.

До сих пор я пробовал отдельные куски кода (списки, вкладки, основы), следовал учебникам по Android и пробовал что-то для себя.Моя проблема в том, что я не уверен, как объединить все фрагменты кода в одном проекте.

Я знаю, что мне нужно сделать базу данных и карту (используя OSM, а не Google).База данных будет хранить информацию о местах, событиях и публикациях, которые сделали пользователи.С информацией о координации, потому что они должны идти на карте.Эта информация также отображается в отдельных вкладках - например, список мест.

Моя проблема в том, что я не знаю, как все это будет сочетаться.Будут ли мне нужны отдельные классы для базы данных, заполнения списков и отображения на карте?Или они все могут быть в одном классе?

Я немного смутно отношусь к тому, как будут общаться классы и занятия.В настоящий момент я думаю, что объект базы данных будет передан в списки и карты, которые затем получат и отобразят некоторую информацию?

Буду очень признателен за любой совет о том, как соединить эти элементы вместе.: D

Я думаю, мне нужно будет создать подкласс SQLiteOpenHelper для моей базы данных, так что это должен быть собственный класс?Я думаю об использовании OSMdroid для карты, что я пока не знаю, как это сделать.И все должно быть внутри табуляции.

1 Ответ

2 голосов
/ 03 февраля 2012

Добро пожаловать в StackOverflow!

Ваш вопрос очень расплывчатый и широкий, и, скорее всего, его закроют как "ненастоящий вопрос". Я предлагаю вам брать проблемы один за другим и задавать конкретные вопросы, когда вы сталкиваетесь с проблемами. Попытайтесь думать о своей проблеме в следующих терминах: какова минимальная вещь, которая мне нужна, чтобы заставить ее делать то, что я хочу. Имейте в виду, что ВСЕ, что вы хотите сделать, возможно, главный вопрос, который вы должны себе задать: что именно вы хотите, чтобы ваше приложение делало? Подумайте о количестве различных экранов (действий) и о том, как они будут общаться друг с другом (когда вы нажмете XXX, это приведет вас к YYY и т. Д.). Один совет: начните с простого, очень легко погрузиться в слишком большую сложность, тем более что это ваш первый проект. Это может быстро стать очень сложным, даже с простой концепцией.

Поскольку вы не указали свой уровень знаний в области кодирования, сложно дать точные советы: но кодирование приложения для Android не сильно отличается от «обычного» приложения с веб-интерфейсом, пользовательским интерфейсом Swing или C #. Поэтому я бы посоветовал вам узнать о программировании ОО в целом, например, композиция , наследование , инкапсуляция , внедрение зависимостей , юнит-тестирование и др.

Затем начните писать базу Activity для основного вида, напишите ее макет и добавьте в нее виды и графические элементы. Затем добавьте код слушателя для ваших виджетов, который будет генерировать Intents для других Activity.

Затем добавьте DatabaseHelper, когда вы хотите сохранить материал в базе данных (который может появиться позже, для начала, вы можете просто «заглушить» взаимодействия с базой данных, записав то, что вы сохраните в БД на экране). используя тост, например).

Все объекты можно вводить в другие объекты, передавая ссылку на них либо во время строительства, либо через сеттеры.

Извините, что не могу быть более точным, поскольку я сказал, что это очень расплывчатый вопрос.

...