• ベストアンサー
  • 困ってます

androidアプリ開発で困っています。

すれ違い通信ができるandroidアプリ開発をしているのですが、どうしてもわからないところがあります。 現在、googleのサンプルアプリであるbluetoothchatをいじって、起動時の画面にマップを加えるように改造しています。 そのために起動時に表示するxmlに <fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment"/> を加えてマップが表示できるようにしたのですが、実端末でプログラムを動かそうとしたところ最初の黒い画面が出た直後に「問題が発生しました」という表示がでてプログラムがとまってしまいます。 buttonなど、fragment以外のものを追加した場合は問題は発生しませんでした。 どうしてもbluetoothcatを組み合わせてマップが表示できるようにしたいのですが、どうすればよいでしょうが?

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数259
  • ありがとう数10

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

http://workpiles.com/2014/03/android-googlemap-supportmapfragment/ の方の問題とは違うのでしょうかね?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

解決しました。継承するものをActivityからFragmentActivityに変更したらできました。 助けていただいて、本当にありがとうございました。

関連するQ&A

  • AndroidのFragmentの画面遷移について

    AndroidのFragmentを使った画面遷移のプログラムが、実機で動作確認をしようとした瞬間、「問題が発生したため・・・・」と出て、動きません。ビルドは問題ないので、レイアウトが怪しいと思うのですが、わかりません。 ----------------------fragment_first.xml------------------------ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.ya_ka_do.test001.FirstFragment"> <!-- TODO: Update blank fragment layout --> <TextView android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:text="@string/hello_blank_fragment" /> </FrameLayout> ----------------------MainActivity.java-------------------------- protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); FirstFragment firstfragment = new FirstFragment(); fragmentTransaction.replace(R.id.container,firstfragment); fragmentTransaction.commit(); } です。他は、とくに変更してないのですがどこか間違ってますか?

  • マップとボタン同時表示|AndroidStudio

    下記のサイトを参考にしてボタンとマップを同時に表示させるxmlを記述したつもりなのですが、 実行すると一瞬だけボタンが映り、その後はマップのみが表示されました。 https://groups.google.com/forum/?hl=ja&fromgroups#!topic/shikokugtug/NGseYmNKQQQ 何がおかしいのでしょうか。 記述したxmlは以下の通りです。 ちなみにfragmentをwrap_contentに変更しても同じでした。 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent" android:layout_width="match_parent"> <fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.example.~.MapsActivity" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" android:name="com.google.android.gms.maps.SupportMapFragment" /> <LinearLayout android:id="@+id/level" android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:id="@+id/large_up" android:text="@string/large_up" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/large_down" android:text="@string/large_down" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/small_down" android:text="@string/small_down" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/small_up" android:text="@string/small_up" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> </FrameLayout>

  • androidアプリ開発 -間違い探しアプリ-

    androidの間違い探しアプリを作ろうと思っています。 イメージ的には背景用のImageViewに画像を表示して、 間違っている箇所にカラのImageViewを載せ、 ImageViewがクリックされたら正解というような仕組みにしようと思っています。 そこで、下記コードを書いています。 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical" > <ImageView android:id="@+id/mainImage" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/stage1" ></ImageView> <ImageView android:id="@+id/onImage" android:layout_width="40dip" android:layout_height="40dip" android:layout_marginLeft="240dp" android:layout_marginTop="180dp" android:onClick="seikai" /> </RelativeLayout> が、解像度や画面サイズによってカラのImageViewの場所が変わってしまい、うまくいきません。 resフォルダ内に 「layout-land-hdpi」 「layout-land-ldpi」 「layout-land-mdpi」 「layout-land-xhdpi」 フォルダを作り、解像度ごとに位置の微調整は行なっていますが、 画面サイズが異なるとやはりずれてしまいます。 解像度、画面サイズにかかわらず位置を固定する方法はないのでしょうか。 ない場合はやはり画面サイズと解像度すべての条件のxmlを作成する必要がありますか。 また、そもそも 「イメージ的には背景用のImageViewに画像を表示して、間違っている箇所にカラのImageViewを載せる」やり方が間違っているのでしょうか。

  • Android開発についての初心者質問です。

    Android開発についての質問です。初心者でAndroidアプリを作っています。 初心者でAndroidアプリを作っています。 XMLからの実装をしたいのですが、 やり方がよく分かりません。 どなたかご教授頂けないでしょうか? よろしくお願いいたします。 やりたいことは、imageButtonをクリックしたら imageViewの画像部分が変わる。 imageButton1をクリック → imageView1が表示 imageButton2をクリック → imageView2が表示 デフォルトでは、imageView1が表示している状態 buttonのリスナーを登録するのが関の山で、ボタンクリック時の imageView表示切替処理等ちんぷんかんぷんです。 XMLはこういった感じで書いてます。 よろしくお願いいたします。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <FrameLayout android:id="@+id/frameLayout1" android:layout_height="wrap_content" android:foregroundGravity="center" android:layout_width="match_parent" > <ImageView android:layout_height="wrap_content" android:src="@drawable/icon" android:id="@+id/imageView1" android:layout_gravity="center" android:layout_width="match_parent" > </ImageView> </FrameLayout> <LinearLayout android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:layout_width="match_parent" > <ImageButton android:id="@+id/imageButton1" android:layout_height="wrap_content" android:src="@drawable/icon" android:layout_width="wrap_content" > </ImageButton> <ImageButton android:id="@+id/imageButton2" android:layout_width="wrap_content" android:src="@drawable/icon" android:layout_height="wrap_content" > </ImageButton> <ImageButton android:id="@+id/imageButton3" android:layout_width="wrap_content" android:src="@drawable/icon" android:layout_height="wrap_content" > </ImageButton> </LinearLayout> </LinearLayout>

  • androidアプリ開発について

    androidアプリ開発初心者です。 やりたいことは、 スタートボタンを押して、自分のお気に入りのページに飛び、(例えばオークションなど)サイトを表示させ、何分間ごとに更新できるループ処理?などができればいいなと考えています。 スタートボタンを押してサイトを表示するまでは何とか作れたのですが、それ以降をどのように作ったらいいのか分かりません。 初心者的な質問で申し訳ないのですが、どのように書いたらよいのか教えてください。 コードはこのようになっています。 <<main.xml>> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="192dp" android:layout_height="wrap_content" android:text="スタート" /> </LinearLayout> <<MainActivity.java>> import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { Button btn =null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn=(Button)findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ Uri uri =Uri.parse("http://"); Intent intent=new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(uri); startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } 長文で申し訳ありません。どうぞ宜しくお願い致します。

  • Androidアプリ Listviewが

    アドバイスください。初心者です。Listviewを作りたいだけなんです。”データがありません”と表示されてしまいます・・。 ●layout(.xml) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/android:list" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <TextView android:id="@+id/android:empty" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="データが存在しません"/> </LinearLayout> ●listview(.java) import android.app.Activity; import android.app.ListActivity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; //ListActivityを継承 import com.example.yamato.myapplication001.R; public class listview extends ListActivity { private String[] items = { "a10", "a11", "a21", "b10" }; //(2) // private String[] items = {};(2) @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //リストビューを含むレイアウト指定(1) setContentView(R.layout.activity_main_activity001); // ArrayAdapterオブジェクトの生成 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items); // Adapterの指定 setListAdapter(adapter); // ListActivity内部にあるListViewオブジェクトを取得する場合 ListView listView = getListView(); // ListViewオブジェクトを取得したので以下のメソッド等が利用できる // 選択する要素の位置の指定 listView.setSelection(3); } } ソースは参考本からです。

  • Androidアプリの開発について

    アンドロイドアプリ開発の勉強をしておりますが 全くの素人のためご教授願います。 以下で、氏名1を選択すると、勤務表が表示されるのですが スクロールされずに悩んでおります。 自分なりに調べてみると XMLでScrollViewの中にTextViewを入れれば スクロールされるようなのですが、うまくスクロールされません。 どのように記述すれば、スクロールされるのでしょうか? 以上、宜しくお願いいたします。 package test.kintai; /**import java.nio.charset.Charset; */ import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.widget.TextView; public class kintai extends Activity implements DialogInterface.OnClickListener{ /** Called when the activity is first created. */ public AlertDialog _alertDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } public void onResume(){ super.onResume(); CharSequence[] _char = {"氏名1","氏名2","氏名3","氏名4","氏名5","氏名6","氏名7"}; _alertDialog = new AlertDialog.Builder(this) .setTitle("勤務表") .setCancelable(false) .setItems(_char, this).show(); } @Override public void onClick(DialogInterface dialog, int which) { setContentView(R.layout.main); if(_alertDialog == dialog){ TextView display = new TextView(this); switch(which){ case 0: display.setText("氏名1\n" + "\n" + "2011年4月\n" + "\n" + " 1日(日) 休\n" + " 2日(月) 夜勤\n" + " 3日(火) 休\n" + " 4日(水) 休\n" + " 5日(木) 休\n" + " 6日(金) 夜勤\n" + " 7日(土) 休\n" + " 8日(日) 休\n" + " 9日(月) 日勤\n" + "10日(火) 日勤\n" + "11日(水) 日勤\n" + "12日(木) 日勤\n" + "13日(金) 夜勤\n" + "14日(土) 休\n" + "15日(日) 休\n" + "16日(月) 日勤\n" + "17日(火) 日勤\n" + "18日(水) 日勤\n" + "19日(木) 日勤\n" + "20日(金) 夜勤\n" + "21日(土) 休\n" + "22日(日) 休\n" + "23日(月) 日勤\n" + "24日(火) 日勤\n" + "25日(水) 日勤\n" + "26日(木) 日勤\n" + "27日(金) 夜勤\n" + "28日(土) 休\n" + "29日(日) 休\n" + "30日(月) 日勤\n" + "31日(火) 日勤\n"); break; case 1: display.setText("氏名2"); break; case 2: display.setText("氏名3"); break; case 3: display.setText("氏名4"); break; case 4: display.setText("氏名5"); break; case 5: display.setText("氏名6"); break; case 6: display.setText("氏名7"); break; } setContentView(display); } } } --------------- ■main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/display" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </ScrollView> </LinearLayout>

  • Android開発(Listview)について

    Androidアプリ開発における listviewについて質問させてください。 以下で、東京都,神奈川県,千葉県,埼玉県,茨城県,栃木県,群馬県と表示されています。 東京をクリックしたら、新宿、上野、秋葉原 千葉をクリックしたら、千葉、市川、船橋 といったように、さらに地域を絞っていきたいと考えています。 どのような方法で、実現できるか アドバイスして頂けると助かります。 ■searchActivity.java import android.app.Activity; import android.os.Bundle; import android.widget.*; public class searchActivity extends Activity { private ListView list; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); String[] arr = {"東京都","神奈川県","千葉県","埼玉県","茨城県","栃木県","群馬県"}; // コンポーネントの設定 list = (ListView)this.findViewById(R.id.list); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list, arr); list.setAdapter(adapter); } } ■main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textSize="20sp" android:background="#ffffff" > <ListView android:id="@+id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout> ■list.xml <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textSize="20sp" android:paddingTop="50.0px" android:paddingLeft="20.0px" android:background="#ffffff" android:textColor="#000000" /> 以上、宜しくお願いいたします。

  • Androidアプリ 通信について

    JAVAのカテゴリでご回答が得られなかったのでこちらにも投稿いたします。 タブレット(ICONIA TAB A200 (OS:Android4.0.6))から 無線LANで接続されたPC(SONY製 ネットブック (OS:windows 7 32bit))へ UDPのパケットを送信しようと考えています。 ボタンを押したら文字列"AAA"を送信するだけのものですがボタンを押しても PCにデータが届きません。 PC側はフリーでダウンロードしたUDP/IPツールを使っていますが、 これは使用実績がありますので、問題ないかと思います。 他の方が作られたUDPパケット送信アプリを使うとうまく送信できているので、 タブレットが通信できないということはなさそうです。 問題なのはアンドロイドのアプリ側だと考えています。 パケットキャプチャソフトで見ても特にパケットはPCにきていなさそうです。 PCからアンドロイドタブレットへPing(ICMPパケット)を送ると、ちゃんと応答があります。 どこかプログラムでおかしいところ、抜けていること、余計なことがありますでしょうか? (通信部分に関してお願い致します。) タブレットのIPアドレス192.168.0.3 PCのIPアドレス192.168.0.5 <アンドロイド アプリ main.java> package my.Package.Tabtest; import java.io.IOException; import java.net.*; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.TextView; import android.widget.Toast; public class TabtestActivity extends Activity { public DatagramSocket ds; public DatagramPacket dp; public int i; private TextView mytv; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mytv = (TextView)findViewById(R.id.tv1); } public void btn_on(View v){ i++; mytv.setText(String.format("COUNT:%d",i)); try{ InetSocketAddress remoteAddress = new InetSocketAddress("192.168.0.5",42000); dp = new DatagramPacket("AAA".getBytes(), 4, remoteAddress); //Socket の設定,通常の Java と同じ ds = new DatagramSocket(); //DatagramSocket 作成 ds.send(dp); // try catch で利用 } catch(Exception e){ i++; i++; i++; } } } <アンドロイド アプリ レイアウトファイル main.xml> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:id="@+id/tv1" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="PUSH HERE!!!!!!" android:onClick="btn_on" /> </LinearLayout>

  • 目的のシークバー表示されなく別のシークバー表示

    EclipseのAndroid プログラム作成で目的のシークバー1(画像添付 参照)表示されなく、別のシークバー2(別(画像添付 参照)が表示される。 質問 1 目的のシークバー1(画像添付)を表示されなく、別のシークバー2が表示(画像添付)される理由を教えてください。  質問 2 目的のシークバー1(画像添付) を表示される方法を教えてください。 ○動作環境項目  O S : windows8.1 Eclipse :eclipse KEPLER servicie Release 2 Androidバージョン:  Android 4.2.2 ○目的シークバー   (画像添付) シークバー1 ○別のシークバー   (画像添付) シークバー2 ○XMLコード(Main.xml)  <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="バーをドラッグしてください。" /> <SeekBar android:id="@+id/seekBar1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingRight="20px" android:max="100" /> </LinearLayout>