일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- C
- php
- MySQL
- techEmpower
- 한글
- 개발
- mariadb
- java
- javascript
- NGINX
- caddy
- 번역
- 자바
- 구글
- ubuntu
- unity
- 안드로이드
- error
- kakao
- centOS7
- 개발자
- 컴퓨터과학총론
- android
- 해석
- it
- C lanuage
- 프래그먼트
- server
- Portfolio
- H2O
- Today
- Total
개발모음집
[안드로이드 프로그래밍] Day01 ~ Day02 본문
01 안드로이드란?
안드로이드는 구글에서 만든 스마트폰용 운영체제이다.
옛날에는 표준 자바를 휴대 단말에서 사용할 때 가상머신의 성능 문제로 느리다는 평가를 많이 받았지만
안드로이드는 'ART'라는 런타임으로 빠른 속도의 런타임을 이용
03 첫 번째 애플리케이션
일반적으로 시작점이 되는 것으로 생각되는 main 함수가 없는 것을 보니 안드로이드에서는 main 함수가
아닌 다른 함수가 시작점이 되는 것으로 생각되는 main함수가 없는 것으로 추측할 수 있다.
Rendering Problems: [Design] 탭을 선택하여 단말 모양의 화면이 보일 때 표시되는 에러
자동 import 설정
File - Settings - Editor - General - Auto Import - Oprimize imports on the fly 와 add unambiguous .... 체크
03-1 프로젝트 만들기
프로젝트: 앱을 만드는 하나의 단위
Application name: 앱의 이름, 프로젝트 이름
Company Domain:
Package name: 앱을 구분하는 구분자, 전 세계에서 고유한 이름이어야 함
*윈도우계정이나 폴더명이 한글이면 오류가 생길 수 있다. 영문으로 만들기
예제를 할 때는 Empty Activity로 설정하자.
애뮬레이터는 컴퓨터 사양이 많이 필요, 그래서 실제 핸드폰으로 연동하여 실행하는걸 권장
.java: 소스코드, .xml: 레이아웃
처음 프로젝트를 생성했을 때 설정해줘야하는 두 가지
File - Settings - Editor - General - Auto Import - Optimize imports on thre fly와 Add unambiguous.. 체크
03-2 하나씩 바꿔 보기
인텐트 : 내가 하고자하는 행위를 의미, 우편물같은 것
이미 단말에 제공되는 앱인 웹브라우저에게 내가 만든 앱에서 명령 편지를 전달하여 띄우는 것
03-3 여러 개의 버튼에 기능 추가 하기
인텐트(Intent): 내가 하고자하는 행위를 의미
ex) 우편물 같은 것
이미 단말에 제공되는 앱인 웹브라우저에게 내가 만든 앱에서 명령 편지를 전달하여 띄우는 것
03-4 새로운 화면 만들어 띄어주기
. 새로운 액티비티 만들기
.. 기존에 만들어져 있던 액티비티를 복사하여 새로운 액티비티를 만든 후 수정한다.
. 새로운 레이아웃 만들기
.. 기존에 만들어져 있던 레이아웃을 복사하여 새로운 레이아웃을 만든 후 수정한다.
. 메니페스트에 태그 추가하기
.새로운 액티비티 시작 코드 넣기
activity_main.xml에 버튼4개, activity_Maue.xml에 버튼1개
MainActivity.java파일
package org.androidtown.hello;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onButton1Clicked(View V) {
Toast.makeText(this, "버튼이 클릭됨", Toast.LENGTH_LONG).show();
}
public void onButton2Clicked(View V) {
Intent intent= new Intent(Intent.ACTION_VIEW, Uri.parse("http://m.naver.com"));
startActivity(intent);
}
public void onButton3Clicked(View V) {
Intent intent= new Intent(Intent.ACTION_VIEW, Uri.parse("tel:010-7721-7747"));
startActivity(intent); // 단말에 이미 설치된 앱을 연동하여 사용
}
public void onButton4Clicked(View V) { // 액티비티 메뉴창 연결 버튼
Intent intent= new Intent(this, ManuActivity.class);
startActivity(intent);
}
}
ManuActivity.java파일
package org.androidtown.hello;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
public class ManuActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_manu);
}
public void onButton1Clicked(View V) {
finish(); // 창을 닫는 메소드
}
}
정리
. setContentView() - > 화면에 무엇을 보여줄 지를 결정하는 함수(메소드)
. R.layout.activity_main - > 화면에 보여줄 대상이 되는 XML의 위치를 지정한다.
. /res/layout/activity_main.xml -> 위의 R.layout.activity_main에 해당하는 프로젝트 안의 파일로 화면을 구성할 때 사용한다.
. android:text -> 화면에 보이는 글자를 변경할 때 사용하는 속성
. android:onClick -. 버튼을 클릭했을 때 어떤 메소드를 실행한 것인지 간단하게 지정할 수 있는 속성
. Intent -> 어떤 기능을 실행할 지를 지정하기 위해 사용한다.
. Toast -> 화면에 잠깐 보였다가 없어지는 메시지
'Android' 카테고리의 다른 글
[안드로이드 프로그래밍] Day11 (0) | 2016.06.08 |
---|---|
[안드로이드 프로그래밍] Day09 (0) | 2016.06.07 |
[안드로이드 프로그래밍] Day07 ~ Day08 인플레이션 ~ 인텐트, 부가데이터 (0) | 2016.06.05 |
[안드로이드 프로그래밍] Day05 ~ Day06 (0) | 2016.06.04 |
[안드로이드 프로그래밍] Day04 (0) | 2016.06.03 |