1

私はまだ Android 開発を始めたばかりで、適切なコードの書き方をまだ知りません。現在、私はすべてを自分のに投げ込みますMainActivity。しかし、それは良い書き方ではないと思います。Google で検索していますが、何を検索すればよいかわかりません。誰にもヒントはありますか?

私が持っているコードを取得してビューにスローしようとしましたが、そうするとエラーが発生します。

たとえば、これをビューに配置すると、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 Actvity で行ったことを行うことができます。このような:

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

アクティビティでは次のことができます。

doStuff(getBaseContext());

この方法を使用するには

于 2013-01-24T16:35:21.740 に答える