프로그램 설치 및 기본 사용법
1. 각 파일에 대한 설명
1) app\manifests\AndroidManifest.xml = 환경설정파일
2) java\com.example.d4tai1.20180827a_1\MainActivity = 자바파일
3) res\layout\activity_main.xml = 백그라운드 엑티비티(초기값)
+) 참고 : 안드로이드 스튜디오의 버전정보
2. activity_main.xml 파일내용 수정
[1] LinearLayout속성으로 변경
"<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"를" -> "LinearLayout" 으로 변경한다. - 그러면 아래와 같이 소스내용이 바뀐다.
[변경된 activity_main.xml의 소스]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=http://schemas.android.com/apk/res/android
xmlns:app=http://schemas.android.com/apk/res-auto
xmlns:tools=http://schemas.android.com/tools
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
tools:layout_editor_absoluteY="25dp">
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"android:text="Button" />
<Buttonandroid:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"android:layout_weight="1"
android:text="Button" />
</LinearLayout>
3. layout_width, layout_height의 속성
1) match_parent
- 자신의 부모에 폭이나 높이를 맞춘다.(최대치)
2) wrap_content
- 사이즈만큼, 적절하게 맞춘다.
+) 예시
이 사진에 나오는 위젯의 속성은 가로는 최대, 세로는 적당하게 맞춘다.
4. orientation
1) 우측 속성 탭의 LinearLayout의 orientation이 none이면 horizontal과 같다.
+ horizontal는 가로를 의미하고, vertical은 세로를 의미한다.
5. background와 textcolor
1) background
[1] 버튼을 클릭 후 변경이 가능하다.
2) textcolor
[1] Attributes 우측에 화살표버튼 누르면 전체 속성을 볼 수 있다.
[2] 그 중 textcolor의 오른쪽에 ...을 누르고 글자색을 결정한다.
6. button 동작
[1] button의 id를 btnOne로 변경한다.
- button 클릭 후 우측 속성에서 id 값 변경.
[2] activity_main.xml의 버튼을 가져와서 사용하기 위해서는 선언을 미리 해야한다.
- Button button1; //이런식으로(art+enter -> import class [import문 자동추가])
package com.example.d4tai1.pro20180827a_2;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button)findViewById(R.id.btnOne);
// activity_main.xml에있는위젯을MainActivity.java에서가리키게된다.
//findViewById로R 클래스를접근한다.
button1.setText("clickme");
}
}
[3] setContentView(R.layout.activity_main);
- R class의 layout의 activity_main.xml 이 먼저 출력된다.
- 검색은 좌측상단을 Packages로 해놓고 검색할 수 있다.
[4] button1 = findViewById(R.id.btnOne);
- 형식 -> 위젯변수 = (위젯형) findViewById(R.id.위젯id);
- button1 객체에 R.id.btnOne를 찾아서 넣어준다.
- R class에 모든 리소스가 들어있다.(R은 Resource)
- findViewById()로 R 클래스를 접근한다.
- id 값으로 view를 찾는다.
[5] button1.setText("clickme");
- 버튼의 이름을 "clickme로 변경
[6] padding과 layout_margin
- padding : 위젯 내에서 상하좌우 여백 조절
- layout_margin : 레이아웃 내에서 상하좌우 여백 조절
[결과]
- 좌 20, 우 20, 상 30
+. 문제점
[1] Available Virtual Devices에서 pixel API 28을 사용하지만 간혹 디자인모드에서 나오지 않을 경우가 있다.
[2] 이 경우 안드로이드 스튜디오 내 Gradle Scripts\build.gradle(Module: app) 파일을 열고 일부 내용을 수정한다.
- 다운그레이드(주황색 글자로 수정) 후 rebuild project
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.example.d4tai1.pro20180827a_3"
minSdkVersion 15
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
'Programming Language > Android Programming' 카테고리의 다른 글
메뉴버튼 (0) | 2018.10.09 |
---|---|
계산기, 예약 (0) | 2018.09.18 |
레이아웃 (0) | 2018.09.14 |
체크박스, 스위치, 토글, 라디오 (0) | 2018.09.04 |
계산기 (0) | 2018.09.03 |
댓글