예제 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 |
댓글