Salve a tutti, sono nuovo del mondo android. La piattaforma mi sta piacendo molto, ed avendo delle basi di programmazione java, volevo cimentarmi nella scrittura di qualche programma.
Partendo da alcuni esempi presi da internet, per cercare di capire come si programma per android, ho provato a scrivere un applicazione che si interfacciasse con il gps e mi mostrasse un qualche tipo di informazione. (nella fattispecie l'orario)
Il problema al quale sono arrivato è che da qualche parte ho sbagliato, ma non capisco dove perchè non ho errori o warning in compilazione, solo quando il programma viene lanciato nell emulatore, questo mi dice:
"The application org.me.helloworld (process org.me.helloworld) has stopped unexpectedly. Please try again"
Il problema non si pone se non uso l'oggetto loc (tipo Location). Se lo uso o in get o in set, il problema si pone.
Mi potete aiutare?
Il listato del mio programma è:
codice:
package org.me.helloworld;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
LocationListener gpsListener = new LocationListener(){
Location curLocation;
boolean locationChanged = false;
public void onLocationChanged(Location location) {
if(curLocation == null) {
curLocation = location;
locationChanged = true;
}
if(curLocation.getLatitude() == location.getLatitude() && curLocation.getLongitude() == location.getLongitude())
locationChanged = false;
else
locationChanged = true;
curLocation = location;
}
public void onProviderDisabled(String provider){}
public void onProviderEnabled(String provider){}
public void onStatusChanged(String provider, int status, Bundle extras){}
};
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
LocationManager locMan;
locMan =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
locMan.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100, 1, gpsListener);
Location loc = locMan.getLastKnownLocation(locMan.GPS_PROVIDER);
Long ora = loc.getTime();
TextView tv = new TextView(this);
tv.setText(ora.toString());
setContentView(tv);
}
}
Il file manifest è:
codice:
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.me.helloworld">
<application>
<activity android:name=".MainActivity" android:label="MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest>
PS programmo in netbeans 6.7.1 in ambiente Kubuntu 9.10. Ho provato sia con l'emulatore di android 1.5 che 2.1. Stesso problema.
Dove sto sbagliando?