2012-04-02 19 views
0

Ich bin neu bei Eclipse und die Android-Anwendungen machen so hier kommt eine sehr anfängliche Frage. Wie kann ich diese Funktion richtig funktionieren lassen? Ich habe nur kopieren> fügen Sie es in meine public class nowActivity extends Activity { und behoben die Fehler, die übereinstimmen. Die Funktion ist wie folgt:Wie funktioniert die GPS-Funktion?

package weather.right; 

import weather.right.now.R; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.location.LocationManager; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.TextView; 
import android.widget.Toast; 

public class nowActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); 

     if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){ 
      Toast.makeText(this, "GPS is Enabled in your devide", Toast.LENGTH_SHORT).show(); 
     }else{ 
      showGPSDisabledAlertToUser(); 
     } 
    } 

    public void goToSo(View view) { 
     goToUrl("http://erik-edgren.nu/weather"); 
    } 

    private void goToUrl(String url) { 
     Uri uriUrl = Uri.parse(url); 
     Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl); 
     startActivity(launchBrowser); 
    } 

     private void showGPSDisabledAlertToUser(){ 
     AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 
       alertDialogBuilder.setMessage("GPS is disabled in your device. Would you like to enable it?") 
      .setCancelable(false) 
      .setPositiveButton("Goto Settings Page To Enable GPS", 
        new DialogInterface.OnClickListener(){ 
        public void onClick(DialogInterface dialog, int id){ 
          Intent callGPSSettingIntent = new Intent(
               android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); 
           startActivity(callGPSSettingIntent); 
        } 
      }); 
      alertDialogBuilder.setNegativeButton("Cancel", 
        new DialogInterface.OnClickListener(){ 
        public void onClick(DialogInterface dialog, int id){ 
         dialog.cancel(); 
        } 
      }); 
     AlertDialog alert = alertDialogBuilder.create(); 
     alert.show(); 
     } 
} 

Vielen Dank im Voraus.

Antwort

1

protected void onCreate1(Bundle savedInstanceState) sollte protected void onCreate(Bundle savedInstanceState) sein?

Sie sollten die onCreate() Methode überschreiben. Weitere Informationen finden Sie unter this.

Für Android sollen Unterklassen von Activity bestimmte Methoden implementieren, damit Sie bestimmte Methoden überschreiben müssen, indem Sie die Methoden der Elternklasse genau abgleichen. onCreate() ist eine solche Methode.

Für den Emulator kann GPS durch Befolgen der Anleitung here getestet werden. Andernfalls wird es als deaktiviert angezeigt.

+0

Um. Ja? Das ist die zweite Zeile in diesem Code. Worauf willst du hinaus? Ich bin neu in diesen "Mauern", erinnere dich. – Erik

+0

Sorry, ich habe versucht, lustig zu sein. Siehe Bearbeiten. – Jasoneer

+0

@ErikEdgren Es sollte 'onCreate()' sein, nicht 'onCreate1()' (beachten Sie die nachstehende '1'). Wenn Sie jedoch eine Methode mit der abschließenden "1" deklarieren möchten, ignorieren Sie die obige Antwort. onCreate() würde jedoch automatisch aufgerufen werden, da es eine wichtige Methode für alle Activies in Android ist. :) – ninetwozero