android sqlite に外部DBリソースのインポートし、エミュレーターで表示すると文字化けする
初めましてMartyと申します。
不勉強で誠に恐縮でございますが、どなたか解決方法ご存じの方がいらっしゃいましたらお知恵をお借りできたらと思い書き込みさせていただきました。
現在、日本語検定用の勉強のAndroid appsを開発開発中でございます。簡単な仕様は以下の通りで
・データベースに日本語で1, id 2, 問題文 3, 正解 4, 不正解の選択肢 5, 不正解の選択肢 6, 不正解の選択肢 7, 不正解の選択肢
・mainacitivity上でrandomメソッドで乱数を発生させ、ランダムに問題を表示する
・上記DBの3番目のカラムの値を、equalsメソッドで突合し成否の判定をする。
・結果を表示する画面を1枚用意しそこで成否を表示する
といった簡単な作りでございます。
現在解決できなく困っているのは、上記のDBにテーブルを作成し、問題と選択肢のデータを流し込みたいと思っております。
手順といたしましては、ローカル環境でsqliteで同じテーブルを作成し、エクセルで問題と選択肢のデータを作成しcsvで保存。
このままですと文字コードがsjisのため、エディターで開き直し、utf-8nで保存し、.txtでファイルを作成します。
その後、上記文字コードをutf-8nの.txtファイルを、ローカル環境のsqliteにimportしDBを作成します。
ローカル上で作成したsqlite DBをコピーし、Androidの開発環境(SDK + Eclipse 4.3)上のassetsフォルダに格納し
== 抜粋 ==
InputStream in = this.context.getAssets().open(DATABASE_NAME);
OutputStream out = new FileOutputStream(copyFolder + DATABASE_NAME);
// ファイルのコピー
byte[] buf = new byte[1024];
int len = 0;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
でリソースのコピーをプロジェクトに作成するという方法で、コピーを作成するところまでは完成いたしました。
しかしながら、この作成したコピーをLogcatで表示すると文字化けし、またエミュレーター上でも文字化けした状態で表示されてしまいます。。。
散々調べてはみたのですが、どれも解決にたどり着くことができず、こちらに書き込みさせていただきました。
いろいろ不勉強で至らない部分のご指摘があると思いますが、どなたかお知恵をお借りできますと幸いでございます。
何卒宜しくお願いいたします