버튼 클릭시 다음 페이지(구글맵)로 넘기는 과정에서 오류가 나서 진행할 수가 없네요...ㅠㅠ
(클릭이벤트를 쓰지 않고 첫화면에서 맵 먼저 띄우면 문제없이 실행이 됩니다...)
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;
}
}
안드로이드 쌩초보라서 이곳저곳에서 얻어와 만든 소스입니다.
이틀동안 맘고생 하다가 고수님들의 의견을 꼭좀 듣고 싶어서 이렇게 글을 씁니다.
답변 부탁드리겠습니다.ㅠㅠ



