問題タブ [activeandroid]
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.
android - ActiveAndroid ライブラリと外部キー
AndroidでSQLiteを操作するためにアクティブなAndroidを使用しています。
たとえば、Pets
この構造を持つ次のテーブルがあります。
という 2 番目のテーブルに、テーブルAchievements
の への外部キーがあることを示すにはどうすればよいですか。primary_key
Pets
これは私はこのようなことをしています
android - アクティブなAndroidデータベーステーブルに列を追加するには?
Active Android
Androidアプリでsqllite操作を実行するために使用しています。以下はモデルクラスです。
これに新しい列を追加したいと思います。そこで、 Active Android の Schema Migration Doc の指示に従いました。
a. を更新しましたAA_DB_VERSION
b. に新しい sql ファイルを追加しましたassets/migrations
次に、アプリを実行すると、以下の例外が発生します
これは、失敗している MyApplication の Create メソッドです。
移行スクリプト: (2.sql)
このエラーが発生する理由を教えてください。
android - ActiveAndroid スキーマ移行 DB バージョン、バージョンを部分的にインクリメントできますか?
ActiveAndroid には、フォルダー内<db_version>.sql
のファイルとして指定されたスキーマの移行があることをおそらくご存知でしょう。assets/migrations
移行ファイルを含む db バージョン2があります2.sql
私の次のバージョンは3と migrationでなければなり3.sql
ませんか、それとも次のようなことができますか?
DB バージョン - 2.1
移行ファイル: 2.1.sql
?
android - Activeandroid でモデルのスキャンを無効にする方法
AA_MODEL タグを使用して AndroidManifest.xml ファイルにモデル クラスを定義し、自動検索を無効にしたいと考えています。現在、アプリケーションの起動時に次のようなエラーが発生するためです。
適切に行う方法は?明確に定義された AA_MODEL タグの例を教えてください。
android - Gingerbread で実行すると ActiveAndroid アプリが自動終了する
Android Studio と Gradle で開発されたアプリがあります。アプリは ActiveAndroid を使用しています。アプリは 3.0 以降で完全に動作します。Gingerbread デバイスで実行すると、白い画面が開き、自動的に閉じます。アプリの実行時に logcat に表示される唯一の手がかりは次のとおりです。
私のgradleファイルは次のようになります:
Gingerbread を実行しているローエンドの Samsung 電話と、2.3.7 を実行している Gennymotion エミュレーターで試しました。デバッグ後、ActiveAndroid.initialize メソッド内で scanForModel メソッドを実行すると、アプリがハングすることがわかりました。
前もって感謝します
android - ListView 仮想化をサポートするために ActiveAndroid からデータを取得する方法
私の知る限り、Android のリストビューは仮想化されたデータを表示する (つまり、目に見えるものだけをロードする) ため、可能な限り高速です。
データベースから取得するデータが大量にあり (約 2000 ですが、フィールドには大量のデータがあります)、AsyncTask で ActiveAndroid を使用してそれらを取得します。
残念ながら、AA を使用した AsyncTask はデータを取得するのに約 10 ~ 15 秒かかるため、その間プログレスバーが表示されます。
私はこのコードで彼を取得します:
どうにかしてデータ取り出しを仮想化して読み込みを高速化すると良いでしょう。
また、リスト全体を検索するリストビューでの検索も使用します。を考えるのも良いでしょう。
何を指示してるんですか?どのように進めればよいですか?
android - ActiveAndroid: サブクエリ?
データベースとの対話用のアプリで ActiveAndroid を使用しています。いくつかのテーブルを結合し、結果をフィルター処理する必要があります。これは通常、サブクエリを含む SQL クエリを使用して実行します。
ActiveAndroid を使用してサブクエリを実行するにはどうすればよいですか?
サブクエリを実行できない場合、一意のモデル オブジェクトのみを返す方法はありますか? 私のクエリの結合は、結合テーブルに重複する行を作成する効果がありますが、各モデルのインスタンスを 1 つだけ返す必要があります。
編集:詳細情報の提供
取得しようとしているモデルは Profile と呼ばれます。
クエリに関しては、Profiles、Roles、および ProfileRoleJoins の 3 つのテーブルがあります。
プロファイルとロールの間には多対多の関係があり、その関係は ProfileRoleJoins と呼ばれる結合テーブルによって維持されます。
私の目標は、特定の「event_id」を持ち、役割タイプのリストで指定された 1 つ以上の役割に接続されているすべてのプロファイルを取得することです。
このクエリで興味深いのは、次のフィールドです。
プロフィール
- ID
- event_id (外部キーではなく、単なるデータ フィールド)
役割
- ID
- タイプ (テキスト)
プロファイル役割ジョイン
- プロファイル (外部キー)
- ロール (外部キー)
私が試したこと
上記のクエリには、重複したプロファイルが返されるという問題があります。これは、単一のプロファイルが複数のロールに関連付けられ、結合プロセス中に重複が作成されるためです。
一意のプロファイルのリストを取得する必要があります。
を使用してみDistinct()
ましたが、その修飾子は列のセットごとに適用されます。プロファイル全体が必要です。
通常、一意性を達成する方法は、上記のクエリをサブクエリで実行し、DISTINCT Profiles.Id 値のみを返すことです。次に、元の Profiles テーブルに対してメイン クエリでフィルターを実行します。
android - ActiveAndroid 移行はエラーではありません (コード 0)、構文エラーです
ActiveAndroid は移行で「not in」構文をサポートしていませんか? ActiveAndroid は移行でサブクエリをサポートしていませんか?
移行を実行しているときに、次のような例外に遭遇しました。
java.lang.RuntimeException: アプリケーション com.example.app.YourApp を作成できません: android.database.sqlite.SQLiteException: エラーではありません (コード 0)
または
java.lang.RuntimeException: アプリケーション com.example.app.YourApp を作成できません: android.database.sqlite.SQLiteException: "in" の近く: 構文エラー (コード 1): 、コンパイル中: _id が含まれていないコレクションから削除