본문 바로가기
STUDY/Android(기본)

안드로이드 예제(1)

by Anne of Green Galbes 2019. 4. 10.

예제 1 버튼을 누르면 새로운 창이 뜨도록 (새로운 xml파일,java파일 생성)


① 새 버튼 생성

○ activity_main.xml

<Button

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:id="@+id/btn1"

  android:text="새로운 창" />


② Android XML Layout File 생성

○ 파일 위치 : layout풀더

○ new > other > Android > Android XML Layout File

○ 이름은 무조건 소문자로 작성


③ activity_new.xml과 연결된 java파일 생성

 ○ AndroidManifest.xml : 안드로이드의 환경설정 파일

    - Application


  - name 클릭


④ Intent작업(새창을 띄우는 작업)

○ MainActivity.java

@Override

protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.activity_main);

  Button btn1 = (Button)findViewById(R.id.btn1);

  

     btn1.setOnClickListener(new Button.OnClickListener(){


        @Override

        public void onClick(View v) {

           //MainActivity.this → ActivityNew.class

           //new Intent(현재창,새창);

           Intent intent = new Intent(MainActivity.this,ActivityNew.class);

           //엑티비티 실행

           startActivity(intent);

        }

   

     });

  

}

○ ActivityNew.java

public class ActivityNew extends Activity {


@Override

public void onCreate(Bundle savedInstanceState) {

   super.onCreate(savedInstanceState);

  

   setContentView(R.layout.activity_new);

  

}

}

⑤ 결과


예제 2 : 새창에 리스트 띄우기

① Android XML File 생성

○ 파일위치 : values

○ new > other > Android XML File

○ 이름 : array


② menu.xml 작성

<?xml version="1.0" encoding="utf-8"?>

<resources>

  <string-array name="sul">

      <item >소중</item>

      <item >맥주</item>

      <item >양주</item>

      <item >와인</item>

      <item >막걸리</item>

      <item >정종</item>

      <item >소맥</item>

      <item >보드카</item>

      <item >whisky</item>

      <item >jin</item>

  </string-array>  

</resources>

③ 버튼 이름 변경

○ activity_array.xml

android:text="선호하는 술"


④ ListView 생성

○ activity_new.xml

<ListView

   android:layout_width="fill_parent"

   android:layout_height="wrap_content"

   android:id="@+id/list"

/>


⑤ 리스트 보여주기

○ ActivityNew.java

 - 단일 목록

@Override

public void onCreate(Bundle savedInstanceState) {

   super.onCreate(savedInstanceState);

  

      setContentView(R.layout.activity_new);

  

      //array.xml 배열로 받음

      String items[] = getResources().getStringArray(R.array.sul);

  

      ListView lv = (ListView)findViewById(R.id.list);

  

      //단일 목록 표시

      lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice,items));

  

      //한 개의 리스트만 선택이 되도록

      lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

  

      //첫 글자 입력이 되면 검색이 되도록

      //초성 검색

      lv.setTextFilterEnabled(true);

  

      //선택을 하면 '□□□를 좋아하시는 군요'

      lv.setOnItemClickListener(new OnItemClickListener(){

   

               //position : 인덱스번호(0번부터 시작)

               @Override

               public void onItemClick(AdapterView<?> adp, View view, int position, long id) {

                     String str = (String)adp.getItemAtPosition(position);

                     str += "를 좋아하는 군요";

                     //context : 띄울 곳 / text : 띄울 것 / duration : 얼마 동안

                      Toast.makeText(ActivityNew.this, str, Toast.LENGTH_LONG).show();

               }

   

      });

  

}

 - 다중 목록

@Override

public void onCreate(Bundle savedInstanceState) {

   super.onCreate(savedInstanceState);

  

      setContentView(R.layout.activity_new);

      String items[] = getResources().getStringArray(R.array.sul);

  

      ListView lv = (ListView)findViewById(R.id.list);


      //다중 목록 표시

      lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice,items));

  

      lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);   

  

}


⑥ 결과 창


예제 3 : ListActivity


① Android XML File 생성

○ 파일 위치 : layout풀더

○ new > other > Android > Android XML File

○ 이름 : activity_list


② activity_list.xml과 연결된 java파일 생성

○ 이름 : ActivityList


③ 기본 틀 작성

○ activity_list.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" >

 

 

     <TextView

             android:layout_width="fill_parent"

             android:layout_height="wrap_content"

             android:id="@+id/myText"

             android:text="선택하세요"

     />

 

     <ListView

             android:layout_width="fill_parent"

             android:layout_height="wrap_content"

             android:id="@android:id/list"

     />

 

     <TextView

             android:layout_width="fill_parent"

             android:layout_height="wrap_content"

             android:id="@+id/android:empty"

             android:text="데이터가 없습니다"

     />

 

