2012-12-21 4 views
0

가능한 중복으로 안드로이드를 사용 :
How to ship an Android application with a database?SQLite는에게 기존

나는 데이터베이스에서 데이터를 읽고 사용자에게 표시해야하는 응용 프로그램을 개발하기 위해 노력하고있어. 아마도 미래에는 사용자가 다양한 기사에 대한 의견을 남길 수있는 옵션을 추가 할 수 있습니다. SQLite 대신 서버가 필요합니까? 그러나 데이터를 읽는 것이 각 테이블에 3k ~ 5k 레코드가있는 로컬 데이터베이스를 갖는 것이 더 낫습니다.

두 번째로 안드로이드와 데이터베이스에 관해서는 완전히 초보자입니다. 나는 PHP+MySQL을 다뤘지만 꽤 똑같지는 않습니다. 레코드가 많으므로 백엔드 (sqlitebrowser)에서 파일을 입력하고 assets 폴더에서 파일을 복사하고 싶습니다 (이미 완료되었습니다). 온라인 튜토리얼을 사용하여 데이터베이스 도우미 클래스를 만들려고했으나 전혀 작동하지 않았습니다. 또한 SQL 스크랩북보기를 사용하여 시도했을 때 Eclipse에서 연결 프로필을 만들려고했습니다. 오류는 발생하지 않지만 선택 쿼리는 아무것도 표시하지 않습니다.

새 데이터베이스를 만들고 싶지 않습니다. 기존 데이터베이스를 자산에서 data/data/my.package/databases/으로 복사하고 거기에서 읽습니다.

+0

죄송합니다. 하지만 정확히 당신의 문제는 무엇입니까 –

+0

내가 시도한 코드가 전혀 작동하지 않습니다. 샘플 데이터를 표시하지 않습니다. –

답변

2

SQLite를 Android로 구현하려면 데이터베이스 파일에 대해 두 가지 규칙이 필요합니다. 이러한 규칙을 따르지 않으면 Android의 SQLite 라이브러리가 데이터베이스를 올바르게 읽지 않습니다.

  1. 모든 표는 _id라는 INTEGER PRIMARY KEY 필드가 있어야합니다. (이것은 표준 SQLite 일 수도 있습니다.)

  2. 데이터베이스의 이름은 android_metadata이어야합니다. 이 테이블에는 locale이라는 TEXT 열이 있어야하며 데이터의 로캘 이름이있는 행이 하나 있어야합니다. 값 "en_US"이 저에게 효과적입니다. 스키마 :

    이 표 android_metadata (로케일 TEXT)

는 자산의 데이터베이스가이 규칙을 따르는 있는지 확인을 만듭니다.

+0

나는 이것도했다. @ Ram의 게시물에서 같은 사이트의 자습서를 따라 가면서 나에게 도움이되지 못했습니다. –

+0

@ResleyRodrigues - 내가 가지고있는 유일한 다른 제안은 데이터베이스를 만들고, 'adb pull'을 사용하여 파일을 검색하고, 해당 파일을 앱으로 패키징하는 작은 Android 프로그램을 작성하고 실행하는 것입니다. 그래도 작동하지 않는다면 문제는 데이터베이스 파일 자체가 아니라 실제 앱과 함께 번들로 제공되는 코드와 관련이 있습니다. 그렇다면 관련 코드를 게시하면 누군가가 도움을 줄 수 있습니다. –

0

다음 사이트는 귀하의 모든 요구 사항을 제공합니다. Using your own SQLite database in Android applications

+0

감사합니다. 이것은 처음부터 SQLite 브라우저로 안내하는 자습서입니다. 어떻게 든 그것은 나를 위해 일하는 것처럼 보이지 않았다. –

+0

효율적인 답변을 얻으려면 스 니펫 또는 오류 메시지의 일부 코드를 게시하십시오. – Ramprasad

관련 문제