問題タブ [android-cursor]

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 投票する
4 に答える
5977 参照

android - GridViewでビューのIDを取得します

私が試したこと


こんにちはみんな、私は最初に3つの列、RowID、imageID、テキストで埋めたデータベースを作成しました。その後、GridViewを作成しました。これは、データベースに入力された場合に使用されます。これで、onItemClickListnerを作成しました。このリストで、位置のimageIDを取得します。その後、このimageIDの後にDBテーブルを検索して、テキストを取得します。これは、他のテーブルに保存する必要があります。問題は、私がimageIDを取得していないことだと思います。また、DBのnothinのこの検索のように、Logcatを見ると、nullであることがわかります。したがって、おそらくimageIDまたはIを取得できませんでした。私のDBAdapterで検索してください。

質問


重要: ついにビューthxのIDをFuzzialLogicに取得しましたが、それでも問題があり、カーソル上に行を取得できません。ぜひご覧ください!


作品

ユーザーがクリックした画像のIDを取得できるように、コードで何を変更する必要がありますか。その後、そのImage-IDを使用してDBを検索し、Imageとともに保存したテキストを取得します。このようなものは後で私の他のテーブルに入れられます。

ここに、CodeとLogCat-Logが表示されます。誰かが必要な場合は、DatabaseAdapterも追加しました。事前にあなたの助けをありがとう!

コード


SFilterConfigActivity.class:

ImageAdapter.class

このように、テキスト付きの写真をDBに追加しました。

Log-Cat


そしてここにログがあります:


ここに私のSmileyDBAdapterのコードがあります。

SmileyDB

DBAdapter


0 投票する
3 に答える
8104 参照

android - startManagingCursorの代わりにAndroidでCursorLoaderを使用して、データベースにアクセスする

私はAndroid開発に不慣れで、新しいAPIに少しこだわっています。役立つチュートリアルが見つからないようです。

SQLOpenHelperを備えたデータベースと、このような多くの例で使用されているデータベースアダプタがあります。データをリストに接続したいので、ListFragmentを作成しました。私が見たチュートリアルでは、ActivityでstartManagingCursor(c)メソッドを使用していますが、ドキュメントには、これは減価償却されており、CursorLoaderを使用すると記載されています。

CursorLoaderを使用するには、URIが必要なようです。これは、コンテンツプロバイダーが必要であることを意味します。アプリにコンテンツプロバイダーは必要ないので、これを実装する方法や、正しい/推奨される方法がわかりません。

正しい方向への突き出しは素晴らしいでしょう!

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

android - SimpleCursorAdapter と SQLiteDatabase を使用して ListViewItem に ID を追加する方法

私はこれをしばらく探していましたが、私の問題を解決するのに役立つものは何も見つかりません.

リストビューにカテゴリのリストがあります。これらを SQLiteDatabase からフェッチし、SimpleCursorAdapter を使用してリストに追加します。これはうまくいきます...

ここで、カテゴリをクリックすると、その特定のカテゴリのすべてのアイテムを表示する新しいアクティビティを起動したいと考えています。パラメータを新しいアクティビティに渡すことは問題ではありません - これを行う方法についての素晴らしいチュートリアルが見つかりました:データまたはパラメータを別のアクティビティに渡す

私の問題は、選択したビューからIDを取得できないことです...選択したカテゴリからIDを取得して、そのcategoryIdでアイテムを取得できるようにします。これは私がビューからIDを取得しようとする場所です-私は多くの異なる方法を使用しました(リストビュー、アイテム、位置をいじるなど...これは私の最近の試みです)そして何がわかりません次に試す...

誰かが同じ問題に遭遇したことがありますか?

これは問題が解決された方法です:

0 投票する
5 に答える
22068 参照

android - Android SQLite - カーソルと ContentValues

SQLite から ContentValues オブジェクトを取得する方法はありますか?

DB に ContentValues を挿入できることは非常に便利で、そこから CV を取得する方が便利です。

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

android - ContentProvider を使用せずにカーソル内のデータ変更を通知する

ContentProvider を使用せずに、新しいレコードがテーブルに挿入された後にカーソルを通知できますか?

