다이얼로그 / Dialog, AlertDialog.Builder
             TimePickerDialog, DatePickerDialog,
             ProgressDialog 
애니메이션 / DrawableAnimation 



옵션메뉴/컨텍스트 메뉴 

optionsMenu  만들기 : 
   onCreateOptionsMenu(메뉴 menu){
        menu.add(그룹번호,15,순서,"타이틀");
   }

   onOptionsMenuSelected(MenuItem item){
      if(아이템의 아이디가==15) //기능구현
   }
   
   registerForContextMenu(뷰1);
   registerForContextMenu(뷰2);
   registerForContextMenu(뷰3);
   
   onCreateContextMenu(메뉴 menu, View view){
      if(view==뷰1){
         
      }
      menu.add(그룹번호,15,순서,"타이틀")
   }
   
   onContextMenuSelected(메뉴아이템 item){
      if(아이템의 아이디가==15) //기능구현
   }


'Android > 2012.04월 강좌' 카테고리의 다른 글

7일차 AlphaAnimation  (0) 2012.05.04
7일차 TranslateAnimation  (0) 2012.05.04
6일차 TwinAnimaion  (0) 2012.05.03
6일차 FrameAnimation 2(xml로 만드 애니메이션 이미지뷰 셋팅)  (0) 2012.05.03
6일차 FrameAnimation  (2) 2012.05.03

2012.05.04

취업 설명회


(주) 큰날개  항공 도로  RFID 관련 

www.bigtel.net


회사소개....



 ITS [ Intelligent Transportation System ] 

 지능형 교통 시스템(ITS : Intelligent Transportation Systems)은 점점 가속화되고 있는 정보화 사회에 알맞는 신속, 안전, 쾌적한 차세대 교통체계를 구현하는 데 목적을 두고 있다. ITS 서비스는 다음과 같이 분류된다. ① ATMS(Advanced Traffic Management System) : 도로상에 차량 특성, 속도 등의 교통 정보를 감지할 수 있는 시스템을 설치하여 교통 상황을 실시간으로 분석하고, 이를 토대로 도로 교통의 관리와 최적 신호 체계의 구현을 꾀하는 동시에 여행시간 측정과 교통사고 파악, 과적 단속 등의 업무 자동화를 구현한다. 예로 요금 자동 징수 시스템과 자동단속시스템이 있다. ② ATIS(Advanced Traveler Information System) : 교통 여건, 도로 상황, 출발지에서 목적지까지의 최단 경로, 소요 시간, 주차장 상황 등 각종 교통 정보를 FM 라디오방송, 차량 내 단말기 등을 통해 운전자에게 신속, 정확하게 제공함으로써 안전하고 원활한 최적 교통을 지원한다. 예로 운전자 정보 시스템, 최적 경로 안내 시스템, 여행 서비스 정보 시스템 등을 들 수 있다. ③ APTS(Advanced Public Transportation System) : 대중교통 운영체계의 정보화를 바탕으로 시민들에게는 대중교통 수단의 운행 스케줄, 차량 위치 등의 정보를 제공하여 이용자 편익을 극대화하고, 대중교통 운송 회사 및 행정 부서에는 차량관리, 배차 및 모니터링 등을 위한 정보를 제공함으로써 업무의 효율성을 극대화 한다. 예로 대중교통 정보 시스템, 대중교통 관리 시스템 등을 들 수 있다. ④ CVO(Commercial Vehicle Operation) : 컴퓨터를 통해 각 차량의 위치, 운행상태, 차내 상황 등을 관제실에서 파악하고 실시간으로 최적운행을 지시함으로써 물류비용을 절감하고, 통행료 자동 징수, 위험물 적재 차량 관리 등을 통행 물류의 합리화와 안전성 제고를 도모한다. 예로 전자 통관 시스템, 화물차량 관리 시스템 등이 있다. ⑤ AVHS(Advanced Vehicle and Highway System) : 차량에 교통상황, 장애물 인식 등의 고성능 센서와 자동제어장치를 부착하여 운전을 자동화하며, 도로상에 지능형 통신시설을 설치하여 일정간격 주행으로 교통사고를 예방하고 도로소통 능력을 증대시킨다.



        사회간접자본(SOC : Social Overhead Capital)

-사회간접자본이란 그 자체가 편의적으로 만들어진 개념이기 때문에 명확하게 정의내리기 어려운 점이 있다. 일반적으로는 도로, 철도, 항만 등의 시설을 통틀어 지칭한다. 즉 사회전반의 경제활동을 위한 기반이 된다는 의미에서 기반시설 또는 하부구조(Infrastructure)와 같은 개념으로 사용하고 있는 것이다. 부연하자면 하부구조는 다분히 물적 시설의 측면에서 정립된 개념인데 반하여 사회간접자본은 기능적 측면에서 정의된 개념이어서 물적부문 뿐만아니라 비물적부문까지 더 포괄적인 내용을 다루고 있다고 할 수 있다.


사회간접자본은 기업의 생산활동과 국민생활의 편의를 향상시키기 위하여 설치하게 된다. 최근 우리경제와 생활환경은 사회간접자본시설의 부족으로 엄청난 손실을 감수하고 있다. 고물류비로 인해 기업의 경제활동 비용이 증가되고 교통, 환경 등 국민의 생활불편이 가중되어 국가경쟁력을 상실하고 있다. 이에 따라 사회간접자본시설의 확충이 중요한 국가적 과제가 되고 있다.


  soc의 단점 단기 사업 밖에 없다...




※ 개발자들은 IT 기계에 등등 대해서 관심을 갖는게 좋다~~( 예)티머니 회사가 어딘가??)



패키지 회사....알약 ,안철수

SI - 소프트 통합  삼성SDS 

자체 솔루션....이 있냐?
이건 내가 나중에 사업할때 생각해볼 문제
인건비  문제로 인한 사업문제가 있음...(아직 까지의 시점으로는 사람이 많아야 일을 하는걸로 본다....)


초급에서 중급으로 갈려면 정보처리기사를 꼭 획득해야한다~~~


