안녕하세요 ^^ 제목처럼 공부하는 학생입니다.


Activity 하나의 화면을 구성하는것은 예제를 보면 쉽게 가능하지만


Activity간의 데이터를 전달하고 구현하는것은 아직 초보자인 저에게 어렵네요ㅠ


우선 구글링을 통해 데이터 전달하는것은 Context나 Intent를 통해 가능하다는것은 확인 했는데 둘이 차이가 있는건지..


아니면 단순 상하관계 속에 이용하는 내용인건지 구분이 잘 안가네요


둘의 차이가 있다면 그 부분에 대한 상세한 설명 부탁드립니다


그리고 Context를 이용해서 다음화면에 전달하는 소스는 구현을 했는데 이것을 다음 java단위로 짜른(?) 형태를


어떻게 구현해야 할지 모르겠네요.


음.. 드리고자 하는 말씀은 한 java 클래스 내에서 단계를 모두 구현할 수는 없으니까 클래스 구분을 하기위해 Intent나 Context를


통해 단계를 전달하려고 하는건데요 


첫 화면에서 ID와 PW를 입력하면


-> 다음액티비티에서 처음 액티비티에서 입력한 ID와 PW가 전달되어 나옵니다.


소스 첨부해서 올리겠습니다. Context를 이렇게 사용해도 되는것인지... 그리고 Intent를 사용하려고 해보다가 주석처리 햇는데


좀더 효율적으로 사용할수 있는것인지 답변 부탁드리겠습니다 감사합니다 ^^


Member1Activity.java

-----------------------

package com.example.android0219;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class Member1Activity extends Activity {

    Button mLoginButton;
    ImageView image;

    @Override
    protected void onCreate(Bundle savedInstanceState) { //
        super.onCreate(savedInstanceState);
        setContentView(R.layout.member);
        mLoginButton = (Button)findViewById(R.id.btnSignIn); // Login버튼을 눌러서 구현하기 위해 mLoginButoon변수를 만들어 해당하는 id값 넣어줌
        mLoginButton.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                PersonInfo person = new PersonInfo();
                Context TextContext = null;            

                // 안드로이드 128p "자바코드에서 문자열을 참조하려면 다음과 같은 방법을 사용하면 된다."라고 되어있어 사용

                //System.out.println(person.getId());
                EditText edit = (EditText)findViewById(R.id.userName);
                String str = edit.getText().toString();
                EditText edit1 = (EditText)findViewById(R.id.password);
                String str1 = edit1.getText().toString();

                /*TextView view = (TextView)findViewById(R.id.answer);
                view.setText("Id : "+str+"\n"+"Password : "+str1);*/
                Toast t = Toast.makeText(Member1Activity.this, "Id : "+str, Toast.LENGTH_SHORT);
                t.show();
                t = Toast.makeText(Member1Activity.this, "Password : "+str1, Toast.LENGTH_SHORT);
                t.show();

                TextContext = getApplicationContext();
                //Intent intent = new Intent(Member1Activity.this,Member2Activity.class);
                //startActivityForResult(intent,1);
                CustomTextView cv = new CustomTextView(TextContext);
                cv.setTextColor(Color.BLACK);
                cv.setText("Id : "+str+"\n"+"Password : "+str1);
                setContentView(cv);
            }
        });
    }   
}


빨강색 주황색 부분이 문제 되는 부분입니다 ㅠ


이걸 통해 Member2Activity.java에서 넘어가는 단계를 만들어 계속 구성해 보려고 하는건데요


Member2Activity.java

--------------------


/*package com.example.android0219;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class Member2Activity extends Activity {
    Button mLoginButton;
    protected void onCreate(Bundle savedInstanceState) { //
        super.onCreate(savedInstanceState);
        setContentView(R.layout.member1);
        mLoginButton = (Button)findViewById(R.id.btnSignIn); // Login버튼을 눌러서 구현하기 위해 mLoginButoon변수를 만들어 해당하는 id값 넣어줌
        mLoginButton.setOnClickListener(new View.OnClickListener(){

            public void onClick(View v) {
                //Context TextContext = null;
                Intent intent = getIntent(); // 이 액티비티를 시작하게 한 인텐트를 호출
                TextView view = (TextView)findViewById(R.id.userName);
                TextView view1 = (TextView)findViewById(R.id.password);
               
                CustomTextView cv = new CustomTextView(TextContext);
                cv.setTextColor(Color.BLACK);
                cv.setText("Id : "+str+"\n"+"Password : "+str1);
                ImageView image =(ImageView).findViewById(R.drawable.desert);               
                setContentView(cv);
            }
        });
    }   
}*/


핵심은 Member1Activity에서 다 하지 않고 2에서 이루어지도록 하기위해서 구성하려고 했던겁니다.


제가 말씀드리고자 하는바가 이해 되면 좋겠는데 어떻게 더 표현을 해야할지 모르겠네요 ㅠ


답변 주신다면 정말 감사하겠습니다