LogCatから見るに、どうもLock周りでエラーが発生しているらしい。
なのでその辺の制御が分かればいいんだけど…。ネットで少し調べてみたが、参考になりそうなページも少なく。
少ない知識を振り絞って理論的に考えてみても、これといった対処方法も想像できない。
とりあえず分かったのは、ロックの粒度はDB単位でのみ(テーブルでも行でもない)ってことだけ。
せめてロックのタイミングさえ分かればもう少し対処方法を考え易くはなるのだけど、そこもはっきり分からなかった。
おそらく、getReadableDatabase(gerWritableDatabase)、またはbeginTransaction、またはSQL実行時だとは思うのだが…。
簡単なテストプログラムを作れば分かると思うんだけど、そこまで調べる気にもなれない。
それが分かったところで、結局はどこかでエラーを拾う必要が出てくるのには変わりなく、それをアプリケーション側でやるべきか、DBアクセス側でやるべきか、自分の中で考えが纏まらない。
と言う訳で、開発バージョンに多少のリトライ処理を組み入れてみた。多少は良くなったような気もするけど、気のせいかも知れない。
何にせよ、無茶な使い方をしなければDBアクセスエラーが出るようなことは滅多にないので気にするほどじゃないんだけどね…。
先日のアプリの初コメントからインストール数が一気に上昇した。
最初のリリースからコメントをもらうまでは平均1日10件弱(バージョンアップ直後は「新着」の上位に表示されるので10件超え、バージョンアップから日が経つにつれ減っていく感じ)だったのが、最近は多いと50件を超える日がある模様。
自分の作ったものが使われる感じがとても新鮮、かつ嬉しい。
通知履歴画面の機能追加も終わったので地震画面を作ろうと思ったのだけど、コメントでウィジェットを褒められたので、その前にウィジェットの背景を増やそうと思ったのだけど、これもまた良い方法が分からないので諦めた。(逆説続きの文章でスイマセン)
remoteViewsにはなぜsetBackgroundがないのだろう?
layoutを追加すればできるのは分かっているのだけど、それも無駄な気がする。
styleというものも調べたのだけど、結局よく分からない。技術力のなさが悲しい…。
それ以前に角が丸いウィジェットってどうやって作るんだ?
とりあえずは素直に地震画面を作ろうかな…。
SQLiteの件もウィジェットの背景の件もちゃんとできているアプリはあるのだから、何かしら方法はあるんだろうけど…。
プログラミングは奥が深い。
0 件のコメント:
コメントを投稿