액티비티간 데이터 전송
데이터 전달
intent.putStringArrayListExtra("ArrayList", ArrData);
데이터 받기
Intent intent = getIntent();
ArrayList<String> ReceiveArr = intent.getStringArrayListExtra("ArrayList");
MainActivity.java
public class MainActivity extends Activity {
private String Data;
private ArrayList<String> ArrData = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button)findViewById(R.id.btn); //버튼의 id값을 가져와 btn이라는 변수에 할당
Data = "Hellow~~~";
ArrData.add("첫번째");
ArrData.add("두번째");
ArrData.add("세번쨰");
TextView textView = (TextView)findViewById(R.id.string);
textView.setText("전송할 문자열 : "+Data);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(),IntentPage.class); //첫번째 인자 나의 클래스명, 두번째 인자 이동할 클래스명
//키 값으로 String이라는 이름을 지정하며 , 두번째 인자로 전송할 데이터 변수 지정 .putExtra("key",value);
intent.putExtra("String",Data);
//키 값으로 ArrayList라는 이름으로 지정, 전송할 데이터 변수 지정 .putStringArrayListExtra("KEY",value);
intent.putStringArrayListExtra("ArrayList", ArrData);
//IntentPage Activity에 데이터를 전달.
startActivity(intent); //인텐트를 시작한다.
}
});
}
}
intent.putExtra("KEY",VALUE);
IntentPage.java
public class IntentPage extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.intent_page);
Intent intent = getIntent(); //이전 액티비티에서 수신할 데이터를 받기위해 선언
String Receive = intent.getStringExtra("String"); //호출한 액티비티에서 String 이라는 키 값을 가진 데이터 로드
ArrayList<String> ReceiveArr = intent.getStringArrayListExtra("ArrayList"); //어레이 리스트 받아옴
TextView textView = (TextView)findViewById(R.id.textview);
textView.setText(Receive); //텍스트 뷰에 받은 데이터 출력
Log.i("Receive Data : ",Receive);
//어레이 리스트는 TextView 말고 Log로 출력
for(int i=0;i<ReceiveArr.size();i++){
Log.i("ReceiveArr Data : ",ReceiveArr.get(i));
}
}
}
intent.getStringExra("VALUE");
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:textSize="30dp"
android:gravity="center"
android:id="@+id/string"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ㅇ"/>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="페이지 이동"/>
<TextView
android:textSize="40dp"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="MainActivity.class"/>
</LinearLayout>
intent_page.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/textview"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="intent_page"
android:textSize="30dp"/>
<TextView
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="IntentPage.class"
android:textSize="30dp"/>
</LinearLayout>
결과
----------------------------------------------------------------------------------------------------------------------
매니페스트 activity 추가해야합니다!.
<activity android:name="com.jy.a7th_study.IntentPage"/> <!-- 이 부분을 추가해주어야 한다 -->
android:name="경로명.클래스명"
'Android' 카테고리의 다른 글
[Android] 안드로이드 <-> PHP <-> Mysql 연동 완벽정리 (2) - Mysql 테이블 생성 (2) | 2017.06.28 |
---|---|
[Android] 안드로이드 <-> PHP <-> Mysql 연동 완벽정리 (1) - xampp 설치 (11) | 2017.06.28 |
[Android] Intent (인텐트) (0) | 2017.06.27 |
[Hybrid App] 웹앱, 네이티브앱, 하이브리드 앱 (0) | 2017.06.27 |
[Android] 안드로이드 레이아웃 둘러보기 (1) | 2017.06.27 |