2011. 4. 21. 12:14
안드로이드
기본적인 명시적 호출방식
Intent i = new Intent(HelloGallery.this, SecontActivity.class);
startActivity(i);
Component를 통한 호출
ComponentName cn = new ComponentName("my.andr.u8", "my.andr.u8.SecontActivity");
Intent i2 = new Intent();
i2.setComponent(cn);
startActivity(i2);
외부파일을 호출한다 (이거 대박 신기함)
Intent i3 = new Intent("com.ioedu.android");
startActivity(i3);
/*Manifest를 아래 처럼해놓으면 외부 파일에서도 해당 액티비티를 실행 할수있따
<activity android:name="SecontActivity">
<intent-filter>
<action android:name="com.ioedu.android">
</action>
<category android:name="android.intent.category.DEFAULT">
< /category>
</intent-filter>
</activity>
</action>
<category android:name="android.intent.category.DEFAULT">
< /category>
</intent-filter>
</activity>
*/
전화다이얼 뜨는 인텐츠다 ,카메라 도 실행 시킬 수있다
Intent i4 = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:1234567"));
startActivity(i4);
/* Manifest.xml
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
*/
인터넷창이 뜬다 http를 "tel:123214" 하면 전화창을 띄울수있따
Intent i5 = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.google.com"));
전화다이얼 뜨는 인텐츠다 ,카메라 도 실행 시킬 수있다
Intent i4 = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:1234567"));
startActivity(i4);
/* Manifest.xml
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
*/
인터넷창이 뜬다 http를 "tel:123214" 하면 전화창을 띄울수있따
Intent i5 = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.google.com"));
startActivity(i5);
/* Manifest.xml
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
*/
액티비티끼리 데이타 주고 받기
aActivity.java
값을 보내는 부분{
Intent i = new Intent(this, bActivity.class);
i.putExtra("name", "홍길동");
startActivityForResult(i, ACTIVITY_EDIT);
}
결과값을 기대하면서 보내는 부분{
Intent i = new Intent(this, bActivity.class);
//결과값을 기대하는 인텐트 부른다
startActivityForResult(i, ACTIVITY_CREATE);
}
값이 들어오는부분
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if(intent == null)
return;
Bundle extras = intent.getExtras();
switch(requestCode) {
case ACTIVITY_CREATE:
String title = extras.getString("name");
break;
case ACTIVITY_EDIT:
String editTitle = extras.getString("name");
break;
/* Manifest.xml
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
*/
액티비티끼리 데이타 주고 받기
aActivity.java
값을 보내는 부분{
Intent i = new Intent(this, bActivity.class);
i.putExtra("name", "홍길동");
startActivityForResult(i, ACTIVITY_EDIT);
}
결과값을 기대하면서 보내는 부분{
Intent i = new Intent(this, bActivity.class);
//결과값을 기대하는 인텐트 부른다
startActivityForResult(i, ACTIVITY_CREATE);
}
값이 들어오는부분
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if(intent == null)
return;
Bundle extras = intent.getExtras();
switch(requestCode) {
case ACTIVITY_CREATE:
String title = extras.getString("name");
break;
case ACTIVITY_EDIT:
String editTitle = extras.getString("name");
break;
.
.
.
}
bActivity.java
Intent i = getIntent();
if(i.getExtras() != null){//받아오는 값이 있나?? 잇으면 세팅
String s = i.getStringExtra("name").toString();
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText(s);
}
findViewById(R.id.btn_result).setOnClickListener(new OnClickListener(){
.
.
}
bActivity.java
Intent i = getIntent();
if(i.getExtras() != null){//받아오는 값이 있나?? 잇으면 세팅
String s = i.getStringExtra("name").toString();
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText(s);
}
findViewById(R.id.btn_result).setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i = new Intent();//인텐트에 값을 실어 결과값을 기다리는 인텐츠에게 보낸다
i.putExtra("name", "잘했어요");
setResult(RESULT_OK, i);
finish();
}});
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i = new Intent();//인텐트에 값을 실어 결과값을 기다리는 인텐츠에게 보낸다
i.putExtra("name", "잘했어요");
setResult(RESULT_OK, i);
finish();
}});
'안드로이드' 카테고리의 다른 글
MessageHandler (0) | 2011.04.21 |
---|---|
Alert 다이얼로그 (0) | 2011.04.21 |
안드로이드 shake 입력 결과 받기 체크 (0) | 2011.03.17 |
이펙트 사운드 다운로드 사이트 (0) | 2010.12.21 |
adb failed (0) | 2010.12.20 |