Ciao a tutti,
sto cercando di creare un app che possa darmi longitudine e latitudine della posizione attuale, questi dati poi andranno in un database sqlite, ma il problema attuale è che l'app crasha appena si avvia a causa delle funzioni di rilevamento del GPS che ho inserito.
Qui metto il codice Java(il pezzo riguardante il rilevamento):
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.SeekBar;
import android.widget.Toast;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.util.Log;
public abstract class MainActivity extends Activity implements LocationListener {
String fname,lname,email,user,password,user_temp,password _temp,sex,age;
SQLiteDatabase db;
TableRow tableRow;
protected LocationManager locationManager;
protected LocationListener locationListener;
protected Context context;
protected String latitude,longitude;
protected boolean gps_enabled,network_enabled;
TextView txtLat;
String lat;
String provider;
double latitudine;
double longitudine;
int contatore;
TextView textView,textView1,textView2,textView3,textView4,t extView5,textView6,textView7,textView8,textView9,t extView10,textView11,textView12,textView13;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_page);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationMan ager.GPS_PROVIDER, 0, 0, this);
}
@Override
public void onLocationChanged(Location location) {
latitudine= location.getLatitude();
longitudine= location.getLongitude();
}
Questo è il manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.projectsweb.databaseprojects"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<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.ACCESS_FINE_LOCAT ION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOC ATION" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
Come posso fare?