質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

0回答

691閲覧

android stdioでデータベースが作成されない

nankadekai

総合スコア15

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2018/11/16 15:53

ここにより詳細な情報を記載してください。
sqlファイルをsqlite読み込み、データベースを作成したのですが、テーブルができたかどうかadbshellを用いて確認した際に「no such table」とでてしまい、どうやらテーブルの作成ができていないようで、
当方初心者で色々なサイトを参考にして作ったのですが、どうすればいいのかわからない状態です。。。

前提・実現したいこと

事前に用意してあるsqlファイルをsqliteでデータベースの構築とテーブルの作成がしたい

発生している問題・エラーメッセージ

テーブルが作成されていない
エラーメッセージは出ないものの該当しそうなlogcatも載せておきます。(関係なかったらごめんなさい)

system_process E/memtrack: Couldn't load memtrack module

File error accessing recents directory (directory doesn't exist?).

GCM_HB_ALARM release without a matched acquire!

failed to add asset path /data/app/com.example.quiz.myapplication-obeAhWuTciqIgMXQ7dcu2w==/base.apk

該当のソースコード

当方初心者で色々なサイトを参考にして見よう見まねの状態なので間違いだらけかもしれません、、、

**### DBOpenHelper.java** public class DBOpenHelper extends SQLiteOpenHelper { private static final String DB_NAME = "open.db"; //データベース名 private static final int DB_VERSION = 1; //データベースのバージョン private final Context mContext; //コンテキスト public static final String CREATE_TABLE = "create table " + WordContract.mon.TABLE_NAME + " (" + WordContract.mon._ID + " integer primary key autoincrement, " + WordContract.mon.Pref + " text," + WordContract.mon.toi0 + " text," + WordContract.mon.toi1 + " text," + WordContract.mon.toi2 + " text," + WordContract.mon.toi3 + " text," + WordContract.mon.toi4 + " text,"+ WordContract.mon.Clear + " integer)"; //コンストラクタ public DBOpenHelper(Context context){ super(context, DB_NAME, null, DB_VERSION); this.mContext = context; } //データベースが作成された時に呼ばれる //assets/sql内に定義されているsqlを実行します @Override public void onCreate(SQLiteDatabase db) { try { db.execSQL(CREATE_TABLE); execSql(db,"sql"); }catch (IOException e){ e.printStackTrace(); } } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } //引数に指定したassetsフォルダ内のsqlを実行する private void execSql(SQLiteDatabase db, String assetsDir) throws IOException { AssetManager as = mContext.getResources().getAssets(); try{ String files[] = as.list(assetsDir); for (int i = 0; i < files.length; i++){ String str = readFile(as.open(assetsDir + "/" + files[i])); for (String sql: str.split("/")){ db.execSQL(sql); } } }catch (IOException e){ e.printStackTrace(); } } //ファイルから文字列を読み込む private String readFile(InputStream is) throws IOException{ BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(is,"UTF-8")); StringBuilder sb = new StringBuilder(); String str; while ((str = br.readLine()) != null){ sb.append(str + "€n"); } return sb.toString(); }finally { if (br != null)br.close(); } }
**### WordContract.java** public final class WordContract { public WordContract(){} public static abstract class mon implements BaseColumns { public static final String TABLE_NAME = "Quizmondai"; public static final String Pref = "Pref"; public static final String toi0 ="to0"; public static final String toi1 ="to1"; public static final String toi2 ="to2"; public static final String toi3 ="to3"; public static final String toi4 ="to4"; public static final String Clear = "Clear"; }
**### Quizmon.sql** INSERT INTO Quizmondai(Pref,toi0, toi1, toi2, toi3, toi4, Clear) values ('北海道','札幌','青森','盛岡','仙台','札幌',0); INSERT INTO Quizmondai(Pref,toi0, toi1, toi2, toi3, toi4, Clear) values ('山形県','山形','山形','宇都宮','前橋','東京',0); INSERT INTO Quizmondai(Pref,toi0, toi1, toi2, toi3, toi4, Clear) values ('群馬県','前橋','横浜','前橋','京都','水戸',0); INSERT INTO Quizmondai(Pref,toi0, toi1, toi2, toi3, toi4, Clear) values ('福井県','福井','秋田','盛岡','仙台','福井',0); INSERT INTO Quizmondai(Pref,toi0, toi1, toi2, toi3, toi4, Clear) values ('石川県','金沢','前橋','京都','金沢','盛岡',0);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問