2012-04-02 80 views
0

我是新来的Eclipse和Android应用程序,所以这里提出了一个非常新的问题。我如何使这个功能正常工作?我刚刚复制>粘贴到我的public class nowActivity extends Activity {并修复了符合的错误。功能如下:如何使GPS功能正常工作?

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(); 
     } 
} 

在此先感谢。

回答

1

protected void onCreate1(Bundle savedInstanceState)应该是protected void onCreate(Bundle savedInstanceState)

你应该重写onCreate()方法。有关更多详细信息,请参阅this

对于Android,Activity的子类应该实现某些方法,所以要执行此操作,必须严格匹配父类的方法来重写某些方法。 onCreate()就是这样一种方法。

对于仿真器,可以按照指南here来测试GPS。否则,它将显示为禁用。

+0

嗯。是?这是该代码的第二行。你想说什么?记住,我是这些“围墙”内的新人。 – Erik 2012-04-02 01:18:06

+0

对不起,我试图变得有趣。请参阅编辑。 – Jasoneer 2012-04-02 01:21:05

+0

@ErikEdgren它应该是'onCreate()',而不是'onCreate1()'(注意尾部的'1')。但是,如果您实际上正在使用尾部“1”来声明方法,则忽略上述响应。但onCreate()会自动调用,因为它是Android中所有Activies的重要方法。 :) – ninetwozero 2012-04-02 01:21:58