서버  -  통신적 프로그램  (C프로그래머) 

클라이언트 - 꾸미고 하는거(웹으로 바꿀려고 하고 있다. 오라클 자바 )



회사 나
give and take~~~~~~



'기타' 카테고리의 다른 글

이클립스 단축키  (0) 2012.05.02
여러가지 컴퓨터 문자 기호 읽기  (0) 2012.04.24
단위  (0) 2012.04.10
한국소프트웨어협회 ........  (0) 2012.04.03

res/values/string.xml 을 셋팅 해준다...




하나를 만들고 xml화면으로 가서 나머지 날코딩 하자~



생성하면 R.java파일에 주소값이 만들어 졌는지 확인 해보자~~


main.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:orientation="vertical" >

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/red" />

</LinearLayout>
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="hello">Hello World, TwinAnimaionActivity!</string>
    <string name="app_name">14.TwinAnimaion</string>
    <string-array name="twin">
        <item >ani0</item>
        <item >ani1</item>
        <item >ani2</item>
        <item >ani3</item>
        <item >ani4</item>
        <item >ani5</item>
        <item >ani6</item>
    </string-array>

</resources>
R.java
package com.gusfree.twinanimation;

public final class R {
    public static final class array {
        public static final int twin=0x7f050000;
    }
    public static final class attr {
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020000;
        public static final int red=0x7f020001;
    }
    public static final class id {
        public static final int imageView1=0x7f060001;
        public static final int spinner1=0x7f060000;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f040001;
        public static final int hello=0x7f040000;
    }
}

TwinAnimaion.java
package com.gusfree.twinanimation;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.TranslateAnimation;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.Toast;

public class TwinAnimaionActivity extends Activity {
	Spinner spinner;
	ImageView imageView;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		spinner=(Spinner)findViewById(R.id.spinner1);
		imageView=(ImageView)findViewById(R.id.imageView1);

		ArrayAdapter adapter=
				ArrayAdapter.createFromResource(this,R.array.twin,
						android.R.layout.simple_spinner_item);
		
		adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
		spinner.setAdapter(adapter);
		
		spinner.setOnItemSelectedListener(new Lisetener());
	}
	class Lisetener implements OnItemSelectedListener{

		@Override
		public void onItemSelected(AdapterView<?> parent, View view, int position,
				long id) {
			Toast.makeText(TwinAnimaionActivity.this, position+"번째", 0).show();
			
			//이동애니메이션 x시작점 x끝점 y시작점 y끝점
			//왼쪽 위(0,0) 오른쪽 아래 (320,460)
			TranslateAnimation ani0 =
			new TranslateAnimation(0, 320, 50, 50);
			
			ani0.setDuration(2000);
			imageView.startAnimation(ani0);
			spinner.startAnimation(ani0);
		}

		@Override
		public void onNothingSelected(AdapterView<?> arg0) {
			
		}
	}
}


스피너와 이미지뷰가 동시에 좌표값에 따라 움직인다.


'Android > 2012.04월 강좌' 카테고리의 다른 글

7일차 TranslateAnimation  (0) 2012.05.04
7일차 복습  (0) 2012.05.04
6일차 FrameAnimation 2(xml로 만드 애니메이션 이미지뷰 셋팅)  (0) 2012.05.03
6일차 FrameAnimation  (2) 2012.05.03
6일차 Dialog  (0) 2012.05.03



anim.xml 파일을 생성한다.



main.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:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="300dp"
        android:layout_height="300dp"/>
        

    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ToggleButton" 
        android:layout_gravity="right"/>

    <ToggleButton
        android:id="@+id/toggleButton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ToggleButton" 
        android:layout_gravity="right"/>

</LinearLayout>
anim.xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    android:oneshot="false">
    <item android:drawable="@drawable/red" android:duration="300" />
    <item android:drawable="@drawable/yellow" android:duration="300" />
    <item android:drawable="@drawable/blue" android:duration="300" />
</animation-list>
r.java
/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package com.gusfree.frameAnimation;

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int anim=0x7f020000;
        public static final int blue=0x7f020001;
        public static final int ic_launcher=0x7f020002;
        public static final int red=0x7f020003;
        public static final int yellow=0x7f020004;
    }
    public static final class id {
        public static final int imageView1=0x7f050000;
        public static final int toggleButton1=0x7f050001;
        public static final int toggleButton2=0x7f050002;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f040001;
        public static final int hello=0x7f040000;
    }
}

FramAnimaiton.java
package com.gusfree.frameAnimation;
 
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.ToggleButton;

public class FrameAnimationActivity extends Activity {
	ImageView imageView;
	ToggleButton toggle;
	AnimationDrawable ani;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		imageView=(ImageView)findViewById(R.id.imageView1);
		toggle =(ToggleButton)this.findViewById(R.id.toggleButton1);
		//프레임 에니메이션 객체를 만들자.
		ani = new AnimationDrawable();
		
		Resources res = getResources();//리소스 가져와라
		ani.addFrame(res.getDrawable(R.drawable.red),300);//1000이 1초 ,500=0.5초
		ani.addFrame(res.getDrawable(R.drawable.blue),300);
		ani.addFrame(res.getDrawable(R.drawable.yellow),300);
		
		//에니메이션 무한반복 셋팅하자.
		ani.setOneShot(false);
				
		//xml로 만든 애니메이션을 이미지뷰에 셋팅하자.
		imageView.setBackgroundResource(R.drawable.anim);
		
		ani=(AnimationDrawable)imageView.getBackground();
		
		toggle.setOnCheckedChangeListener(new OnCheckedChangeListener(){

			@Override
			//메서드 체크바꼈을 때
			public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
				if(isChecked){
					ani.start();
				}else{
					ani.stop();
				}
			}
		});
	}
}


012


'Android > 2012.04월 강좌' 카테고리의 다른 글

7일차 복습  (0) 2012.05.04
6일차 TwinAnimaion  (0) 2012.05.03
6일차 FrameAnimation  (2) 2012.05.03
6일차 Dialog  (0) 2012.05.03
6일차 Menu 2 (Option menu)  (0) 2012.05.03
<?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:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:src="@drawable/ic_launcher" />

    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ToggleButton" 
        android:layout_gravity="right"/>

    <ToggleButton
        android:id="@+id/toggleButton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ToggleButton" 
        android:layout_gravity="right"/>

