-
Android 실습 (5)Android 2022. 7. 13. 16:09
package com.example.ex_0713; import androidx.activity.result.ActivityResult; import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import java.net.InetSocketAddress; public class MainActivity extends AppCompatActivity { EditText txt_id, txt_pw; Button btn_login; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txt_id = findViewById(R.id.txt_id); txt_pw = findViewById(R.id.txt_pw); btn_login = findViewById(R.id.btn_login); // 로그인 버튼 클릭시 id와 pw값 가져오기 btn_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String id = txt_id.getText().toString(); String pw = txt_pw.getText().toString(); // id : smhrd // pw : 123 if (id.equals("smhrd") && pw.equals("123")){ // 회원이 맞습니다! // MainActivity2로 화면 전환! // + ~~님 환영합니다 라는 id띄워주기 위해 // id값 가지고 화면 전환! Intent intent = new Intent(getApplicationContext(), MainActivity2.class); intent.putExtra("id", id); intent.putExtra("pw", pw); mainLauncher.launch(intent); }else{ Toast.makeText(getApplicationContext(), "로그인 실패",Toast.LENGTH_SHORT).show(); } } }); } // 결과를 돌려받을 수 있는 메소드 생성하기 ActivityResultLauncher<Intent> mainLauncher = registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() { @Override public void onActivityResult(ActivityResult result) { if (result.getResultCode() == RESULT_OK){ Toast.makeText(getApplicationContext(),"성공", Toast.LENGTH_SHORT).show(); Intent intent2 = new Intent(getApplicationContext(), MainActivity3.class); startActivity(intent2); }else{ Toast.makeText(getApplicationContext(),"실패", Toast.LENGTH_SHORT).show(); } } } ); }
package com.example.ex_0713; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.EditText; import android.widget.TextView; public class MainActivity2 extends AppCompatActivity { // 1. TextView 객체 선언 TextView txt_id2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); // 2. TextView id값 찾아오기 txt_id2 = findViewById(R.id.txt_id2); // 3. 넘어온 Intent로 부터 Intent값을 가져오기! // - id값 꺼내 오기 String id = getIntent().getStringExtra("id"); // 4. TextView에 가져온 id값 띄우기 ex) "~~님 환영합니다 txt_id2.setText(id+"님 환영합니다"); // 양방향으로 원래 화면에 돌아갔을 경우 // 통신에 대한 성공값을 띄울 값 전달하기! setResult(RESULT_OK); } }
로그인에 성공하면 ' id+님 환영합니다 ' 라는 문구가 뜹니다. 이후 뒤로가기 버튼을 클릭하면 하단에 성공이라는 문구와 함께 이미지가 뜨게 됩니다.
'Android' 카테고리의 다른 글
Android 실습 (5) (0) 2022.07.13 Android 이론 (3) (0) 2022.07.13 Android 실습 (4) (1) 2022.07.12 Android 실습 (3) (0) 2022.07.12 Android 이론 (2) (0) 2022.07.07