質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

1644閲覧

sqlite内のデータをlistview以外で表示させる方法を教えてください

hamusuke1

総合スコア12

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2016/10/06 05:55

編集2016/10/06 14:19

java

1public class Main3Activity extends AppCompatActivity { 2 3 ListView myListView; 4 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.activity_main3); 9 10 myListView = (ListView)findViewById(R.id.itemListView); 11 12 MyOpenHelper helper = new MyOpenHelper(this); 13 14 SQLiteDatabase db = helper.getReadableDatabase(); 15 16 Cursor c = db.rawQuery( "select * from Shops order by Rating desc",null); 17 //表示するカラム名 18 String[] from = {"Shopname","Foodname","Nitizi","Rating"}; 19 //バインドするViewリソース 20 int[] to = {R.id.item_tenpo,R.id.item_ryori,R.id.item_nitizi,R.id.item_rating}; 21 22 //adapter生成 23 SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.activity_three_line_list_item,c,from,to,0); 24 25 //bindして表示 26 myListView.setAdapter(adapter); 27 28 //クリックしたとき各行のデータ(特に_id)を取得 29 myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 30 @Override 31 public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 32 33 //各要素を取得 34 String s1 = ((TextView) view.findViewById(R.id.item_tenpo)).getText().toString(); 35 String s2 = ((TextView) view.findViewById(R.id.item_nitizi)).getText().toString(); 36 Intent intent = new Intent(Main3Activity.this,Main3List.class); 37 intent.putExtra("LIST_TIME",s2); 38 //データを渡すために 39 //putExtra(name, value) を追加します 40 //渡すデータの name とデータを putExtra に入れます 41 startActivity(intent); 42 Log.v("tama", "position=" + s1); 43 Log.v("tama", "position=" + s2); 44 } 45 }); 46 47 48 while(c.moveToNext()){ 49 Log.v("tama", c.getString(c.getColumnIndex("Shopname"))); 50 } 51 52 53 } 54 } 55} 56

上記のコードのように、simplecursoladapterとsetadapterを使用してリストビューにsqlite内のデータを表示させることは可能なのですが

このスクショのようなrelativelayoutで作成したactivity_main3_list.xml(要素main_itemや要素right_item)
にsqlite内の値を表示させるためにはどのような方法がありますか
やはりsimplecursoladapterはlistviewにしか使用できないのでしょうか。
また、sqlite内に写真のパスを保存しているのですが、その写真のパスをsqliteから呼び出して、スクショ画像のカメラアイコンの下のimageviewに表示させるためにはどのような方法がありますか
ご回答よろしくお願いします

java

1public class Main3List extends AppCompatActivity { 2 3 public String kensakuword; 4 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.activity_main3_list); 9 10 11 MyOpenHelper helper = new MyOpenHelper(this); 12 13 SQLiteDatabase db = helper.getReadableDatabase(); 14 15 16 kensakuword = getIntent().getStringExtra("LIST_TIME"); 17 //kensakuword(遷移元のputextraで渡された主キー)でsqlite内を検索 18 Cursor c = db.rawQuery("select Shopname,Foodname,Rating,Imagepath,Nitizi,Comment from Shops where Nitizi ='" + kensakuword + "'",null); 19 20 } 21}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

SQLiteDatabase#query等のメソッドを使ってデータベースにアクセスする方法を調べてください。

投稿2016/10/06 05:59

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hamusuke1

2016/10/06 06:10

すみません。再度質問させていただくのですが simplecursoladapterはlistviewにしか使用できないのでしょうか。 simplecursoladapterを利用してスクショ画像の各要素にデータをバインドさせたいと考えています。
yona

2016/10/06 06:17

できるけど面倒だし難しいのでオススメできません。 それともこのキャプチャが1行なんですか?
hamusuke1

2016/10/06 06:45

activity_main3_list.xmlのjavaファイル( Main3List.java)を追加しました。 カーソルはkensakuwordでデータをセレクトしているので、activity_main3_list.xmlに表示させたい横軸(ロー)1行のみをさしています。 このカーソルで指している内容全てを、スクショ画像の各要素にバインドさせたいです。 rawqueryメソッドを使用しています。
yona

2016/10/06 08:04

もともと知らなかった方法を回答で知った時はある程度自分なりに調べて知識をつけましょう。 疑問はそれからです。
hamusuke1

2016/10/06 09:02

すみません。はじめからこのことが質問したかったので できることなら教えていただけないでしょうか。
hamusuke1

2016/10/06 14:18

自分でしばらく考えてみたところ、解決できました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問