2012-04-24 159 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類緯Post類..?

+0

你如何使用Post類?它是另一種不同的服務? – zapl 2012-04-24 10:14:32

+0

呀!一個不同的服務..我想從班級LocationService獲得緯度和經度到班級Post,然後在課堂上幫助我發佈服務器上的緯度和經度 – 2012-04-24 10:16:44

+0

將'緯度和經度'變量放在'LocationListener'之外並使它們成爲'LocationService'類的直接成員。也就是說,把它們放在你聲明'context'和'wl'的地方 – 2012-04-24 10:16:47

回答

0

您的OOPS概念不清晰。去HERE

你將不得不使這些變量公開,因爲你希望他們在其他類中使用,並宣佈它在Context宣佈。 然後你可以創建一個類的對象並使用它。明確基本原則。

+0

請看我編輯的部分..? – 2012-04-24 12:19:33

+0

@RadhaKumar:之後在上下文聲明部分 – Bhavin 2012-04-24 12:22:15

+0

之後寫入'double latitude;'...可以在Post類中使用緯度和經度的值...? – 2012-04-24 12:47:02

1

在LocationService中定義一些受保護的變量,然後Post可以看到它們。或者在LocationService中寫入getter方法,並使用super.getLat從Post中調用它們。

0

我有同樣的問題,看到問題和答案在這裏:Android: pass parameter to Service from Activity

在幾句話,你需要創建一個聲明,你想從一個Activity調用,實現它的方法的所有方法簽名的接口中LocalBinder,然後從您的Activity引用此接口。

+0

請看看我編輯過的部分...會不會讓我看到經緯度的值。 – 2012-04-24 10:53:04

相關問題