</LinearLayout>

package com.gusfree.frameAnimation;

import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.ToggleButton;

public class FrameAnimationActivity extends Activity {
	ImageView imageView;
	ToggleButton toggle;
	AnimationDrawable ani;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		imageView=(ImageView)findViewById(R.id.imageView1);
		toggle =(ToggleButton)this.findViewById(R.id.toggleButton1);
		//프레임 에니메이션 객체를 만들자.
		ani = new AnimationDrawable();
		
		Resources res = getResources();//리소스 가져와라
		ani.addFrame(res.getDrawable(R.drawable.red),300);//1000이 1초 ,500=0.5초
		ani.addFrame(res.getDrawable(R.drawable.blue),300);
		ani.addFrame(res.getDrawable(R.drawable.yellow),300);
		
		//에니메이션 무한반복 셋팅하자.
		ani.setOneShot(false);
		
		//에니메이션 객체를 이미지뷰에 셋팅하자
		imageView.setImageDrawable(ani);
		
		toggle.setOnCheckedChangeListener(new OnCheckedChangeListener(){

			@Override
			//메서드 체크바꼈을 때
			public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
				if(isChecked){
					ani.start();
				}else{
					ani.stop();
				}
			}
		});
	}
}



012


'Android > 2012.04월 강좌' 카테고리의 다른 글

6일차 TwinAnimaion  (0) 2012.05.03
6일차 FrameAnimation 2(xml로 만드 애니메이션 이미지뷰 셋팅)  (0) 2012.05.03
6일차 Dialog  (0) 2012.05.03
6일차 Menu 2 (Option menu)  (0) 2012.05.03
6일차 복습  (0) 2012.05.03
<?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:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Dialog" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="AlertDialog" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="DatePickerDialog" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TimePickerDialog" />

    <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ProgressDialog" />

</LinearLayout>
package com.gusfree.dialog;


import java.util.Calendar;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;

public class DialogActivity extends Activity {
	Activity act;
	DialogListener dListener = new DialogListener();

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		act=this;
		Listener list = new Listener();

		findViewById(R.id.button1).setOnClickListener(list);
		findViewById(R.id.button2).setOnClickListener(list);
		findViewById(R.id.button3).setOnClickListener(list);
		findViewById(R.id.button4).setOnClickListener(list);
		findViewById(R.id.button5).setOnClickListener(list);
	}
	//inner class
	class Listener implements OnClickListener{


		@Override
		public void onClick(View v) {

			Button btn =(Button) v;
			dListener = new DialogListener();

			switch(v.getId()){
			case R.id.button1://222456777와 같은 주소번호
				btn.setText("다이얼로그 기본");
				//new Dialog(DialogActivity.this);
				Dialog dialog1=new Dialog(act);
				dialog1.setTitle("다이얼로그");
				dialog1.setContentView(R.layout.main);
				dialog1.show();
				break;

			case R.id.button2:
				AlertDialog.Builder builder = new AlertDialog.Builder(act);
				builder.setIcon(R.drawable.red);
				builder.setTitle("Red Bird");
				builder.setMessage("별명을 알고 싶나?");
				/*//android.view.View.OnClickListener;
				//android.content.DialogInterface.OnClickListener
				builder.setPositiveButton("OK",new android.content.
						DialogInterface.OnClickListener(){

					@Override
					public void onClick(DialogInterface dialog, int which) {
						switch(which){
						//case -1:
						case DialogInterface.BUTTON_POSITIVE:
						//기능구현
						Toast.makeText(act, "Syrup Finch", 0).show();
						}
					}});*/
				builder.setPositiveButton("Postive id:-1", dListener);
				builder.setNeutralButton("Neutral id:-2", dListener);
				builder.setNegativeButton("Negative id:-3", dListener);
				builder.show();
				break;

			case R.id.button3:
				Calendar cal = Calendar.getInstance();
				DatePickerDialog dpd = 
						new DatePickerDialog(act, 
								new DatePickerDialog.OnDateSetListener() {

							@Override
							public void onDateSet(DatePicker view, 
									int year, 
									int monthOfYear,
									int dayOfMonth) {
								Toast.makeText(act,
										year+"."+(monthOfYear+1)+"."+dayOfMonth,
										Toast.LENGTH_SHORT).show();
							}
						}, 
						cal.get(Calendar.YEAR),
						cal.get(Calendar.MONTH), 
						cal.get(Calendar.DAY_OF_MONTH));
				dpd.show();
				break;

			case R.id.button4:
				Calendar cal2 = Calendar.getInstance();
				new TimePickerDialog(act, 
						new TimePickerDialog.OnTimeSetListener() {

					@Override
					public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
						Toast.makeText(act, hourOfDay+":"+minute, 
								Toast.LENGTH_SHORT).show();
					}
				},
				cal2.get(Calendar.HOUR_OF_DAY),
				cal2.get(Calendar.MINUTE), 
				false).show();

				break;

			case R.id.button5:
				ProgressDialog pDialog=new ProgressDialog(act);
				pDialog.setTitle("ProgressDialog");
				pDialog.setMessage("실행되라~~");
				pDialog.setIcon(R.drawable.blue);
				pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
				pDialog.show();
				pDialog.setProgress(50);
				break;
			}
		}
	}
	class DialogListener implements android.content.DialogInterface.OnClickListener{

		@Override
		public void onClick(DialogInterface dialog, int button) {
			switch(button){
			case -1://case DialogInterface.BUTTON_POSITIVE:
				Toast.makeText(act, "Syrup Finch", 0).show();
				break;
			case -2:
				Toast.makeText(act, "테스트", 0).show();
				break;
			case -3:
				Toast.makeText(act, "테스트", 0).show();
				break;
			}
		}
	}
}package com.gusfree.dialog;


import java.util.Calendar;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;

