初めまして。初心者で分からない為ご指導お願いします。

1 251 просмотр
Перейти к первому непрочитанному сообщению

mhs.an...@gmail.com

не прочитано,
18 сент. 2013 г., 05:22:0718.09.2013
– android-g...@googlegroups.com
初めまして。
今、Google Maps Android API v2 を実装してGoogleMapを出そうとしているのですがエラーが
続出し、実機で動作確認を行おうとしたらエラーで落ちてしまいます。
何がいけないのでしょうか。もう3日も悩んでいるので助けてください。
APIkeyの取得やライブラリの設定はできております。
以下にソースコードとエラー一覧を記載致します。
よろしくお願いします。
 
 
UseMapV2Activit.java
 
package com.example.usemapv2;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.UiSettings;
import android.os.Bundle;
import android.app.Activity;
import android.app.FragmentManager;
public class UseMapV2Activity extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_use_map_v2);
 }
 @Override
 protected void onResume() {
  // TODO 自動生成されたメソッド・スタブ
  super.onResume();
  FragmentManager fManager = getFragmentManager();
  MapFragment mfragment = (MapFragment) fManager.findFragmentById(R.id.map01); 
  GoogleMap mMap = mfragment.getMap();    
  UiSettings settings = mMap.getUiSettings();   
  settings.setCompassEnabled(true);
  // ズームイン・アウトボタンの有効化
  settings.setZoomControlsEnabled(true);
  // 回転ジェスチャーの有効化
  settings.setRotateGesturesEnabled(true);
  // スクロールジェスチャーの有効化
  settings.setScrollGesturesEnabled(true);
  // Tlitジェスチャー(立体表示)の有効化
  settings.setTiltGesturesEnabled(true);
  // ズームジェスチャー(ピンチイン・アウト)の有効化
  settings.setZoomGesturesEnabled(true);
  mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);   
  mMap.setMyLocationEnabled(true);     
 }
}
 
.xml
<RelativeLayout 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=".UseMapV2Activity" >
 <fragment  
     android:id="@+id/map01"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
    
     class="com.google.android.gms.maps.MapFragment" />
</RelativeLayout>
 
エラー一覧
09-18 18:13:23.296: E/AndroidRuntime(8361): FATAL EXCEPTION: main
09-18 18:13:23.296: E/AndroidRuntime(8361): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.usemapv2/com.example.usemapv2.UseMapV2Activity}: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1695)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1711)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.app.ActivityThread.access$1500(ActivityThread.java:120)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:952)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.os.Handler.dispatchMessage(Handler.java:99)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.os.Looper.loop(Looper.java:130)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.app.ActivityThread.main(ActivityThread.java:3759)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at java.lang.reflect.Method.invokeNative(Native Method)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at java.lang.reflect.Method.invoke(Method.java:507)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at dalvik.system.NativeStart.main(Native Method)
09-18 18:13:23.296: E/AndroidRuntime(8361): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:218)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.app.Activity.setContentView(Activity.java:1657)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at com.example.usemapv2.UseMapV2Activity.onCreate(UseMapV2Activity.java:16)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1659)
09-18 18:13:23.296: E/AndroidRuntime(8361):  ... 11 more
09-18 18:13:23.296: E/AndroidRuntime(8361): Caused by: java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.system.PathClassLoader[/data/app/com.example.usemapv2-2.apk]
09-18 18:13:23.296: E/AndroidRuntime(8361):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.view.LayoutInflater.createView(LayoutInflater.java:471)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:549)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66)
09-18 18:13:23.296: E/AndroidRuntime(8361):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
09-18 18:13:23.296: E/AndroidRuntime(8361):  ... 20 more
以上ですがお力をお貸しください。
お願いいたします。

Kazuyuki Eguchi

не прочитано,
18 сент. 2013 г., 05:40:0818.09.2013
– android-g...@googlegroups.com
こんばんは
江口です。

私はやったことはないので、わからないですが、グーグル先生に聞いてみたら

検索キーは『Error inflating class fragment』です。

http://stackoverflow.com/questions/17322567/error-inflating-class-fragment-android-map-v2

が見つかって、XMLファイルの

class="com.google.android.gms.maps.MapFragment"


"com.google.android.gms.maps.SupportMapFragment"

とかに変えたら、動いたりしませんか?

合っているか?はわかりませんが、ご参考までに
Kazuyuki Eguchi


2013年9月18日 18:22 <mhs.an...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。

mhs.an...@gmail.com

не прочитано,
18 сент. 2013 г., 06:06:2118.09.2013
– android-g...@googlegroups.com
素早い回答ありがとうございます。
 
xmlファイルを指摘通り訂正してみたのですが、エラーで落ちてしましました。
 
またSDKのバージョンは
Minimum Required SDK : API 8
Target SDK : API 17
で行っております。
 
助けてください。
お願いいたします。

2013年9月18日水曜日 18時22分07秒 UTC+9 mhs.an...@gmail.com:

Makoto Yamazaki

не прочитано,
18 сент. 2013 г., 06:06:2518.09.2013
– android-g...@googlegroups.com
zaki です。

もしかして 2系の端末で動かそうとしてないでしょうか。
2系で レイアウト XML に fragment タグを使う場合は Support Library v4 の
FragmentActivity を継承する必要がります。


2013/9/18 <mhs.an...@gmail.com>

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com にメールを送信します。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
YAMAZAKI Makoto

mhs.an...@gmail.com

не прочитано,
18 сент. 2013 г., 06:16:5918.09.2013
– android-g...@googlegroups.com
zaki さん
回答ありがとうございます。
 
パスを通して継承させてもやってみたのですが、やはりダメでした。
 
他に何か考えられることはございますでしょうか。
 
みなさん知恵を貸してください。
お願いいたします。

2013年9月18日水曜日 18時22分07秒 UTC+9 mhs.an...@gmail.com:
初めまして。

Kazuyuki Eguchi

не прочитано,
18 сент. 2013 г., 06:21:2118.09.2013
– android-g...@googlegroups.com
こんばんは 
江口です。

落ちると言うのは、みんな同じエラーなのでしょうか!?

地図系でよくあるのが、通信のパーミッション忘れがありますが、エラーの内容はXML云々ですからね。

関係はないかと思いますがご参考までに
Kazuyuki Eguchi


--

Shin Miyazaki

не прочитано,
19 сент. 2013 г., 03:21:2419.09.2013
– android-g...@googlegroups.com
こんにちは、みやざきです。

Minimum Required SDK : API 8

としておきながら

Activity#getFragmentManager
FragmentManager#findFragmentById

などを使用していれば、Android Lintにエラー扱いされるはずです。
実際のコードには、これを回避するために @SuppressLint("NewApi") なんか
書いていませんか? もしくはLintを無効にしているとか。
提示されたログを見る限り、実行した実機は2.x(少なくとも4.xではない)なので、
Activityの派生クラスからはfragmentを使用したレイアウトは読めず
提示されたログのような例外を吐きます。

2.x系で (Support)MapFragment を使用するにはアクティビティは
zakiさんがおっしゃる通り FragmentActivity を継承しなければなりませんし、
レイアウトに指定するフラグメントクラスは、江口さんご指摘の通り
SupportMapFragmentの方です。




2013年9月18日 19:06 <mhs.an...@gmail.com>:

--
Ответить всем
Отправить сообщение автору
Переслать
0 новых сообщений