0
네이티브 Android 애플리케이션으로 인해 RuntimeException 문제가 해결 될 수 있도록 도움이 필요합니다. 이 예외의 원인을 정의 할 수 없습니다. 다음은 스택 추적 및 코드입니다. 여기에 무슨 문제가있는 것 같습니까?ActivityThread에서 Android 애플리케이션 RuntimeException이 소스를 찾지 못했습니다?
Thread [<1> main] (Suspended (exception RuntimeException))
ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1879
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1980
ActivityThread.access$600(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 122
ActivityThread$H.handleMessage(Message) line: 1146
ActivityThread$H(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 137
ActivityThread.main(String[]) line: 4340
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 511
ZygoteInit$MethodAndArgsCaller.run() line: 784
ZygoteInit.main(String[]) line: 551
NativeStart.main(String[]) line: not available [native method]
코드
package com.example;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import com.example.hellogooglemaps.R;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.MapView.LayoutParams;
import android.view.View;
import android.widget.LinearLayout;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapController;
import java.util.List;
import com.google.android.maps.Overlay;
import com.google.android.maps.MapView.LayoutParams;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Point;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.Toast;
public class HellogooglemapsActivity extends MapActivity {
MapView mapView;
MapController mc;
GeoPoint p,p2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView) findViewById(R.id.mapview);
LinearLayout zoomLayout = (LinearLayout)findViewById(R.id.zoom);
View zoomView = mapView.getZoomControls();
zoomLayout.addView(zoomView,
new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
mapView.displayZoomControls(true);
mc = mapView.getController();
String coordinates[] = {"59.3948", "24.662"};
double lat = Double.parseDouble(coordinates[0]);
double lng = Double.parseDouble(coordinates[1]);
p = new GeoPoint(
(int) (lat * 1E6),
(int) (lng * 1E6));
MapOverlay mapOverlay = new MapOverlay();
List<Overlay> listOfOverlays = mapView.getOverlays();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);
mc.animateTo(p);
mc.setZoom(14);
mapView.invalidate();
}
class MapOverlay extends com.google.android.maps.Overlay {
@Override
public boolean draw(Canvas canvas, MapView mapView,
boolean shadow, long when)
{
super.draw(canvas, mapView, shadow);
//---translate the GeoPoint created in onCreate to screen pixels---
Point screenPts = new Point();
mapView.getProjection().toPixels(p, screenPts);
//---add the marker---
Bitmap bmp = BitmapFactory.decodeResource(
getResources(), R.drawable.map_marker);
canvas.drawBitmap(bmp, screenPts.x-15, screenPts.y-32, null);
// add a new marker to coords given below
String coordinates[] = {"59.40", "24.80"};
double lat = Double.parseDouble(coordinates[0]);
double lng = Double.parseDouble(coordinates[1]);
p2 = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
Point screenPts2 = new Point();
mapView.getProjection().toPixels(p2, screenPts2);
canvas.drawBitmap(bmp, screenPts2.x-15, screenPts2.y-32, null);
Toast.makeText(getBaseContext(),
p2.getLatitudeE6()/1E6 + "," +
p2.getLongitudeE6() /1E6 ,
Toast.LENGTH_SHORT).show();
return true;
}
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
AVD : 구글의 API (14)
입니다 전체 예외인가? 예외에 붙여 넣은 코드는 표시되지 않습니다. – Gray