public class DialogActivity extends Activity {
	Activity act;
	DialogListener dListener = new DialogListener();

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		act=this;
		Listener list = new Listener();

		findViewById(R.id.button1).setOnClickListener(list);
		findViewById(R.id.button2).setOnClickListener(list);
		findViewById(R.id.button3).setOnClickListener(list);
		findViewById(R.id.button4).setOnClickListener(list);
		findViewById(R.id.button5).setOnClickListener(list);
	}
	//inner class
	class Listener implements OnClickListener{


		@Override
		public void onClick(View v) {

			Button btn =(Button) v;
			dListener = new DialogListener();

			switch(v.getId()){
			case R.id.button1://222456777와 같은 주소번호
				btn.setText("다이얼로그 기본");
				//new Dialog(DialogActivity.this);
				Dialog dialog1=new Dialog(act);
				dialog1.setTitle("다이얼로그");
				dialog1.setContentView(R.layout.main);
				dialog1.show();
				break;

			case R.id.button2:
				AlertDialog.Builder builder = new AlertDialog.Builder(act);
				builder.setIcon(R.drawable.red);
				builder.setTitle("Red Bird");
				builder.setMessage("별명을 알고 싶나?");
				/*//android.view.View.OnClickListener;
				//android.content.DialogInterface.OnClickListener
				builder.setPositiveButton("OK",new android.content.
						DialogInterface.OnClickListener(){

					@Override
					public void onClick(DialogInterface dialog, int which) {
						switch(which){
						//case -1:
						case DialogInterface.BUTTON_POSITIVE:
						//기능구현
						Toast.makeText(act, "Syrup Finch", 0).show();
						}
					}});*/
				builder.setPositiveButton("Postive id:-1", dListener);
				builder.setNeutralButton("Neutral id:-2", dListener);
				builder.setNegativeButton("Negative id:-3", dListener);
				builder.show();
				break;

			case R.id.button3:
				Calendar cal = Calendar.getInstance();
				DatePickerDialog dpd = 
						new DatePickerDialog(act, 
								new DatePickerDialog.OnDateSetListener() {

							@Override
							public void onDateSet(DatePicker view, 
									int year, 
									int monthOfYear,
									int dayOfMonth) {
								Toast.makeText(act,
										year+"."+(monthOfYear+1)+"."+dayOfMonth,
										Toast.LENGTH_SHORT).show();
							}
						}, 
						cal.get(Calendar.YEAR),
						cal.get(Calendar.MONTH), 
						cal.get(Calendar.DAY_OF_MONTH));
				dpd.show();
				break;

			case R.id.button4:
				Calendar cal2 = Calendar.getInstance();
				new TimePickerDialog(act, 
						new TimePickerDialog.OnTimeSetListener() {

					@Override
					public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
						Toast.makeText(act, hourOfDay+":"+minute, 
								Toast.LENGTH_SHORT).show();
					}
				},
				cal2.get(Calendar.HOUR_OF_DAY),
				cal2.get(Calendar.MINUTE), 
				false).show();

				break;

			case R.id.button5:
				ProgressDialog pDialog=new ProgressDialog(act);
				pDialog.setTitle("ProgressDialog");
				pDialog.setMessage("실행되라~~");
				pDialog.setIcon(R.drawable.blue);
				pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
				pDialog.show();
				pDialog.setProgress(50);
				break;
			}
		}
	}
	class DialogListener implements android.content.DialogInterface.OnClickListener{

		@Override
		public void onClick(DialogInterface dialog, int button) {
			switch(button){
			case -1://case DialogInterface.BUTTON_POSITIVE:
				Toast.makeText(act, "Syrup Finch", 0).show();
				break;
			case -2:
				Toast.makeText(act, "테스트", 0).show();
				break;
			case -3:
				Toast.makeText(act, "테스트", 0).show();
				break;
			}
		}
	}
}

















menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu 
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <group android:id="@+id/group1">
        <item android:id="@+id/item1" android:title="해태"></item>
        <item android:id="@+id/item2" android:title="쌍방울"></item>
        <item android:id="@+id/item3" android:title="삼미"></item>
        <item android:id="@+id/item4" android:title="다른팀">
            <menu>
                <item android:id="@+id/item5" android:title="빙그레"/>
                <item android:id="@+id/item6" android:title="기아"/>
            </menu>
        </item>
    </group>   
</menu>
MenuActivity.java
package com.gusfree.menu;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

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

	//최초로 menu버튼 누를때 호출됩니다. 
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// 뷰를 불러올때 View.inflate(this, R.layout.main, null);

		//menu폴더안에 있는 menu.xml을 불러와서 사용하자
		MenuInflater menuInflate=new MenuInflater(this); 
		menuInflate.inflate(R.menu.menu, menu);    	
		return super.onCreateOptionsMenu(menu);
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {

		Toast.makeText(this,
				item.getTitle()+", id:"+item.getItemId(),0).show();

		switch(item.getItemId()){
		case R.id.item1:
			
			break;
		case R.id.item2:

			break;
		}
		return super.onOptionsItemSelected(item);
	}
}  








'Android > 2012.04월 강좌' 카테고리의 다른 글

6일차 FrameAnimation  (2) 2012.05.03
6일차 Dialog  (0) 2012.05.03
6일차 복습  (0) 2012.05.03
5일차 intent 4 (추가- Uri 동영상보기)  (0) 2012.05.02
5일차 Menu (Option Menu, Context Menu)  (0) 2012.05.02
모델1 방식 프로그래밍

게시판  
  글쓴사람/글제목/글내용/작성일/비번/조회수/답글수
  resultSet(10개의 글이 들어있다)
  Item 객체 10개를 만든다.
  ArrayList.add(Item) *10 번 
  ListView 에 arrayList 를 출력 
  
class Item{
   private String 글쓴사람;
   String 글제목;
   ...
   int 조회수;
   int 답글수;

   
}






GridView  : AdapteView 종류 

<GridView>
  <이미지뷰>  0
  <이미지뷰>  1
  <레이아웃>  2
      <이미지뷰/>
      <텍스트뷰/>
      <버튼/>
  </레이아웃>
