1

我还是 Android 开发的新手,我仍然不知道编写代码的好方法。目前我把所有东西都扔进我的MainActivity. 但我认为这不是写它的好方法。我一直在搜索谷歌,但我真的不知道要搜索什么。有没有人有任何提示?

我打算尝试获取一些我拥有的代码并将其放入视图中,但是当我这样做时会出现错误。

例如,当我将它放在视图中时,我得到cannot find symbol LOCATION_SERVICE

public class MainView extends View{
    public double[] getLoc(){
        // Get the location manager
        LocationManager locationManager = (LocationManager)getSystemService(LOCATION_SERVICE);
    }
}

这基本上是一个获取用户纬度和经度的函数的片段。它在我假设的视图中不起作用。该代码在我的 MainActivity 中确实有效。

4

2 回答 2

2

采用

LocationManager locationManager =
                     (LocationManager)getSystemService(Context.LOCATION_SERVICE);

代替

LocationManager locationManager = 
                     (LocationManager)getSystemService(LOCATION_SERVICE);

用于访问LOCATION_SERVICE

并且您还需要使用当前上下文来调用 getSystemService 方法来获取服务:

public class MainView extends View{
Context context;

public MainView(Context context){
this.context=context;
}

   public double[] getLoc(){
        // Get the location manager
        LocationManager locationManager = 
           (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
    }
}
于 2013-01-24T16:32:46.693 回答
1

您可以将 Context 传递给您的其他类和 View 类,以执行您在 Main Actvitity 中所做的事情。像这样:

public void doStuff(Context context){
    LocationManager locationManager =(LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
}

在您的活动中,您可以:

doStuff(getBaseContext());

使用这种方法

于 2013-01-24T16:35:21.740 回答