ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.