私はこの質問を見ました-彼はそのrequery()方法を使用したと言いました。

そして最初の答えはContentProvider- 注:このデータをアプリケーション内でのみ使用したい

なにか提案を?

0 投票する
3 に答える
5468 参照

android - Android: sqlite: カーソル: getColumnIndex

正規化された sqlite データベースでかなり複雑なクエリ (複数の結合) があります。クエリは、SELECT *自動化された属性選択ロジックを有効にするために実行します (したがって、「*」を削除することはできません)。

私が抱えている問題は、結果セットに同じ属性名を持つ複数の列が含まれていることです。たとえば、クエリ内の各テーブルに共通する 1 つの属性は「_id」です。呼び出しに行くと"cursor.getColumnIndex("_id")"、返される値は常に"_id"結果セットの列リストの最後の属性のインデックスです (つまり、必要なものではありません)。SQL エイリアス プレフィックスを次のように使用できるようにしたいのです cursor.getColumnIndex("A._id")が、うまくいきません。

質問

  • cursor.getColumnIndex(AttributeName)最後の「AttributeName」のインデックスを返すようです。誰でもこれを確認できますか?
  • また、「AttributeName」で最初の属性のインデックスを返す方法に関する提案はありますか? 「AttributeName」を持つX番目の属性の方が良いですか?
0 投票する
1 に答える
4081 参照

android - 特定のフォルダーを使用して MediaStore Cursor を照会する

カーソルを使用して、メディア ベースの Listview のアイテムを返します。特定のフォルダにあるアイテムのみを返したいと思います。

このカーソルは MediaStore.Audio.Media.DATA に基づいているため、これは私の曲リストで機能し、カーソル内のフォルダーを確認できます。

ただし、アーティストのリストビューでは、DATA の結果を確認することはできません。

MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI特定のフォルダーのみを照会して返すための良い方法を教えてください。通常のメディア URI では使用できない NUMBER_OF_TRACKS 列を使用するため、アーティスト URI を使用する必要があります。

0 投票する
3 に答える
7954 参照

java - Android - データベースを閉じた後、SQLite カーソルを使用できますか?

最初に、私が間違っていたら訂正してください。しかし、データベース接続を閉じると、そこから取得した Cursor を使用できなくなりますよね?

データベースを閉じた後にカーソルを使用する方法はありますか? それを他の場所に渡して、オブジェクトのように使用する方法はありますか? または、カーソルの操作が完了するまで、常にデータベース接続を開いたままにしておく必要がありますか?

0 投票する
3 に答える
13342 参照

java - Android - SQLite の結果のカーソルを更新できますか?

私のメソッドの 1 つは、いくつかの SQLite クエリ結果から Cursor を返します。

カーソルをナビゲートしていると、変更/更新したいレコードがいくつかあります。カーソルで直接更新できますか? UPDATEまたは、カーソルのレコード IDを手動で使用する必要がありますか?

0 投票する
3 に答える
7173 参照

android - 列の 1 つによってカーソルを行に移動します

必要なデータをクエリした後、すべてのデータを保持するカーソルが表示され、Listview でユーザーに表示されます。

ユーザーがアイテムを編集するためにクリックすると、カーソルを正しい位置に移動しますcursor.moveToPosition(pos)。そこから、必要なすべてのアイテムのデータを取得できます: ID、タイトル、フォルダーかどうか、親フォルダー。

親フォルダー ID を取得したので、それを使用してアイテムのフォルダーのタイトルを取得し、アイテムが現在どのフォルダーにあるかをユーザーに表示するにはどうすればよいですか? 親の位置がわからず、その ID しかわからないため、移動先の位置を使用できません。

db の例を次に示します。

FOLDER列 -> 0 = フォルダーではない (false)、1 = フォルダー (true)

PARENT列 ->そのフォルダーのIDを保持します

例: ユーザーが item3 を編集します。カーソルを位置 2 (0 から開始) に移動します。ID=1 の item3 の親を取得します。ID=1 の TITLE を取得する方法を教えてください。

それが十分に明確であることを願っています:)ありがとう!