</GridView>

BaseAdapter
   getCount() return (3)데이터가 총 몇개냐; 
   getView(int 포지션,   ,  ){
      // 1. 이미지뷰를 new ImageView() 만들어서
      //    그 안에 이미지를 셋팅하기
   
      // 2. xml로 만든 image.xml 불러와서 inflate
      //    그 안에 이미지를 셋팅하기  
      return <이미지뷰>;
   }

EditText 2개 라디오그룹 1개 TextView 1개
EditText에서는 입력된 값을 가져오기
Integer.parseInt(
   에디트텍스트객체.getText().toString());

<라디오그룹>
  <라디오버튼/>
  <라디오버튼/>
  <라디오버튼/>
</라디오그룹>

리디오그룹객체.setOnCheckedChangeListener()
  switch(어떤것이 체크가 되었나) {
    case 첫번째 라디오버튼 :
       텍스트뷰.setText(x + y );
  }
계산기 
findView * 4 번 : editText2개 텍스트뷰 라디오그룹
라디오그룹에 리스너를 셋팅(체크가 변했을때 부르는)

에디트텍스트객체.getText().toString();//문자가져옴
int x = Integer.parse(숫자로 바꿀 문자);//형변환


나머지 세팅값은 intent의 예제를 참고 하세요~
<?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:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="나는 main" />

    <RatingBar
        android:id="@+id/ratingBar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/button2"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="전화하기" />

    <Button
        android:id="@+id/button3"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="문자보내기" />

    <Button
        android:id="@+id/button4"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="인터넷" />

    <Button
        android:id="@+id/button5"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="동영상보기" />

</LinearLayout>
package com.gusfree.intent;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnClickListener;
import android.widget.Toast;

public class IntentActivity extends Activity implements 
OnClickListener{

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		findViewById(R.id.button1).setOnClickListener(this);
		findViewById(R.id.button2).setOnClickListener(this);
		findViewById(R.id.button3).setOnClickListener(this);
		findViewById(R.id.button4).setOnClickListener(this);
		findViewById(R.id.button5).setOnClickListener(this);

		//Context 메뉴를 어떤 뷰에 셋팅할 것인가.
		registerForContextMenu(findViewById(R.id.button4));
		
		Log.i("onCreate", "onCreate 시작");
	}

	@Override
	public void onClick(View v) {
		Log.w("onClick","버튼 눌렀다");
		int id=v.getId();
		Log.i("아이디","아이디"+id);
		switch(v.getId()){

		case R.id.button1 :

			//버튼 누르면 Sub로 Activity간 이동하기
			Intent intent=new Intent();

			intent.setClass(this, SubActivity.class);

			//intent에 데이터 binding하기		
			intent.putExtra("name", "park!");

			//startActivity(intent); //이동

			//Activity이동하고 되돌아오면 onActivityResult호출
			startActivityForResult(intent, 1000); //requestCode

			break;

		case R.id.button2://전화하기
			Intent intent2 =new Intent();
			intent2.setAction(Intent.ACTION_CALL);
			Uri uri = Uri.parse("tel:0101234578");
			intent2.setData(uri);//Uri
			startActivity(intent2);//error permission Call_Phone

			//Uri : Uniform Resource Identifier
			//naver.com  => http://www.naver.com/
			//"0101234578"  => "tel:0101234578"
			break;
     
		case R.id.button3:
			Intent intent3 =new Intent();
			intent3.setAction(Intent.ACTION_SENDTO);
			Uri uri2 = Uri.parse("sms:0101234578");
			intent3.setData(uri2);//Uri
			startActivity(intent3);
			break;

		case R.id.button4://인터넷 하기
			Intent intent4=new Intent();
			/* class Intent{
			 * 		static String ACTION_VIEW="android.intent.action.VIEW"
			 * }
			 * */			
			intent4.setAction("android.intent.action.VIEW");
			intent4.setData(Uri.parse("http://gusfree.tistory.com"));
			startActivity(intent4);
			break;
			
		case R.id.button5://동영상 보기
			Intent intent5=new Intent();
			intent5.setAction("android.intent.action.VIEW");
			intent5.setData(Uri.parse("http://youtu.be/DhWCojA0BHA"));
			startActivity(intent5);
			break;
		}
	}

	@Override //3번째 파라미터가 인텐트!
	//1param =1000, 2param = 777, 3param=theIntent
	protected void onActivityResult(int requestCode, 
			int resultCode, Intent data) {

		if(requestCode==1000){//requestCode사용 예

			if(resultCode==777){//resultcode사용예
				String id=data.getStringExtra("id");
				int month=data.getIntExtra("month", 12);

				Toast.makeText(this, id+month, 0).show();
			}else{
			}
			//super.onActivityResult(requestCode, resultCode, data);
		}
	}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		menu.add("메뉴1").setIcon(R.drawable.red);
		MenuItem item1 =menu.add("메뉴2");
		item1.setIcon(R.drawable.yellow);		
		//menu.add("메뉴2").setIcon(R.drawable.yellow);
		
		//그룹아이디, 메뉴 아이템이 아이디, 보여지는 순서 타이틀
		menu.add(100,    10         ,1,"빨간색");
		//           menuItem id
		menu.add(100,11,2,"노란색");
		return super.onCreateOptionsMenu(menu);
	}
	//콜백 메서드(callBack): on~ 시스템이 호출한다.
	//OptionsItemSelected 상황이 발생할 때 호출
	@Override//옵션 아이템을 클릭/선택 하면 호출되는 메신저
	public boolean onOptionsItemSelected(MenuItem item) {
		int id=item.getItemId();
		switch(id){
		case 10:
			findViewById(R.id.button1).setBackgroundColor(Color.RED);
		break;
		case 11:
			findViewById(R.id.button1).setBackgroundColor(Color.YELLOW);
		break;
		}
		return super.onOptionsItemSelected(item);
	}
	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		menu.add(200,20,1,"흰색");
		menu.add(200,21,3,"금색");
		super.onCreateContextMenu(menu, v, menuInfo);
	}
	@Override
	public boolean onContextItemSelected(MenuItem item) {
		switch(item.getItemId()){
		case 20:
			findViewById(R.id.button4).setBackgroundColor(Color.WHITE);
			break;
		case 21:
			findViewById(R.id.button4).setBackgroundColor(Color.rgb(200, 75, 33));
			break;
		}
		return super.onContextItemSelected(item);
	}
}	





