Presentation is loading. Please wait.

Presentation is loading. Please wait.

로봇을 조종하자 4/4 UNIT 18 로봇 SW 콘텐츠 교육원 조용수. 학습 목표 Intent Activity 호출 2.

Similar presentations


Presentation on theme: "로봇을 조종하자 4/4 UNIT 18 로봇 SW 콘텐츠 교육원 조용수. 학습 목표 Intent Activity 호출 2."— Presentation transcript:

1 로봇을 조종하자 4/4 UNIT 18 로봇 SW 콘텐츠 교육원 조용수

2 학습 목표 Intent Activity 호출 2

3 Intent –App 에서 다른 App 이나 컴포넌트를 실행하기 위한 메커 니즘. – 안드로이드 컴포넌트를 실행하는 정보와 컴포넌트에 전 달할 데이터를 포함 – 명시적 인텐트 (Explicit Intent): 대상의 컴포넌트 이름이 지정되어 있는 인텐트 – 암시적 인텐트 (Implicit Intent): 인텐트 내의 여러 정보를 바탕으로 가장 적절한 대상 컴포너트를 실행 3

4 암시적 (Implicit) 인텐트 Intent() Intent(String action) Intent(String action, Uri uri) 액션 –ACTION_MAIN –ACTION_VIEW –ACTION_ATTACH_DATA –ACTION_EDIT –ACTION_PICK –ACTION_CHOOSER –ACTION_GET_CONTENT –ACTION_DIAL –ACTION_CALL –ACTION_SEND 4 –ACTION_SENDTO –ACTION_ANSWER –ACTION_INSERT –ACTION_DELETE –ACTION_RUN –ACTION_SYNC –ACTION_PICK_ACTIVITY –ACTION_SEARCH –ACTION_WEB_SEARCH –ACTION_FACTORY_TEST

5 암시적 (Implicit) 인텐트 5 callButton.setOnClickListener(new OnClickListener(){ public void onClick(View v) { Intent i = new Intent(Intent.ACTION_CALL); i.setData(Uri.parse("tel:0101234567")); startActivity(i); } }); dialButton.setOnClickListener(new OnClickListener(){ public void onClick(View v) { Intent i = new Intent(Intent.ACTION_DIAL); i.setData(Uri.parse("tel:0101234567")); startActivity(i); } });

6 암시적 인텐트 6 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/show" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/show" />

7 암시적 인텐트 7 public class MainActivity extends Activity { private Button showButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showButton = (Button)findViewById(R.id.show); showButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"))); } }); }

8 암시적 인텐트 8 public class MainActivity extends Activity { private Button showButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showButton = (Button)findViewById(R.id.show); showButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY, " 광운대학교 "); startActivity(intent); } }); }

9 명시적 인텐트 만들기 9 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.unit21" android:versionCode="1" android:versionName="1.0" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" >

10 명시적 인텐트 만들기 10 public class SecondActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second); TextView textView = (TextView)findViewById(R.id.text); Intent intent = getIntent(); String text = intent.getStringExtra("text"); textView.setText(text); }

11 명시적 인텐트 만들기 11 public class MainActivity extends Activity { private Button showButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showButton = (Button)findViewById(R.id.show); showButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent("example.android.TEST"); intent.putExtra("text", " 광운대학교 "); startActivity(intent); } }); }

12 다중 Activity 12 public class MainActivity extends Activity { … @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_04 = (Button)findViewById(R.id.btn_04); btn_04.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.putExtra("text", " 광운대학교 "); startActivity(intent); } }); }

13 다중 Activity : 데이터 수신 13 public class SecondActivity extends Activity{ TextView tvResult; Button btnEnd; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); tvResult = (TextView)findViewById(R.id.tvResult); Intent intent = getIntent(); String data = intent.getStringExtra("text"); Log.d("Second", "Result : " + data); tvResult.setText("Result : " + data); }

14 Activty 반환 값 14 public class MainActivity extends Activity { … Button btn_05; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); … btn_05 = (Button)findViewById(R.id.btn_05); btn_05.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.putExtra("text", " 광운대학교 "); startActivityForResult(intent, 999); } }); }

15 Activty 반환 값 : 호출 15 public class MainActivity extends Activity { … Button btn_05; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); … btn_05 = (Button)findViewById(R.id.btn_05); btn_05.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.putExtra("text", " 광운대학교 "); startActivityForResult(intent, 999); } }); }

16 Activty 반환 값 : 리턴 16 public class SecondActivity extends Activity{ … Button btnEnd; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub … btnEnd = (Button)findViewById(R.id.btnEnd); btnEnd.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = getIntent(); intent.putExtra("Result", "SUCCESS"); setResult(RESULT_OK, intent); finish(); } }); … } @Override public void onBackPressed() { // TODO Auto-generated method stub Intent intent = getIntent(); intent.putExtra("Result", "FAIL"); setResult(RESULT_CANCELED, intent); finish(); }

17 Activty 반환 값 : 리턴 값 확인 17 public class MainActivity extends Activity { … @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub String result; if(requestCode == 999) { if(resultCode == RESULT_OK) { result = data.getStringExtra("Result"); Log.d("MAIN", "RESULT_OK : " + result); } else if(resultCode == RESULT_CANCELED) { result = data.getStringExtra("Result"); Log.d("MAIN", "RESULT_CANCELED : " + result); }

18 실습 18 로봇 조종 통합 Activity 제작 –Touch – 방향키 –Acceleromenter


Download ppt "로봇을 조종하자 4/4 UNIT 18 로봇 SW 콘텐츠 교육원 조용수. 학습 목표 Intent Activity 호출 2."

Similar presentations


Ads by Google