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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

0回答

1207閲覧

AndroidStudioのSpinnerとDatabaseについて

hatch0808

総合スコア6

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/09/07 08:31

編集2017/09/07 13:25

AndroidStudioで地図アプリを作っているのですが、情報の表示を切り替えられるようにスピナーを用意し、スピナーで切り替えてボタンを押すとデータベースに保存してある情報がマップに表示されるもの作ろうと思っていたのですがスピナーでの切り替え方がよくわからないです。
さらに、ちゃんとデータベースをAndroidStudio内で作ったのですが全く表示されないです。
なので、スピナーでの切り替え方とマップ上にデータベースに保存した情報を表示させるやり方を教えてほしいです。
文章力がないので文章がまとまってないですがよろしくお願いしますm(_ _)m
あと初めて間もないのでコードは汚いです。

java

1public class MainActivity extends AppCompatActivity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_main); 7 8 Button btnStart = (Button) findViewById(R.id.btnMapStart); 9 btnStart.setOnClickListener(new View.OnClickListener() { 10 11 @Override 12 public void onClick(View v) { 13 14 Intent intent = new Intent(getApplication(), MapsActivity.class); 15 startActivity(intent); 16 } 17 }); 18 } 19}

java

1public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 2 3 private GoogleMap mMap; 4 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.activity_maps); 9 // Obtain the SupportMapFragment and get notified when the map is ready to be used. 10 SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 11 .findFragmentById(R.id.map); 12 mapFragment.getMapAsync(this); 13 } 14 15 16 /** 17 * Manipulates the map once available. 18 * This callback is triggered when the map is ready to be used. 19 * This is where we can add markers or lines, add listeners or move the camera. In this case, 20 * we just add a marker near Sydney, Australia. 21 * If Google Play services is not installed on the device, the user will be prompted to install 22 * it inside the SupportMapFragment. This method will only be triggered once the user has 23 * installed Google Play services and returned to the app. 24 */ 25 @Override 26 public void onMapReady(GoogleMap googleMap) { 27 mMap = googleMap; 28 29 // Add a marker in Sydney and move the camera 30 //LatLng sydney = new LatLng(-34, 151); 31 //mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 32 //mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 33 34 mapInit(); 35 } 36 37 private void mapInit() { 38 39 // GoogleMapの初期設定 40 mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); 41 42 // 初期表示位置の指定 43 LatLng location = new LatLng(35.690921, 139.700258); // 新宿にする 44 CameraPosition camerapos = new CameraPosition.Builder().target(location).zoom(15.5f).build(); 45 mMap.moveCamera(CameraUpdateFactory.newCameraPosition(camerapos)); 46 47 // UI セッティング 48 UiSettings ui = mMap.getUiSettings(); 49 ui.setCompassEnabled(false); 50 ui.setRotateGesturesEnabled(false); 51 ui.setScrollGesturesEnabled(true); 52 ui.setTiltGesturesEnabled(false); 53 ui.setZoomControlsEnabled(false); 54 ui.setZoomGesturesEnabled(true); 55 56 markersSet(); 57 58 } 59 60 private void markersSet() { 61 62 // マーカーの設定 63 MarkerOptions options = new MarkerOptions(); 64 options.draggable(false); 65 ArrayList<ShopInfo> list = getShopInfoes(); 66 for( ShopInfo tmp : list) { 67 options.position(tmp.getPosition()); 68 options.title(tmp.getName()); 69 options.snippet(tmp.getInformation()); 70 71 mMap.addMarker(options); 72 } 73 74 } 75 76 private ArrayList<ShopInfo> getShopInfoes() { 77 78 /* 79 ArrayList<ShopInfo> ary = new ArrayList<ShopInfo>(); 80 81 ShopInfo tmp1 = new ShopInfo(); 82 tmp1.setPosition(new LatLng(35.696346, 139.698336)); 83 tmp1.setName("ラーメン二郎"); 84 tmp1.setInformation("こってこてのラーメン。完食は難しい!(7/14)"); 85 ary.add(tmp1); 86 87 ShopInfo tmp2 = new ShopInfo(); 88 tmp2.setPosition(new LatLng(35.6990042, 139.6968819)); 89 tmp2.setName("もちもちの木"); 90 tmp2.setInformation("スープがあっつい!(7/8)"); 91 ary.add(tmp2); 92 93 ShopInfo tmp3 = new ShopInfo(); 94 tmp3.setPosition(new LatLng(35.696594, 139.696601)); 95 tmp3.setName("麺屋 翔 本店"); 96 tmp3.setInformation("美味しい塩味ラーメンを味わえる!!!"); 97 ary.add(tmp3); 98 */ 99 100 ShopInfoSQLiteOpenHelper helper = new ShopInfoSQLiteOpenHelper(this); 101 ArrayList<ShopInfo> ary = helper.findAll(); 102 return ary; 103 } 104}

