enter code here
05-31 00:26:46.295: ERROR/AndroidRuntime(4111): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2685)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): FATAL EXCEPTION: main
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): java.lang.RuntimeException: Unable to start activity ComponentInfo{yaraby.y/yaraby.y.yarab}: java.lang.NullPointerException
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2685)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at a ndroid.app.ActivityThread.access$2300(ActivityThread.java:126)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2038)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at android.os.Handler.dispatchMessage(Handler.java:99)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at android.os.Looper.loop(Looper.java:123)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at android.app.ActivityThread.main(ActivityThread.java:4633)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at java.lang.reflect.Method.invokeNative(Native Method)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at java.lang.reflect.Method.invoke(Method.java:521)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at dalvik.system.NativeStart.main(Native Method)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): Caused by: java.lang.NullPointerException
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at yaraby.y.yarab.onCreate(yarab.java:92)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2633)
05-31 00:32:08.465: ERROR/AndroidRuntime(4301): ... 11 more
Yaraby Code
enter code here
public class yaraby extends Activity {
/** Called when the activity is first created. */
String sentence,sentence1, modifiedSentence;;
EditText inputfld, txt;
TextView Text;
Button Enter, Connect, next;
Socket clientSocket;
DataOutputStream outToServer;
BufferedReader inFromServer ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
inputfld=(EditText)findViewById(R.id.input);
Text=(TextView)findViewById(R.id.view);
Enter=(Button)findViewById(R.id.enter);
Connect=(Button)findViewById(R.id.connect);
Text.append( "\n about to create a socket");
txt=(EditText)findViewById(R.id.txt);
next = (Button) findViewById(R.id.Button01);
next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try{
Text.append("PPPPP");
Intent i = new Intent(yaraby.this, yarab.class);
startActivity(i);
Text.append("OPS");
}
catch(Error e){
Log.e("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", e.getMessage());
Text.append("ofa7ay");
}
}});
}
public void appendText(View view){
Text.append( "\n In chat ");
try{
sentence=inputfld.getText().toString();
sentence1="ingyyyy";
Text.append( "\n DataStream creating");
outToServer.writeBytes(sentence);
outToServer.writeBytes(sentence1);
Thread.sleep(1000);
modifiedSentence = inFromServer.readLine();
Text.append(modifiedSentence);
inputfld.setText(null);
}
catch(Exception modifiedsentence){
Text.append("Exception");
}
}
public void connect(View view){
try{
clientSocket= new Socket("192.168.1.6",54611);
Text.append( "\n created a socket");
outToServer = new DataOutputStream(clientSocket.getOutputStream());
Text.append( "\n created a datastream");
inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
Text.append( "\n created a bufferReader");
outToServer = new DataOutputStream(clientSocket.getOutputStream());
}catch(Exception e){
System.out.println("Error");
}
}
yarab code
enter code here
package yaraby.y;
public class yarab extends MapActivity
{
Socket clientSocket;
TextView Text;
private MapView mapView;
private MapController mc;
DataOutputStream outToServer;
BufferedReader inFromServer ;
Button start;
int error = 50;
GeoPoint p, p2;
List<Overlay> mapOverlays;
Drawable drawable, drawable2;
HelloItemizedOverlay itemizedOverlay, itemizedOverlay2;
LocationManager locationManager;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* Use the LocationManager class to obtain GPS locations */
LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,
0, mlocListener);
mapView = (MapView) findViewById(R.id.mapView);
// enable Street view by default
mapView.setStreetView(true);
// enable to show Satellite view
mapView.setSatellite(true);
// enable to show Traffic on map
// mapView.setTraffic(true);
mapView.setBuiltInZoomControls(true);
mc = mapView.getController();
mc.setZoom(12);
addOverLays();
start= (Button) findViewById(R.id.start);
}
public void addOverLays() {
String[] coordinates = { "31.216487288475037", "29.932637214660645",
"30.084123015403748", "51.5002", "-0.1262",
"31.337149143218994" };
double lat = 29.98739718380868, lat2 = 29.987810254096985;
double log = 31.442527770886084, log2 = 31.44258677959442;
p = new GeoPoint((int) (lat * 1E6), (int) (log * 1E6));
p2 = new GeoPoint((int) (lat2 * 1E6 ), (int) (log2 * 1E6 ));
p3 = new GeoPoint((int) (lat3 * 1e6), (int) (log3 * 1e6));
p4 = new GeoPoint((int) (lat4 * 1e6), (int) (log4 * 1e6));
p5 = new GeoPoint((int) (lat14* 1e6), (int) (log14 * 1e6));
p6 = new GeoPoint((int) (lat8 * 1e6), (int) (log8 * 1e6));
p7 = new GeoPoint((int) (t1* 1e6), (int) (log15 * 1e6));
p8 = new GeoPoint((int) (lat5 * 1e6), (int) (log5 * 1e6));
p9 = new GeoPoint((int) (lat6 * 1e6), (int) (log6 * 1e6));
p10=new GeoPoint( (int) (t4 * 1e6), (int) (log12 * 1e6));
p11=new GeoPoint( (int) (t2* 1e6), (int) (log14 * 1e6));
p12=new GeoPoint( (int) (t3* 1e6), (int) (log5 * 1e6));
p13=new GeoPoint( (int) (t5* 1e6), (int) (log12 * 1e6));
p14=new GeoPoint( (int) (t6* 1e6), (int) (log11 * 1e6));
p15=new GeoPoint( (int) ((t6+t1)/2* 1e6), (int) (log3 * 1e6));
p15=new GeoPoint( (int) (t3* 1e6), (int) (log11 * 1e6));
p16=new GeoPoint( (int) (lat15* 1e6), (int) (log15 * 1e6));
p17=new GeoPoint( (int) (lat13* 1e6), (int) (log13 * 1e6));
p18=new GeoPoint( (int) (lat9* 1e6), (int) (log9 * 1e6));
p19=new GeoPoint( (int) (lat10* 1e6), (int) (log10 * 1e6));
p20=new GeoPoint( (int) (lat11* 1e6), (int) (log11 * 1e6));
p21=new GeoPoint( (int) (lat12* 1e6), (int) (log12 * 1e6));
mapOverlays = mapView.getOverlays();
drawable = this.getResources().getDrawable(R.drawable.wit);
drawable2 = this.getResources().getDrawable(R.drawable.ballon);
itemizedOverlay = new HelloItemizedOverlay(drawable, this);
itemizedOverlay2 = new HelloItemizedOverlay(drawable2, this);
OverlayItem overlayitem = new OverlayItem(p, "Cairo", " over1");
OverlayItem over2 = new OverlayItem(p2, "ulm", "over2");
itemizedOverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedOverlay);
itemizedOverlay2.addOverlay(over2);
mapOverlays.add(itemizedOverlay2);
mc.setZoom(17);
}
public void Location(){
LocationManager myLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener1 = new MyLocationListener();
LocationManager mlocManager1 = null;
mlocManager1.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,
0, mlocListener1);
// Get the current location in start-up
GeoPoint initGeoPoint = new GeoPoint((int)(myLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER)
.getLatitude()*1000000),(int)(myLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLongitude()*1000000));
mc.animateTo(initGeoPoint);
mc.setZoom(16);
drawable21 = this.getResources().getDrawable(R.drawable.ggg);
itemizedOverlay21 = new HelloItemizedOverlay(drawable21,this);
OverlayItem over21 = new OverlayItem(initGeoPoint, "offff", "over21");
itemizedOverlay21.addOverlay(over21);
mapOverlays.add(itemizedOverlay21);
}
/* Class My Location Listener */
public class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc)
{
GeoPoint point = new GeoPoint((int) (loc.getLatitude() * 1E6),
(int) (loc.getLongitude() * 1E6));
String Text = "My current location is: " +
"Latitud =" + loc.getLatitude()+
"Longitud =" +loc.getLongitude() ;
Toast.makeText(getApplicationContext(),
Text,
Toast.LENGTH_SHORT).show();
mc.animateTo(point);
}
private Resources getResources() {
// TODO Auto-generated method stub
return null;
}
public void onProviderDisabled(String provider)
{
Toast.makeText(getApplicationContext(),
"Gps Disabled",
Toast.LENGTH_SHORT).show();
}
public void onProviderEnabled(String provider)
{
Toast.makeText(getApplicationContext(),
"Gps Enabled",
Toast.LENGTH_SHORT).show();
}
public void onStatusChanged(String provider, int status, Bundle extras)
{
}
protected boolean isRouteDisplayed() {
return false;
}
}/* End of Class MyLocationListener */
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
答案 0 :(得分:1)
NullPointerException
方法中yarab.java
的第92行有onCreate()
。根据@dmon的评论,我的猜测是你加载了错误的布局,因此你检索MapView
的尝试失败了。但是,这只是猜测,因为您没有告诉我们yarab.java
的第92行实际上是什么。