버튼 클릭시 다음 페이지(구글맵)로 넘기는 과정에서 오류가 나서 진행할 수가 없네요...ㅠㅠ
(클릭이벤트를 쓰지 않고 첫화면에서 맵 먼저 띄우면 문제없이 실행이 됩니다...)
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): FATAL EXCEPTION: main
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): java.lang.NoClassDefFoundError: gps.test.page1
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): at gps.test.gpstest$1.onClick(gpstest.java:25)
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): at android.view.View.performClick(View.java:2461)
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): at android.view.View$PerformClick.run(View.java:8915)
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): at android.os.Handler.handleCallback(Handler.java:587)
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): at android.os.Handler.dispatchMessage(Handler.java:92)
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): at android.os.Looper.loop(Looper.java:123)
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): at android.app.ActivityThread.main(ActivityThread.java:4632)
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): at java.lang.reflect.Method.invokeNative(Native Method)
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): at java.lang.reflect.Method.invoke(Method.java:521)
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
05-25 23:55:50.759: ERROR/AndroidRuntime(15722): at dalvik.system.NativeStart.main(Native Method)
//메인화면입니다. public class gpstest extends Activity { Intent intent; Button btnClick; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnClick = (Button)findViewById(R.id.btn1); btnClick.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub intent = new Intent(gpstest.this, page1.class); startActivity(intent); } }); } }
//버튼 클릭시 이동할 화면
public class page1 extends MapActivity { List<Overlay> mapOverlays; Drawable drawable; TestItemizedOverlay itemizedOverlay; LinearLayout linearLayout; MapView mMap; MyLocationOverlay2 mLocation; ZoomControls mZoom; @Override protected boolean isRouteDisplayed(){ return false; } /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mMap=(MapView)findViewById(R.id.mapview); MapController mc= mMap.getController(); mMap.setBuiltInZoomControls(true); mc.setZoom(13);
GeoPoint pt = new GeoPoint(37881311, 127729968); mc.setCenter(pt);
mLocation = new MyLocationOverlay2(this, mMap); List<Overlay> overlays = mMap.getOverlays(); overlays.add(mLocation);
mLocation.runOnFirstFix(new Runnable() { public void run() { mMap.getController().animateTo(mLocation.getMyLocation()); } });
GeoPoint p1 = new GeoPoint(35846022,127134637); GeoPoint p2 = new GeoPoint(35844415,127126429); GeoPoint p3 = new GeoPoint(35842969,127128164); GeoPoint p4 = new GeoPoint(35844415,127128164);
mc.animateTo(p1); mc.animateTo(p2); mc.animateTo(p3); mc.animateTo(p4);
mapOverlays = mMap.getOverlays(); drawable = this.getResources().getDrawable(R.drawable.icon); itemizedOverlay = new TestItemizedOverlay(drawable,this); OverlayItem overlayitem1 = new OverlayItem(p1,"7호관","XXX"); OverlayItem overlayitem2 = new OverlayItem(p2,"맛드리분식","010-XXX-XXXX"); OverlayItem overlayitem3 = new OverlayItem(p3,"사천성","010-XXX-XXXX"); OverlayItem overlayitem4 = new OverlayItem(p4,"다사랑","010-XXX-XXXX");
itemizedOverlay.addOverlay(overlayitem1); itemizedOverlay.addOverlay(overlayitem2); itemizedOverlay.addOverlay(overlayitem3); itemizedOverlay.addOverlay(overlayitem4); mapOverlays.add(itemizedOverlay); } public void onResume() { super.onResume(); mLocation.enableMyLocation(); mLocation.enableCompass(); } public void onPause() { super.onPause(); mLocation.disableMyLocation(); mLocation.disableCompass(); }
class MyLocationOverlay2 extends MyLocationOverlay { public MyLocationOverlay2(Context context, MapView mapView) { super(context, mapView); }
protected boolean dispatchTap() { Toast.makeText(page1.this, "여기가 현재 위치입니다.", Toast.LENGTH_SHORT).show(); return false; } } }
//오버레이
public class TestItemizedOverlay extends ItemizedOverlay { private Context mContext; private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>(); public TestItemizedOverlay(Drawable defaultMarker, Context context){ super(boundCenterBottom(defaultMarker)); //TODO Auto-generated constructor stub mContext = context; } @Override protected OverlayItem createItem(int i){ //TODO Auto-generated method stub return mOverlays.get(i); } @Override public int size(){ //TODO Auto-generated method stub return mOverlays.size(); } public void addOverlay(OverlayItem overlay){ mOverlays.add(overlay); populate(); } @Override protected boolean onTap(int index){ OverlayItem item = mOverlays.get(index); AlertDialog.Builder dialog = new AlertDialog.Builder(mContext); dialog.setTitle(item.getTitle()); dialog.setMessage(item.getSnippet()).setPositiveButton("상세정보",new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); dialog.show(); return true; } }
안드로이드 쌩초보라서 이곳저곳에서 얻어와 만든 소스입니다.
이틀동안 맘고생 하다가 고수님들의 의견을 꼭좀 듣고 싶어서 이렇게 글을 씁니다.
답변 부탁드리겠습니다.ㅠㅠ