-1

以下のコードを参照してください。私はクラス LocationService を取得し、その中に可変緯度を持っています。その変数を別のクラス Post で使用したい。それ、どうやったら出来るの。基本的に、そこから取得した緯度と経度を他のクラスでも取得したい..サーバーに投稿したいので。では、どうすればよいのでしょうか。

LocationService.java

public class LocationService extends Service{

Context context;
WakeLock wl;


@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
}


public int onStartCommand(Intent intent, int flags, int startId) {
    PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
    wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "lock");
    wl.acquire();
    context = this;
    final String who = intent.getStringExtra("who");
    final LocationManager locMan = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    final LocationListener listener = new LocationListener(){

        // start location changed

        public void onLocationChanged(Location loc) {
            double latitude = loc.getLatitude();
            double longitude = loc.getLongitude();
                                    ......
                                    ......
                                    }
Post.java

public class Post extends LocationService {

}

編集されたPost.java

public class Post extends LocationService {{

super.latitude = loc.getLatitude();


 }
 }

これにより、LocationService クラスから Post クラスへの緯度が得られますか?

4

3 に答える 3

1

LocationService でいくつかの保護された変数を定義すると、Post はそれらを参照できます。または、LocationService に getter メソッドを記述し、super.getLat を使用して Post から呼び出します。

于 2012-04-24T10:16:23.023 に答える
0

あなたの OOPS の概念は明確ではありません。ここに行く

これらの変数を他のクラスで使用したい場合は、これらの変数をパブリックにし、宣言されている場所Contextで宣言する必要があります。次に、クラスのオブジェクトを作成して使用できます。基礎を明確にします。

于 2012-04-24T10:17:32.253 に答える
0

私は同じ問題を抱えていました。ここで質問と回答を参照してください: Android: アクティビティからサービスにパラメーターを渡す

簡単に言うと、 から呼び出したいすべてのメソッド シグネチャを宣言するインターフェイスを作成し、Activityそのメソッドを に実装してからLocalBinder、 からこのインターフェイスを参照する必要がありますActivity

于 2012-04-24T10:26:38.363 に答える