我还是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中使用。
答案 0 :(得分:2)
使用
LocationManager locationManager =
(LocationManager)getSystemService(Context.LOCATION_SERVICE);
而不是
LocationManager locationManager =
(LocationManager)getSystemService(LOCATION_SERVICE);
用于访问LOCATION_SERVICE
并且还需要使用当前上下文来调用getSystemService方法以获取Service:
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);
}
}
答案 1 :(得分:1)
您可以将Context传递给其他类和View类,以执行您在Main Activity中所做的操作。像这样:
public void doStuff(Context context){
LocationManager locationManager =(LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
}
在您的活动中,您可以:
doStuff(getBaseContext());
使用此方法