'안드로이드 intent'에 해당되는 글 2건

  1. 2012.01.06 안드로이드 Intent putExtra, getIntent 예제 따라하기 (2)
  2. 2012.01.04 안드로이드 Intent 예제 따라하기
JAVA/Android2012.01.06 14:11
- 안드로이드 Intent에서 putExtra를 해주게 되면 값을 넘겨 주고 getIntent를 이용해서 값을 받아 사용할 수 있다
- Intent 전달 된 값을 다시 result 할 수 있다.

-자바 소스
public class Ex06_IntentWithParamActivity extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button button = (Button)this.findViewById(R.id.button1);
        button.setOnClickListener(this);
        
    }

public void onClick(View arg0) {
// TODO Auto-generated method stub
switch(arg0.getId()){
case R.id.button1:
TextView tv =(TextView)this.findViewById(R.id.textview);
Intent intent = new Intent(this, Activity1.class);
intent.putExtra("param1", tv.getText().toString());
startActivityForResult(intent,1); // 값을 전달 다시 받아오기위해 forresult를 사용했다.
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
//super.onActivityResult(requestCode, resultCode, data);
switch(requestCode){
case 1:
if(resultCode == RESULT_OK){
String ret = data.getStringExtra("retVal"); //다시 받온 값을 여기서 처리한다.
TextView tv1 = (TextView)this.findViewById(R.id.textview);
tv1.setText(ret);
}else if(resultCode == RESULT_CANCELED){
}
break;
}
}
}
--------------------------------------------------------------------------------------------------------
public class Activity1 extends Activity implements OnClickListener {
EditText edit;
public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity);

       Intent intent = getIntent(); // 값을 받아온다.
       String s = intent.getStringExtra("param1");        
      
       edit = (EditText)this.findViewById(R.id.edittext);
       edit.setText(s);
       //edit.setO

       Button btn1 = (Button)this.findViewById(R.id.ok);
       btn1.setOnClickListener(this);
       Button btn2 = (Button)this.findViewById(R.id.cancel);
       btn2.setOnClickListener(this);
   }
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch(arg0.getId()){
case R.id.ok:
String s2 = edit.getText().toString();
Intent retIntent = new Intent();
retIntent.putExtra("retVal", s2);
setResult(RESULT_OK,retIntent);
finish();
break;
case R.id.cancel:
setResult(RESULT_CANCELED);
finish();
break;
}
}
}
 
-실행화면

[##_http://seungngil.tistory.com/script/powerEditor/pages/1N%7Ccfile9.uf@1957B63C4F06823A19CBF6.png%7Cwidth=%22200%22%20height=%22331%22%20alt=%22%22%20filename=%22in.png%22%20filemime=%22image/jpeg%22%7C_##]

신고
Posted by Namseungil
JAVA/Android2012.01.04 11:15
- 안드로이드에서 다음기능으로 넘어갈때(다른용도로도 많이 쓴다) 쓰는 기능인 Intent 를 사용해서 전화걸기, 구글들어가기, 사진보기, 내가 만든 기능으로 넘어가기 를 해보자.
- 여러 화면을 사용하려면, AndroidManifest.xml 이라는 곳에서 엑티비티를 사용하겠다고 추가해줘야 한다.
 
- Java 소스 

public class Ex05_ImplictyIntentActivity extends Activity implements
OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button b1 = (Button) this.findViewById(R.id.bu1);
b1.setOnClickListener(this);
Button b2 = (Button) this.findViewById(R.id.bu2);
b2.setOnClickListener(this);
Button b3 = (Button) this.findViewById(R.id.bu3);
b3.setOnClickListener(this);
Button b4 = (Button) this.findViewById(R.id.bu4);
b4.setOnClickListener(this);
}

public void onClick(View arg0) {
// TODO Auto-generated method stub
// String path = getFilesDir().getAbsolutePath();
Intent intent = null;

switch (arg0.getId()) {

case R.id.bu1:
intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://www.google.com/"));
startActivity(intent);
break;
case R.id.bu2:
intent = new Intent(Intent.ACTION_DIAL,
Uri.parse("tel:010-1234-1234"));
startActivity(intent);
break;
case R.id.bu3:
intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(new File("/sdcard/picture1.jpg"));//해당위치에 이미지가 있으면 출력
intent.setDataAndType(uri, "image/jpg");
startActivity(intent);
break;
case R.id.bu4:
intent = new Intent(this, Ex05_Calulator.class); //내가 만든 클래스 이것은 매니페스트에 추가해                                                                                              줘야 한다.
startActivity(intent);
break;
}

}


- xml 소스

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/go"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <Button
        android:id="@+id/bu1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="구글 접속" />

    <Button
        android:id="@+id/bu2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="전화 걸기" />

    <Button
        android:id="@+id/bu3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="사진 보기" />

    <Button
        android:id="@+id/bu4"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="계산기" />

</LinearLayout>

-  AndroidManifest.xml

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Ex05_ImplictyIntentActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        
        <activity android:name=".Ex05_Calulator"    // 이런식으로 추가해야한다.
                  android:label="@string/app_name">
        </activity>

    </application>

- 실행화면
 

[##_1N_##]

[##_http://seungngil.tistory.com/script/powerEditor/pages/1N%7Ccfile22.uf@122B56354F03B5FF352483.png%7Cwidth=%22200%22%20height=%22332%22%20alt=%22%22%20filename=%22intent2.png%22%20filemime=%22image/jpeg%22%7C_##]




 
신고
Posted by Namseungil

티스토리 툴바