[Android] Jak przekazac IMEI do Stringa w nowo utworzonym obiekcie ?

0

Witam.
W MainActivity pobieram IMEI urzadzenia, następnie tworze obiekt mojaBaza i chce przekazac IMEI do zmiennej myIMEI w obiekcie mojaBaza, ale niestety zwraca mi wartosc tej zmiennej jako null.
Na koncu wywoluje metode wyswietlIMEI obietku mojaBaza.
Domyslam sie ze podczas tworzenia obiektu mojaBaza IMEI jeszcze nie jest znany i pewnie dlatego jest null.
Moze ktos podsunac pomysl, w jaki sposob przekazac IMEI do zmiennej w mojaBaza w tak, zeby kolejna zmienna Tekst w mojaBaza rownież ten IMEI zawierał ?
Przedstawilem taki skrotowy kod, ale musze zastosowac go do bardziej skomplikowanego projektu.

MainActivity.java:

package com.example.x.pobierz_imei;

import android.Manifest;
import android.accessibilityservice.AccessibilityService;
import android.content.Context;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    Context context;
    public static Baza mojaBaza = new Baza();
    public static String mIMEI;
    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE},1);
        button = (Button)findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                TelephonyManager telephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
                mIMEI = telephony.getDeviceId();  //Pobiera IMEI urzadzenia i przypisuje do zmiennej mIMEI;

                mojaBaza.wyswietlIMEI();
            }
        });


    }
}

Baza.java:

package com.example.x.pobierz_imei;

import android.util.Log;

public class Baza {

    public String myIMEI = MainActivity.mIMEI;

    public String Tekst = "Tekst "+myIMEI;

    public void wyswietlIMEI(){

        Log.d("Test", Tekst);

    }

}
0

Podczas tworzenia instancji klasy Baza pole mIMEI nie jest jeszcze wypełnione.

0

Tak, wiem. Napisale o tym tez.
I szukam pomyslu jak przekazac ten IMEI do zmiennej w obiekcie mojaBaza.

0

Getterem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1