java

1public class ShopInfo { 2 3 public int getCategory() { 4 return category; 5 } 6 7 public void setCategory(int category) { 8 this.category = category; 9 } 10 11 public String getInformation() { 12 return information; 13 } 14 15 public void setInformation(String information) { 16 this.information = information; 17 } 18 19 public String getName() { 20 return name; 21 } 22 23 public void setName(String name) { 24 this.name = name; 25 } 26 27 public LatLng getPosition() { 28 return position; 29 } 30 31 public void setPosition(LatLng position) { 32 this.position = position; 33 } 34 35 public int getStar() { 36 return star; 37 } 38 39 public void setStar(int star) { 40 this.star = star; 41 } 42 43 private int category; // お店のカテゴリ 44 private String name; // お店の名前 45 private LatLng position; // お店の場所情報 46 private String information; // 情報 47 private int star; 48} 49

java

1public class ShopInfoSQLiteOpenHelper extends SQLiteOpenHelper { 2 public ShopInfoSQLiteOpenHelper(Context context) { 3 super(context, "RECOM_DB", null, 1); 4 } 5 6 @Override 7 public void onCreate(SQLiteDatabase db) { 8 db.execSQL("CREATE TABLE SHOPINFO" 9 + "(_id INTEGER PRIMARY KEY autoincrement, name TEXT, information TEXT," 10 + "star INTEGER, lat REAL, lng REAL, category INTEGER)"); 11 12 db.execSQL("INSERT INTO SHOPINFO VALUES (1, 'ラーメン二郎(Test)'', 'こってこてのラーメン。完食は難しい!', 3, 35.696346, 139.698336, 1)"); 13 db.execSQL("INSERT INTO SHOPINFO VALUES (2, 'もちもちの木(Test)', 'スープがあっつい!', 4, 35.6990042, 139.6968819, 1)"); 14 db.execSQL("INSERT INTO SHOPINFO VALUES (3, 'サイゼリア(Test)', '手軽にドリア!', 3, 35.697401, 139.6973857, 2)"); 15 db.execSQL("INSERT INTO SHOPINFO VALUES (4, '麺屋 翔 本店(Test)', '美味しい塩味ラーメンを味わえる!!!', 3, 35.696594, 139.696601, 1)"); 16 } 17 18 @Override 19 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 20 21 } 22 23 24 // 全てのデータを検索 25 public ArrayList<ShopInfo> findAll() { 26 ArrayList<ShopInfo> ary = new ArrayList<ShopInfo>(); 27 SQLiteDatabase database = getReadableDatabase(); 28 if ( database == null ) { 29 try { 30 Cursor cur = database.query("SHOPINFO", 31 new String[]{"name", "information", "lat", "lng"}, null, null, null, null, null); 32 while (cur.moveToNext()) { 33 ShopInfo tmp = new ShopInfo(); 34 tmp.setName(cur.getString(0)); 35 tmp.setInformation(cur.getString(1)); 36 double lat = cur.getDouble(2); 37 double lng = cur.getDouble(3); 38 tmp.setPosition(new LatLng(lat, lng)); 39 ary.add(tmp); 40 41 } 42 43 } finally { 44 database.close(); 45 } 46 } 47 return ary; 48 } 49 50 // ファミレスだけを検索 51 public ArrayList<ShopInfo>findByCategory(int kind) { 52 ArrayList<ShopInfo> ary = new ArrayList<ShopInfo>(); 53 SQLiteDatabase database = getReadableDatabase(); 54 if ( database == null) { 55 try { 56 String kindStr = String.valueOf(kind); 57 Cursor cur = database.query("SHOPINFO", 58 new String[]{"name", "information", "lat", "lng"}, 59 "category=?", new String[]{kindStr}, null, null, null); 60 while ( cur.moveToNext()) { 61 ShopInfo tmp = new ShopInfo(); 62 tmp.setName(cur.getString(0)); 63 tmp.setInformation(cur.getString(1)); 64 double lat = cur.getDouble(2); 65 double lng = cur.getDouble(3); 66 tmp.setPosition(new LatLng(lat, lng)); 67 } 68 } finally { 69 database.close(); 70 } 71 } 72 return ary; 73 } 74}

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問