2010-07-14 3 views
3

Я ищу, чтобы добавить (мое местное, а не онлайн) таблицу высоких оценок в мое приложение для Android, и я хотел получить представление о наилучшем способе решения проблемы.Таблица лучших результатов

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

Для отображения, я думаю, что TableLayout, вероятно, будет моим лучшим вариантом. Я могу сделать столбцы для изображения, имени, оценки и т. Д.

Для самой информации, я думаю, может быть, таблица SQLite будет лучшим способом организовать мои данные? Если это так, то, возможно, стоит также переместить мои пользовательские данные в таблицу SQLite, чтобы я мог обеспечить правильное перекрестное сопоставление данных.

У кого-нибудь есть полезная информация или мнения по этому вопросу? Благодарю.

UPDATE: Я пошел с базой данных SQLite (используя две таблицы), и он отлично работает! Не было слишком сложно учиться и работать. Для макета получается, что ListView с пользовательским адаптером был лучшим способом выполнить то, что я хотел (более гибким, чем TableLayout).

ответ

3

Я не много сделал с Андриодом, но я верю, что вы на правильном пути. Использование SQLite для данных не только поможет сохранить структурированные и организованные данные, но и позволит вам увеличивать экспоненциальные данные, и вы можете использовать стандартный стандартный способ перехода из базы данных SQL в объекты с использованием шаблона DAO. Я бы рекомендовал использовать SQLite с MyBatis. MyBatis - это утилита привязки объектов для Java. Это позволяет вам писать sql и возвращать свои результаты в виде java-объекта. MyBatis

+0

MyBatis выглядит довольно мило, хотя в моем случае это может быть излишним. У меня действительно только около 5 или около того полей данных для Пользователя (большинство из которых являются примитивами), поэтому я не думаю, что это должно быть слишком сложно разобрать и из таблицы SQL. – idolize

2

Я лично считаю, что для этого будет проще использовать таблицу SQlite. Из того, что я могу сказать, вам действительно нужна только одна таблица, так что это может быть немного избыточным, но для меня это намного проще, чем иметь дело с файловыми вводами/выводами.

Также с базой данных вы можете более легко добавить дополнительную информацию, такую ​​как дата была сделана запись и т.д.

+0

Спасибо за ответ. Я думаю, что было бы лучше использовать две таблицы: одну для пользователей и одну для оценки ... но я не очень часто использовал реляционные базы данных, поэтому я не уверен. – idolize

+0

Вы можете использовать две таблицы, если хотите, но это похоже на перебор. В настоящее время я делаю кучу небольших тестовых приложений для iphone и использую одну базу данных из примерно 15 столбцов и 150 строк. для чего-то вроде таблицы HS, я не понимаю, зачем вам нужно 2 таблицы. Разумеется, таблицы будут меньше, но в этом случае он настолько мал, что я не могу показаться большой разницей в производительности. – Adam

2

Для чего-то, как грязь простой и некритические как высокий список баллов, база данных чувствует себя немного излишним для меня , Я был бы склонен использовать CSV-файл сам.

Конечно, возьмите это с подходящей солью, так как я не разрабатываю на Android. Если накладные расходы для SQLite тривиальны (или если он уже находится в Android, ожидающем, когда вы его используете!), Он может также использовать его для ваших нужд хранения данных, хотя бы для того, чтобы ваш код был согласован.

+0

SQLite уже входит в стек Android, но я просто не использовал базы данных в целом, поэтому я избегал этого. Другое дело, что я, вероятно, никогда не стану выше 20 пользователей на устройстве в любое время, поэтому скорость не является проблемой. – idolize

+1

Тогда вы можете использовать SQLite для практического использования. Добавление уровня владения базой данных к вашему набору навыков сделает вас МНОГО более универсальным программистом, и вы должны начать где-то. :-) – BlairHippo

1

ScoreNinja, библиотека с открытым исходным кодом для Android, может сэкономить вам некоторое время или дать вам некоторые идеи.

+0

Я не думаю, что буду использовать это как решение, но я могу заглянуть в источник, чтобы получить некоторые идеи. Благодаря! – idolize

+1

ScoreNinja больше не работает. – Datoraki

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