在另一个类中使用变量

时间:2012-04-24 10:09:31

标签: java android variables latitude-longitude

参考下面的代码..我有一个类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类的自由度吗??

3 个答案:

答案 0 :(得分:1)

在LocationService中定义一些受保护的变量,然后Post可以看到它们。或者在LocationService中编写getter方法,并使用super.getLat

从Post调用它们

答案 1 :(得分:0)

您的OOPS概念不明确。转到HERE

您必须将这些变量设置为Public,因为您希望它们在其他类中使用,并在声明Context的地方声明它们。 然后你可以创建一个类的对象并使用它。明确基础知识。

答案 2 :(得分:0)

我遇到了同样的问题,请在此处查看问答:Android: pass parameter to Service from Activity

简而言之,您需要创建一个接口,声明要从Activity调用的所有方法签名,在LocalBinder中实现其方法,然后从您的{引用此接口{1}}。