'Android > 2012.04월 강좌' 카테고리의 다른 글

6일차 Menu 2 (Option menu)  (0) 2012.05.03
6일차 복습  (0) 2012.05.03
5일차 Menu (Option Menu, Context Menu)  (0) 2012.05.02
5일차 Intent 3 전화걸기 문자보내기 인터넷  (2) 2012.05.02
5일차 Intent2  (2) 2012.05.02



package com.gusfree.intent;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnClickListener;
import android.widget.Toast;

public class IntentActivity extends Activity implements 
OnClickListener{

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		findViewById(R.id.button1).setOnClickListener(this);
		findViewById(R.id.button2).setOnClickListener(this);
		findViewById(R.id.button3).setOnClickListener(this);
		findViewById(R.id.button4).setOnClickListener(this);

		//Context 메뉴를 어떤 뷰에 셋팅할 것인가.
		registerForContextMenu(findViewById(R.id.button4));
		
		Log.i("onCreate", "onCreate 시작");
	}

	@Override
	public void onClick(View v) {
		Log.w("onClick","버튼 눌렀다");
		int id=v.getId();
		Log.i("아이디","아이디"+id);
		switch(v.getId()){

		case R.id.button1 :

			//버튼 누르면 Sub로 Activity간 이동하기
			Intent intent=new Intent();

			intent.setClass(this, SubActivity.class);

			//intent에 데이터 binding하기		
			intent.putExtra("name", "park!");

			//startActivity(intent); //이동

			//Activity이동하고 되돌아오면 onActivityResult호출
			startActivityForResult(intent, 1000); //requestCode

			break;

		case R.id.button2://전화하기
			Intent intent2 =new Intent();
			intent2.setAction(Intent.ACTION_CALL);
			Uri uri = Uri.parse("tel:0101234578");
			intent2.setData(uri);//Uri
			startActivity(intent2);//error permission Call_Phone

			//Uri : Uniform Resource Identifier
			//naver.com  => http://www.naver.com/
			//"0101234578"  => "tel:0101234578"
			break;
     
		case R.id.button3:
			Intent intent3 =new Intent();
			intent3.setAction(Intent.ACTION_SENDTO);
			Uri uri2 = Uri.parse("sms:0101234578");
			intent3.setData(uri2);//Uri
			startActivity(intent3);
			break;

		case R.id.button4://인터넷 하기
			Intent intent4=new Intent();
			/* class Intent{
			 * 		static String ACTION_VIEW="android.intent.action.VIEW"
			 * }
			 * */			
			intent4.setAction("android.intent.action.VIEW");
			intent4.setData(Uri.parse("http://gusfree.tistory.com"));
			startActivity(intent4);
			break;
		}
	}

	@Override //3번째 파라미터가 인텐트!
	//1param =1000, 2param = 777, 3param=theIntent
	protected void onActivityResult(int requestCode, 
			int resultCode, Intent data) {

		if(requestCode==1000){//requestCode사용 예

			if(resultCode==777){//resultcode사용예
				String id=data.getStringExtra("id");
				int month=data.getIntExtra("month", 12);

				Toast.makeText(this, id+month, 0).show();
			}else{
			}
			//super.onActivityResult(requestCode, resultCode, data);
		}
	}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		menu.add("메뉴1").setIcon(R.drawable.red);
		MenuItem item1 =menu.add("메뉴2");
		item1.setIcon(R.drawable.yellow);		
		//menu.add("메뉴2").setIcon(R.drawable.yellow);
		
		//그룹아이디, 메뉴 아이템이 아이디, 보여지는 순서 타이틀
		menu.add(100,    10         ,1,"빨간색");
		//           menuItem id
		menu.add(100,11,2,"노란색");
		return super.onCreateOptionsMenu(menu);
	}
	//콜백 메서드(callBack): on~ 시스템이 호출한다.
	//OptionsItemSelected 상황이 발생할 때 호출
	@Override//옵션 아이템을 클릭/선택 하면 호출되는 메신저
	public boolean onOptionsItemSelected(MenuItem item) {
		int id=item.getItemId();
		switch(id){
		case 10:
			findViewById(R.id.button1).setBackgroundColor(Color.RED);
		break;
		case 11:
			findViewById(R.id.button1).setBackgroundColor(Color.YELLOW);
		break;
		}
		return super.onOptionsItemSelected(item);
	}
	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		menu.add(200,20,1,"흰색");
		menu.add(200,21,3,"금색");
		super.onCreateContextMenu(menu, v, menuInfo);
	}
	@Override
	public boolean onContextItemSelected(MenuItem item) {
		switch(item.getItemId()){
		case 20:
			findViewById(R.id.button4).setBackgroundColor(Color.WHITE);
			break;
		case 21:
			findViewById(R.id.button4).setBackgroundColor(Color.rgb(200, 75, 33));
			break;
		}
		return super.onContextItemSelected(item);
	}
}	




메뉴를 클릭 선택한거에 따라서 button1 색이 바뀐다.(Option Menu라고 한다.)



button4를 길게 누르면 menu가 나오고 선택한거에 따라 버튼 색이 바뀐다.(Context Menu)





<?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:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="나는 main" />

    <RatingBar
        android:id="@+id/ratingBar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/button2"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="전화하기" />

    <Button
        android:id="@+id/button3"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="문자보내기" />

    <Button
        android:id="@+id/button4"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="인터넷" />

</LinearLayout>
<?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:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="나는 sub " />
</LinearLayout>



<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.gusfree.intent"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.CALL_PHONE"/>

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".IntentActivity"
            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="SubActivity"></activity>
    </application>

</manifest>
package com.gusfree.intent;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;

