无法在类之间传递数据

时间:2012-01-23 21:12:55

标签: java android basic4android

我有一个创建唯一ID的活动,然后将String传递给服务,我遇到的问题是每次尝试将数据从活动传递到服务时应用程序都会强制关闭。

通常,当我编写java应用程序时,我只是使用getter和setter方法在类之间传递数据,所以有人知道为什么会出现这个问题吗?

public void setId(String mydeviceId){

    TelephonyManager tm = (TelephonyManager)getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
    final String DeviceId, SerialNum, androidId;
    DeviceId = tm.getDeviceId();
    SerialNum = tm.getSimSerialNumber();
    androidId = Secure.getString(getContentResolver(),Secure.ANDROID_ID);
    UUID deviceUuid = new UUID(androidId.hashCode(), ((long)DeviceId.hashCode() << 32) | SerialNum.hashCode());
    mydeviceId = deviceUuid.toString(); 
    this.mydeviceId = mydeviceId;   

    }


    public String getId(){

        return mydeviceId;

    }

2 个答案:

答案 0 :(得分:1)

课程之间的传递意味着活动?如果是这样,您需要使用Intent包。获取/设置不会在活动之间工作。以下是how to pass data between activities.

的示例

答案 1 :(得分:1)

要与您的服务进行通信,请将您的活动设为bind。请参阅this指南。这是推荐的方式。

或者,您可以广播所需的值以在服务和/或活动之间进行通信。有关详细信息,请参阅this