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);
}
}