public class IntentActivity extends Activity implements 
OnClickListener{

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		findViewById(R.id.button1).setOnClickListener(this);
		findViewById(R.id.button2).setOnClickListener(this);
		findViewById(R.id.button3).setOnClickListener(this);
		findViewById(R.id.button4).setOnClickListener(this);

		Log.i("onCreate", "onCreate 시작");
	}

	@Override
	public void onClick(View v) {
		Log.w("onClick","버튼 눌렀다");
		int id=v.getId();
		Log.i("아이디","아이디"+id);
		switch(v.getId()){

		case R.id.button1 :

			//버튼 누르면 Sub로 Activity간 이동하기
			Intent intent=new Intent();

			intent.setClass(this, SubActivity.class);

			//intent에 데이터 binding하기		
			intent.putExtra("name", "park!");

			//startActivity(intent); //이동

			//Activity이동하고 되돌아오면 onActivityResult호출
			startActivityForResult(intent, 1000); //requestCode

			break;

		case R.id.button2://전화하기
			Intent intent2 =new Intent();
			intent2.setAction(Intent.ACTION_CALL);
			Uri uri = Uri.parse("tel:0101234578");
			intent2.setData(uri);//Uri
			startActivity(intent2);//error permission Call_Phone

			//Uri : Uniform Resource Identifier
			//naver.com  => http://www.naver.com/
			//"0101234578"  => "tel:0101234578"
			break;
     
		case R.id.button3:
			Intent intent3 =new Intent();
			intent3.setAction(Intent.ACTION_SENDTO);
			Uri uri2 = Uri.parse("sms:0101234578");
			intent3.setData(uri2);//Uri
			startActivity(intent3);
			break;

		case R.id.button4://인터넷 하기
			Intent intent4=new Intent();
			/* class Intent{
			 * 		static String ACTION_VIEW="android.intent.action.VIEW"
			 * }
			 * */			
			intent4.setAction("android.intent.action.VIEW");
			intent4.setData(Uri.parse("http://gusfree.tistory.com"));
			startActivity(intent4);
			break;
		}
	}

	@Override //3번째 파라미터가 인텐트!
	//1param =1000, 2param = 777, 3param=theIntent
	protected void onActivityResult(int requestCode, 
			int resultCode, Intent data) {

		if(requestCode==1000){//requestCode사용 예

			if(resultCode==777){//resultcode사용예
				String id=data.getStringExtra("id");
				int month=data.getIntExtra("month", 12);

				Toast.makeText(this, id+month, 0).show();
			}else{
			}
			//super.onActivityResult(requestCode, resultCode, data);
		}
	}
}	
package com.gusfree.intent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class SubActivity extends Activity implements OnClickListener{
	Intent theInent;//객체 선언
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.sub);
		
		Button btn = (Button)findViewById(R.id.button1);
		btn.setOnClickListener(this);
		
		//intent에 binding된 데이터 읽기
		theInent = getIntent();//(객체 초기화)나를 호출한 인텐트 찾기
		String name=theInent.getStringExtra("name");//키
		btn.setText(name+btn.getText());
	}

	@Override
	public void onClick(View arg0) {
		
		theInent.putExtra("id", "com.gusfree.intent");
		theInent.putExtra("month", 5);
		
		//forResult로 왔을때 사용해야 되는 메서드
		setResult(777, theInent);//resultCode
		
		finish();//액티비티 종료
	}
}






'Android > 2012.04월 강좌' 카테고리의 다른 글

5일차 intent 4 (추가- Uri 동영상보기)  (0) 2012.05.02
5일차 Menu (Option Menu, Context Menu)  (0) 2012.05.02
5일차 Intent2  (2) 2012.05.02
5일차 LogCat을 사용한 error 찾기  (0) 2012.05.02
5일차 Intent  (0) 2012.05.02


IntentActivity.java
package com.gusfree.intent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;

public class IntentActivity extends Activity implements 
OnClickListener{

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		findViewById(R.id.button1).setOnClickListener(this);

		Log.i("onCreate", "onCreate 시작");
	}

	@Override
	public void onClick(View v) {

		// 에러찾을때 
		Log.w("onClick","버튼 눌렀다");
		//버튼 누르면 Sub로 Activity간 이동하기
		Intent intent=new Intent();

		intent.setClass(this, SubActivity.class);

		//intent에 데이터 binding하기		
		intent.putExtra("name", "park!");

		//startActivity(intent); //이동

		//Activity이동하고 되돌아오면 onActivityResult호출
		startActivityForResult(intent, 1000); //requestCode

	}

	@Override //3번째 파라미터가 인텐트!
	//1param =1000, 2param = 777, 3param=theIntent
	protected void onActivityResult(int requestCode, 
			int resultCode, Intent data) {

		if(requestCode==1000){//requestCode사용 예

			if(resultCode==777){//resultcode사용예
				String id=data.getStringExtra("id");
				int month=data.getIntExtra("month", 12);

				Toast.makeText(this, id+month, 0).show();
			}else{
			}
			//super.onActivityResult(requestCode, resultCode, data);
		}
	}
}	
SubActivity.java
package com.gusfree.intent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class SubActivity extends Activity implements OnClickListener{
	Intent theIntent;//객체 선언
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.sub);
		
		Button btn = (Button)findViewById(R.id.button1);
		btn.setOnClickListener(this);
		
		//intent에 binding된 데이터 읽기
		theIntent = getIntent();//(객체 초기화)나를 호출한 인텐트 찾기
		String name=theIntent.getStringExtra("name");//키
		btn.setText(name+btn.getText());
	}

	@Override
	public void onClick(View arg0) {
		
		theIntent.putExtra("id", "com.gusfree.intent");
		theIntent.putExtra("month", 5);
		
		//forResult로 왔을때 사용해야 되는 메서드
		setResult(777, theIntent);//resultCode
		
		finish();//액티비티 종료
	}
}




다시 눌렀을때~~


'Android > 2012.04월 강좌' 카테고리의 다른 글

