저는 Android와 java에서 새로운데 여러 활동이 필요한 앱을 개발하려고합니다.AndroidStudio에서 여러 활동의 데이터를 전송하는 방법은 무엇인가요?
첫 번째 활동은 주 메뉴이고 두 번째 활동은 알람이며 세 번째 활동은 설정입니다.
문제는 내가 처음부터 두 번째 활동을 시작하지만 세 번째 활동에서 알람을 중지하기 위해 비밀번호를 확인하려고합니다.
자습서를 많이 확인했는데 세 번째 활동의 데이터를 두 번째로 보내야 할 것 같습니다.하지만 두 번째를 처음 만들 때 "의도"개체를 얻는 방법을 모르겠습니다. 데이터를 보내고 동일한 참조로 다른 하나를 만들면 충돌이 발생합니다.
첫 번째 작업에서 세 번째 작업까지 두 번째 의도를 보내려고했지만 String, Int ...이 아니기 때문에이를 수신하는 방법을 알지 못합니다. "bundle.getString"을 수행하십시오.
나는 조금 혼란스럽고 생각보다 쉽습니다. 나는 어떤 대답을 주셔서 감사합니다.
첫 번째 활동 (메인) :
package com.example.robert.savemob;
import android.support.v7.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class Main extends AppCompatActivity {
Intent i1;
Intent i2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
i1 = new Intent(this, Alarma.class);
i2 = new Intent(this, Opciones.class);
}
public void Alarm(View view) {
startActivity(i1);
}
public void Settings(View view) {
startActivity(i2);
}
}
두 번째 활동 (Alarma)
package com.example.robert.savemob;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class Alarma extends AppCompatActivity {
private EditText et1;
String clavecorrecta;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alarma);
et1=(EditText)findViewById(R.id.et1);
Bundle bundle = getIntent().getExtras();
clavecorrecta = bundle.getString("clavecorrecta");
}
public void Parar(View v) {
String clave=et1.getText().toString();
if (clave.length()==0) {
Toast notificacion= Toast.makeText(this,"Introduce la clave", Toast.LENGTH_LONG);
notificacion.show();
}
else if (clave.equals(clavecorrecta)) {
finish();
}
else {
Toast notificacion= Toast.makeText(this,"Clave incorrecta", Toast.LENGTH_LONG);
notificacion.show();
}
}
}
세 번째 활동 (Opciones)
package com.example.robert.savemob;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
public class Opciones extends AppCompatActivity {
private EditText et2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.opciones);
et2=(EditText)findViewById(R.id.et2);
i1.putExtra("clavecorrecta", et2.getText().toString()); //I want to send it but can't acces to that i1
}
}