jsWaffle質問掲示板(雑談やTips歓迎)

jsWaffleについて質問する掲示板です。(雑談や発見したTipsの投稿も大歓迎です!)
[一覧へ] > (@37) [普通] [解決]
@37■ (#125) sqlite利用で、次回アプリ起動時にエラーになる - やっさん (2011-08-13 17:58) /普通 質問
はじめまして。

jsWaffleの存在を知り、これなら私も作れそうだと思い、始めました。
ここ1日、sqliteが利用できなく、止まっています。
どなたか教えていただけませんでしょうか。

【再現方法】
0.sqliteがサンプルソースで実行できることは確認済です。

1.DBを利用したアプリを作ります。

2.実機にインストールさせ、起動します。
  その際にDBの作成をさせます。
  dbfp = "/sdcard/xxxxx/xxxxx.db"として、
  droid.openDatabase(dbfp)は問題なく通ります。

  その後は、droid.droid.executeSqlも
  droid.executeSqlsyncもselect,insert共に実行可能です。
  その時のデータもaSQLlistManagerで更新確認済です。

3.一旦、アプリをquitして終了させます。

4.再度アプリを起動します。
  書き込み処理を走らせると(書き込み部分でもopenしてexecさせている)
  デバッグでopenDatabaseを通ると「unable to open database file」
  が表示され、更新を受け付けません。
  2で作成したDBは、aSQLlistManagerでも参照可能です。

わかっていることは、初回作成から終了するまでの間は
どうやらアクセス可能で、一旦終了すると受け付けてもらえない模様。
失敗するときは、droid.fileExsitsで探すと存在するのにfalseを返します。
(初回で使ったパスと変わらない情報で探させています)

それでエラーメッセージから調べてみると、
DBファイルが存在するディレクトリのパーミッションの問題だ
と書いてあったのですが、ファイルマネージャ系のアプリでは
droid.mkdirで作成したファイルディレクトリは削除可能です。
WRITE_EXTERNAL_STORAGEは付与されています。

ここまで調べて次はどうすれば・・・とちょっと困っています。
よろしくお願いいたします。

【Androidのバージョン】確認したAndroidバージョン
Android OS 2.3

【機種名】
INFOBAR A01

(#128) 解決しました - やっさん (2011-08-14 17:09) /普通 解決
すみません、自己解決です。

初回、パスの情報をファイルに書きこむようにしていましたが、
読み込み時に改行も読み込んでいました。

お騒がせしました。

(#125)へ返信する:

名前
タイトル
本文
困った度
状態
確認キー お手数ですが、いたずら防止のために、半角数字で「8932」と入力してください。
編集キー 編集時に使うキーを入力(省略可能)
添付ファイル 画像ファイル(最大300KB)を添付可能