問題タブ [dbflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
475 参照

android - MigrationTable DbFlow のデフォルト値を持つ AddColumn 文字列

デフォルト値を移行テーブルに追加する方法を教えてください。私は次のクラスを使用しています:

どんな助けでも大歓迎です。

0 投票する
2 に答える
1163 参照

android - DBFlow を使用してルックアップ テーブルのデータを初期化する正しい方法は何ですか?

初めて DBFlow を実装しようとしていますが、うまくいかないかもしれません。私は高度な Android 開発者ではありませんが、いくつかのアプリを作成しました。以前は、SQLiteOpenHelper を拡張する「データベース」オブジェクトを作成し、コールバック メソッドをオーバーライドしていました。

onCreate では、すべてのテーブルが作成されたら、ルックアップ データにハードコードされた SQL 文字列db.execSQL(Interface.INSERT_SQL_STRING);. 私は怠け者なので、onUpgrade()andonDowngrade()では、テーブルを削除して を呼び出すだけonCreate(db);です。

移行のドキュメントを読みましたが、注釈で "database =" が "databaseName =" に変更されたため、構文的に古くなっているように見えるだけでなく、データベースなしからバージョン "initial" への移行についても言及されていません。移行 0 をこの目的に使用できると主張する問題を見つけましたが、現時点では移行を機能させることができません。

どんな助けでも大歓迎です。プロジェクトは@Githubです。

0 投票する
1 に答える
568 参照

android - DBFlow フィードの RecyclerView が Marshmallow で更新され、M より前に更新されないのはなぜですか?

DBFlow (SQLite) バックエンドから供給された RecyclerView リストを表示しようとしています。リスト内の各項目は、一度選択すると詳細アクティビティ ビューに遷移する項目を表します。他の CursorLoader と同様に、ビューをサポートする Loader で変更が発生するたびに、レイアウトが自動的に更新されることを期待しています。

これはMarshmallowでテストする場合には当てはまりますが、 LollipopJelly Bean (4.3)の両方では失敗します。失敗した場合、デバッガーでonBindViewHolder()がアイテムごとに 1 回呼び出されるのを確認しても (適切なデータがカーソルに到着します) 、単一のアイテムがリストに表示されます。

以下は、私の意見に関係する主な要素です。意図的にコードを簡略化しました。必要に応じて詳細をリクエストしてください。


リストを表示するアクティビティの onResume() オーバーライド:


静的マネージャー内での CursorLoader の生成:


カーソル用の RecyclerView アダプター。現在スカイフィッシュを使用しています:

上記のように、これは以下でテストおよび検証されています。

  • Nexus 6のマシュマロ(6.0.1):動作
  • Galaxy S5 の Lollipop (5.0):動作しない
  • Galaxy S3 の Jelly Bean (4.3):動作しない

ここで何か不足していますか?さらにどこを見るべきかについてのヒントはありますか?

0 投票する
1 に答える
749 参照

android - DBFlow の「カウント」

DBFlowで次のステートメントを実行したい:

私が試したのは:

Flow オブジェクトにはcount()メソッドがありますが、DatabaseWrapperを引数として取りますが、これは率直に言ってわかりません。Table Column (つまり、Property ) を取ると予想していました。

どうすればこれを行うことができますか?

0 投票する
2 に答える
1765 参照

android - DBFlow + Retrofit による Android Sqlite マルチスレッド保存データ

DBFlow を使用してデータベースに保存し、Retrofit を使用して Web サービスを呼び出しています。私のレトロフィット クラスは、私のデータベース テーブルと同じクラスです。しかし、データをテーブルに保存するために 2 つ以上のスレッドが同時に起動されると問題が発生します。テーブルへの挿入によりデータが複製され、主キーも複製されます。その後、スレッドがクラッシュしたため、スレッドが停止しました。

その解決策はありますか?

Retrofit と DBFlow のクラス

レトロフィット対応のスレッド

スタックトレース