</LinearLayout>


○ MainActivity.java

 - 버튼 추가

Button btn2 = (Button)findViewById(R.id.btn2);

  

btn2.setOnClickListener(new Button.OnClickListener(){


        @Override


        public void onClick(View v) {

                 Intent intent = new Intent(MainActivity.this,ActivityList.class);

                 startActivity(intent);

        }    

});

④ 화면 띄우기

○ ActivotyList.java

public class ActivityList extends ListActivity {

private String items[] = {"홍길동","배수지","안젤리나","이순신"};

private TextView tv;

@Override

public void onCreate(Bundle savedInstanceState) {

   super.onCreate(savedInstanceState);

   setContentView(R.layout.activity_list);

  

   ArrayAdapter<String> adp = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items);

  

   setListAdapter(adp);

  

   tv = (TextView)findViewById(R.id.myText);

}

@Override

protected void onListItemClick(ListView l, View v, int position, long id) {

tv.setText(items[position]);

}


}

⑤ 결과창


예제 4 : radio 버튼 테스트


① Android XML File 생성

○ 파일 위치 : layout풀더

○ new > other > Android > Android XML File

○ 이름 : activity_radio


② activity_radio.xml과 연결된 java파일 생성

○ 이름 : ActivityRadio


③ 기본 틀 작성

○ activity_radio.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" >

 

 

  <CheckBox

android:id="@+id/bigFont"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Use Big Font"

/>

 

  <RadioGroup

android:id="@+id/colorGroup"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="vertical"

android:checkedButton="@+id/Red">

     

      <RadioButton

android:id="@+id/red"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Red"

/>

     

      <RadioButton

android:id="@+id/green"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Green"

/>

     

     

      <RadioButton

android:id="@+id/blue"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Blue"

/>

         

  </RadioGroup>

 

  <ToggleButton

android:id="@+id/myToggle"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textColor="#ff0000"

android:textOn="선택"

android:textOff="선택X"

android:textSize="20px"

/>

 

</LinearLayout>


○ MainActivity.java

 - 버튼 추가

Button btn;

btn = (Button)findViewById(R.id.btn3);

  

btn.setOnClickListener(new Button.OnClickListener(){


        @Override


        public void onClick(View v) {

                 Intent intent = new Intent(MainActivity.this,ActivityList.class);

                 startActivity(intent);

        }    

});


④ 창 보여주기

○ AcitivityRadio.java

package com.example.activitytest;


import android.app.Activity;

import android.graphics.Color;

import android.os.Bundle;

import android.widget.CheckBox;

import android.widget.CompoundButton;

import android.widget.RadioGroup;

import android.widget.ToggleButton;


public class ActivityRadio extends Activity implements RadioGroup.OnCheckedChangeListener,

CompoundButton.OnCheckedChangeListener {

private ToggleButton toogleBtn;

@Override

public void onCreate(Bundle savedInstanceState) {

   super.onCreate(savedInstanceState);

   setContentView(R.layout.activity_radio);

  

   toogleBtn = (ToggleButton)findViewById(R.id.myToggle);

   RadioGroup ColGroup = (RadioGroup)findViewById(R.id.colorGroup);

  

   ColGroup.setOnCheckedChangeListener(this);

  

   CheckBox ckBig = (CheckBox)findViewById(R.id.bigFont);

   ckBig.setOnCheckedChangeListener(this);

  

}

@Override

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

if(buttonView.getId()==R.id.bigFont){

if(isChecked){

toogleBtn.setTextSize(40);

}else{

toogleBtn.setTextSize(20);

}

}

}

@Override

public void onCheckedChanged(RadioGroup group, int checkedId) {

if(group.getId()==R.id.colorGroup){

switch (checkedId) {

case R.id.red:

toogleBtn.setTextColor(Color.RED);

break;

case R.id.green:

toogleBtn.setTextColor(Color.GREEN);

break;

case R.id.blue:

toogleBtn.setTextColor(Color.BLUE);

break;

}

}

}

}


⑤ 결과 화면





'STUDY > Android(기본)' 카테고리의 다른 글

안드로이드 예제(2)  (0) 2019.04.10
안드로이드 기본 예제  (0) 2019.04.09
안드로이드 프로젝트 생성  (0) 2019.04.09
안드로이드 설치  (0) 2019.04.09

댓글