5일차 Menu (Option Menu, Context Menu)  (0) 2012.05.02
5일차 Intent 3 전화걸기 문자보내기 인터넷  (2) 2012.05.02
5일차 LogCat을 사용한 error 찾기  (0) 2012.05.02
5일차 Intent  (0) 2012.05.02
5일차 Grid  (0) 2012.05.02
package com.gusfree.intent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;

public class IntentActivity extends Activity implements OnClickListener{

	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        findViewById(R.id.button1).setOnClickListener(this);
        
        Log.i("onCreate","onCreate 시작");
    }

	@Override
	public void onClick(View v) {
		
		//에러찾을 때 
		Log.w("onClick","버튼을 눌렀다.");
		//버튼 누르면 Sub로 Activity간 이동하기
		Intent intent =new Intent();
		Log.w("onClick","1");
		intent.setClass(this, SubActivity.class);
		Log.w("onClick","2");
		startActivity(intent);//이동//error
		Log.w("onClick","3");
	}
}






'Android > 2012.04월 강좌' 카테고리의 다른 글

5일차 Intent 3 전화걸기 문자보내기 인터넷  (2) 2012.05.02
5일차 Intent2  (2) 2012.05.02
5일차 Intent  (0) 2012.05.02
5일차 Grid  (0) 2012.05.02
5일차 계산기  (0) 2012.05.02
main.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:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="나는 main" />


    <RatingBar
        android:id="@+id/ratingBar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>
sub.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:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="나는 sub " />

</LinearLayout>
IntentActivity.java 23번 줄 에러 로 manifest설정 




androidmanifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.gusfree.intent"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".IntentActivity"
            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="SubActivity"></activity>
    </application>

</manifest>
IntentActivity.java
package com.gusfree.intent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

public class IntentActivity extends Activity implements OnClickListener{

	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        findViewById(R.id.button1).setOnClickListener(this);
    }

	@Override
	public void onClick(View v) {
		//버튼 누르면 Sub로 Activity간 이동하기
		Intent intent =new Intent();
		intent.setClass(this, SubActivity.class);
		startActivity(intent);//이동//error
	}
}
SubActivity.java
package com.gusfree.intent;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

public class SubActivity extends Activity implements OnClickListener{
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.sub);
		
		findViewById(R.id.button1).setOnClickListener(this);
	}

	@Override
	public void onClick(View arg0) {
		finish();//액티비티 종료
	}
}






'Android > 2012.04월 강좌' 카테고리의 다른 글

5일차 Intent2  (2) 2012.05.02
5일차 LogCat을 사용한 error 찾기  (0) 2012.05.02
5일차 Grid  (0) 2012.05.02
5일차 계산기  (0) 2012.05.02
5일차 계산기(내가 한것)  (0) 2012.05.02
main.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:orientation="vertical" 
    android:id="@+id/layout">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    <GridView
        android:id="@+id/gridView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:numColumns="3" >
        <!-- android:numColumns="auto_fit"-->
        
    </GridView>

</LinearLayout>
item.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:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="100px"
        android:layout_height="100px"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

</LinearLayout>
GridViewActivity.java
package com.gusfree.gridview;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

public class GridViewActivity extends Activity {
    GridView gridView;
    ArrayList<Data> list=new ArrayList<Data>();  //collection
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main); //inflate        
        gridView=(GridView) this.findViewById(R.id.gridView1);        

        list.add(new Data(R.drawable.black,"0번"));
		list.add(new Data(R.drawable.blue,"1번"));
		list.add(new Data(R.drawable.green,"2번"));
		list.add(new Data(R.drawable.red,"3번"));
		list.add(new Data(R.drawable.yell,"4번"));
        
        // 2+ (3*5)
        gridView.setAdapter(new MyAdapter());
        
        //내가 click한 item의 이미지를 배경화면으로 셋팅하기
        gridView.setOnItemClickListener(
        	     new OnItemClickListener(){

					@Override
					public void onItemClick(AdapterView<?> arg0, View arg1,
							int position, long arg3) {
					Data theData=list.get(position);
					int imageId=theData.getImageId();
					
					GridViewActivity.this
					.findViewById(R.id.layout)
					.setBackgroundResource(imageId);
						
					}});
        
    }
    
    class MyAdapter extends BaseAdapter{

		@Override
		public int getCount() {			
			return list.size();
		}

		@Override
		public Object getItem(int arg0) {			
			return null;
		}

		@Override
		public long getItemId(int arg0) {			
			return 0;
		}

		@Override
		public View getView(int position, View arg1, ViewGroup arg2) {
			//item.xml을 불러오자
			LinearLayout layout=(LinearLayout)
			View.inflate(GridViewActivity.this,  //getApplicationContext();
					R.layout.item, null);
			
			//자원 list     .. list.add(new Data());
			Data oneData=list.get(position);
			
			int imageId=oneData.getImageId();
			//불러온 xml안의 ImageViwe에 이미지를 셋팅합니다
			//   ( 2*(3+5) ) -1 
			((ImageView)layout.
					findViewById(R.id.imageView1)).
					setImageResource(imageId);
			
			//불러온 xml안의 TextView에 글자를 셋팅합니다
			TextView tv=(TextView) layout.findViewById(R.id.textView1);
			tv.setText(oneData.getTitle());
			
			return layout;
		}
    	
    }
}
Data.java
package com.gusfree.gridview;

public class Data {
	private int imageId; // 이미지 주소
	private String title; //은닉화 
	
	public Data(){ //Default 생성자 Constructor
		//new Data();
	}
	
	public Data(int id, String title){//생성자 오버로딩
		//new Data(3, "dd");
		imageId=id;
		this.title=title;
	}
	
	public int getImageId(){
		return imageId;
	}
	
	public String getTitle(){ 
		// 조건 로그인했냐 .. 권한이 있냐.. 추후 ..
		return title;
	}
}




'Android > 2012.04월 강좌' 카테고리의 다른 글

5일차 LogCat을 사용한 error 찾기  (0) 2012.05.02
5일차 Intent  (0) 2012.05.02
5일차 계산기  (0) 2012.05.02
5일차 계산기(내가 한것)  (0) 2012.05.02
5일차 복습  (0) 2012.05.02

+ Recent posts