2013-06-17 2 views
0

에 새 fragmentActivity를 설정하면 Google지도 API로 작업해야하기 때문에 이미 Maps.class 클래스가 있으며 MainActivity에서 이벤트 후지도 작업을해야합니다. 확실하지 않습니다. 왜이 일을 isnt,하지만 난 정말 어떻게 해야할지 잘 모릅니다. (이벤트는 스크린 샷에 표시하기 위해 조각 작업과 함께 Maps 클래스를 호출합니다.)내 프로젝트에서 mainActivity

지도 클래스 :

import android.app.Dialog; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import com.google.android.gms.common.ConnectionResult; 
import com.google.android.gms.common.GooglePlayServicesUtil; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.Marker; 

public class Maps extends FragmentActivity { 

GoogleMap googleMap; 

Marker marker = null; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // Getting Google Play availability status 
    int status = GooglePlayServicesUtil 
      .isGooglePlayServicesAvailable(getBaseContext()); 

    // Showing status 
    if (status != ConnectionResult.SUCCESS) { // Google Play Services are 
               // not available 

     int requestCode = 10; 
     Dialog dialog = GooglePlayServicesUtil.getErrorDialog(status, this, 
       requestCode); 
     dialog.show(); 

    } else { // Google Play Services are available 

     // Getting reference to the SupportMapFragment of activity_main.xml 
     SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager() 
       .findFragmentById(R.id.map); 

     // Getting GoogleMap object from the fragment 
     googleMap = fm.getMap(); 
    } 
} 
} 

MainActivity 클래스 :

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentActivity; 
import android.view.View; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.model.Marker; 

public class MainActivity extends FragmentActivity { 

GoogleMap googleMap; 

Marker marker = null; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

public void teste(View view) { 
    Maps a = new Maps(); 
    MainActivity.this.finish(); 
} 
} 

편집 : 나의 새로운 매니페스트 XML :

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.mzubair.mapkey" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="8" /> 

<!-- android:name="YOUR_PACKAGE_NAME.permission.MAPS_RECEIVE" --> 
<permission 
    android:name="com.mzubair.mapkey.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="com.mzubair.mapkey.permission.MAPS_RECEIVE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 

<uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true" /> 

<application 
    android:icon="@drawable/common_signin_btn_icon_disabled_dark" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".Maps" 
     android:label="@string/app_name" > 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="AIzaSyCzeIVpUbL-HnxloaRbsOGxJbnAfP-tmpk" /> 
    </activity> 
</application> 

</manifest> 
+0

실제로'FragmentActivity'를 사용하고 싶지 않고'Map' 클래스에서'MapFragment'를 사용하려고합니다. – tyczj

+0

그 FragmentActivity는 MapActivity를 사용하여 인터넷에서 발견 된 예제에서 나온 것입니다 이벤트 버튼에 추가합니다. 즉, 몇 가지 방법을 시도했는데 계속 작동하지 않습니다. – jvictorcm

+1

여기에 http://android-er.blogspot.com/2012/12/a-simple-example-using-google-maps.html지도를 설정하는 데 유용한 사이트가 있습니다. 오류/충돌이있는 경우 앱 정지가 아무 것도 말해주지 않기 때문에 아마 게시해야합니다. – tyczj

답변

1
Maps a = new Maps(); 

이것은 우리가 활동을 시작하는 방법이 아니다. 이 코드 대신

사용 :

Intent intent = new Intent(this, Maps.class); 
startActivity(intent); 

당신의 AndroidManifest.xmlMaps을 추가해야합니다.

또한 당신은 아마 모두 활동 동일한 레이아웃을 원하는, 그래서이 줄을 변경하지 마십시오 : 뭔가에 Maps.java

setContentView(R.layout.activity_main); 

합니다.

Android 학습을 즐겁게 보내십시오.

+0

좋아, 새로운 의도에 대해 말한 것을 시도해 보았습니다. 새로운 의도 코드 (this, Maps.class) 만 시도하고 앱이 다운됩니다. 또한 다음과 같이 manifest.xml에지도를 추가했습니다. < android : name = "." android : label = "@ string/app_name"> – jvictorcm

+0

새 매니페스트로 바로 편집되었습니다. – jvictorcm

+0

@ user2461097 앱이 고장 나면 우선 그 이유를 살펴 보는 것입니다. Logcat은 필요한 모든 정보를 보여줍니다. –