Android 에서 Activity 간 통신 을 통 해

4187 단어 Activity
http://www.cnblogs.com/virusswb/archive/2011/08/02/2124824.html
머리말
최근 2 주 동안 안 드 로 이 드 의 응용 개발 을 연구 하고 안 드 로 이 드 응용 개발 의 기초 지식,기본 컨트롤,기본 레이아웃,기본 애니메이션 효과,데이터 저장,http 인터넷 방문 등 기초 지식 을 배 웠 습 니 다.
안 드 로 이 드 에는 activity 라 는 개념 이 있 습 니 다.액 티 비 티 가 뭐 죠?활동나 는 우리.NET 에 비유 하면 WinForm 의 Form 창 이나 ASP.NET 의 Page 페이지 와 같다 고 생각한다.하나의 activity 는 하나의 창 이나 페이지 에 대응 할 수 있다.
창,페이지 라면 통신 이 필요 하고,값 을 전달 해 야 하 며,간 의 변환 이 필요 하 다.
WinForm 창 변환 과 ASP.NET 의 Page 변환
WinForm 에서 창 변환 을 실현 합 니 다.즉,하나의 창 이 다른 창 으로 이동 하 는 것 입 니 다.우 리 는 아래 의 코드 를 쓸 것 입 니 다.
From frmChild=new frmChild();
frmChild.show();
또는 frm Child.showDialog();뭐 공부 해요?값 을 전달 할 필요 가 있다 면 구조 함수 나 Public 속성 을 통 해 parent 를 지정 하거나 child 에서 parent 속성 을 사용 하여 부모 창 에 접근 한 다음 부모 창의 속성 을 방문 할 수 있 습 니 다.리 턴 값 도 비슷 한 과정 이다.인터넷 에서 찾 아 보 세 요.많은 예시 코드 를 참고 할 수 있 습 니 다.나의 블 로그 도 몇 편의 창문 값 의 박문 을 쓴 적 이 있다.
ASP.NET 에서 페이지 가 바 뀌 면 redirect,transfer,execute,전송 값 을 사용 할 수 있 습 니 다.session,query string,application 또는 전체 페이지 가 있 으 면 됩 니 다.
위의 방식 을 보면 창 이나 페이지 를 막론하고 점프 와 전송 값 이 비교적 고정 되 어 있 음 을 발견 할 수 있다.내 가 말 한[고정]은 점프 의 발기인 과 목 표를 말 하 는 것 이다.즉,이 두 가 지 는 비교적 연결 되 어 있어 서 함부로 뛰 어 다 니 면 안 된다 는 것 이다.예 를 들 어 detail 1 클릭 후 item 1 로 만 이동 할 수 있 고 detail 2 클릭 후 item 2 로 만 이동 할 수 있 습 니 다.물론 경험 이 있 으 면 코드 를 개량 하여 아 이 템 과 detail 의 재 활용 을 실현 한 다음 에 판단 을 더 해 문 제 를 해결 했다.그래도 뭔 가 묶 여 있다 는 뜻 인 것 같 아 요.
Android 의 Activity 간 변환
안 드 로 이 드 에 서 는 activity 간 점프 코드 가 이 렇 습 니 다.
?
1
2
3
4 Intent intent = new Intent(                          com.example.UITutorial_V2Activity. this ,                          com.example.sinaweibo.TestActivity. class );                  startActivity(intent);
위의 코드 에서 알 수 있 듯 이 Intent 는 com.example.UITutorial 입 니 다.V2activity 와 com.example.sinaweibo.TestActivity 사이 에서 뛰 는 중개.위의 코드 는 uitutorial 에서 test 까지 의 도약 을 실현 했다.어떤 액 티 비 티 든 이렇게 뛰 어 다 닐 수 있 고 액 티 비 티 간 의 연결 이 전혀 없습니다.만약 당신 이 값 을 전달 하고 싶다 면 아래 의 코드 를 쓸 수 있 습 니 다.
?
1
2
3
4
5
6
7 Intent intent = new Intent(                          com.example.UITutorial_V2Activity. this ,                          com.example.layout.layout2Activity. class );                  Bundle bundle = new Bundle();                  bundle.putString( "key1" , "value1" );                  intent.putExtra( "key1" , bundle);                  startActivity(intent);
Bundle 은 activity 사이 에서 값 을 전달 하 는 데 사 용 됩 니 다.리 턴 값 은 다른 방법 이다.어차피 두 액 티 비 티 를 묶 어 죽 이지 않 을 거 야.임의의 두 activity 간 의 점프 전송 값 은 intent 라 는 중개 만 빌 리 면 됩 니 다.목 표를 그 에 게 알려 주 고 전달 값 을 그 에 게 알려 주면 그 는 완성 할 수 있 습 니 다.
연상 적
두 개의 창 이 바 뀌 고 값 을 전달 하 며 완전히 연결 되 지 않 을 수 있 습 니 다.창 이 바 뀌 는 약속 에 따라 중개 에 게 맡 겨 이 일 을 완성 해 야 합 니 다.이렇게 하면 우리 에 게 매우 큰 영적 활성 을 가 져 다 주 고 재 활용 성 을 높 일 수 있다.또한 두 가지 유형 간 의 통신,변환,유사 한 체 제 를 사용 하여 두 가지 유형 을 묶 지 않 고 독립 성 을 높 일 수 있다.예 를 들 어 A,B,C 두 페이지.B 페이지 는 한 상품 의 정 보 를 표시 하고 상품 ID 만 주면 됩 니 다.그리고 B 는 백 엔 드 에서 상품 의 정 보 를 얻어 표시 합 니 다.누구나 B 페이지 를 호출 할 수 있 으 며,중개 에 게 건 네 준 뒤 상품 ID 를 전달 해 오 면 B 페이지 를 만 드 는 과정 에서 먼저 ID 를 획득 한 뒤 백 엔 드 에서 상품 정 보 를 가 져 와 표시 하면 된다.A,C 에 서 는 중 개 를 호출 해 B 로 의 점프 를 완성 할 수 있 고,이후 에 D 를 추가 해도 B 로 점프 할 수 있어 A,C,D 가 어떤 관계 가 있 는 지 는 고려 하지 않 아 도 된다.

좋은 웹페이지 즐겨찾기