2012-04-24 6 views
-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 { 

}

EDITED Post.java

public class Post extends LocationService {{ 

super.latitude = loc.getLatitude(); 


} 
} 

これは私のクラスを投稿するLocationServiceクラスから緯度を取得しますか..?

+0

どのように 'Post'クラスを使いますか?別のサービスですか? – zapl

+0

yah !!別のサービスです。クラスLocationServiceからクラスPostへの緯度と経度を取得し、クラス内で緯度と経度をサーバーに投稿するのに役立ちます。 –

+0

'LocationListener'の外で' latitude'と 'longitude'変数を取るそれらを 'LocationService'クラスの直接のメンバにします。つまり、 'context'と' wl'を宣言したところに入れてください –

答えて

0

OOPSの概念は明確ではありません。 Go HERE

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

+0

私の編集部分を見てください..? –

+0

@RadhaKumar:文脈宣言部の下に「double latitude;」と書いてください。 – Bhavin

+0

...その後、緯度と経度の値をPostクラスで使用できますか? –

1

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

0

私は質問を参照して、ここでお答えし、同じ問題を抱えていた:いくつかの単語でAndroid: pass parameter to Service from Activity

を、あなたは、あなたがActivityから呼び出したいすべてのメソッドシグネチャを宣言するインターフェイスを作成する必要があり、あなたの中にそのメソッドを実装しますLocalBinderを入力し、Activityからこのインターフェースを参照してください。

+0

私の編集部分を見てください...私に緯度と経度の値を取得しますか。 –

関連する問題