안드로이드
안드로이드란 무엇인가?
- 구글(Google)에서 만든 스마트폰용 운영체제(Operating System)
- 휴대용 단말기에서 이용되며, 다양한 앱을 실행할 수 있도록 구성된 앱 플랫폼(Platform)
안드로이드의 장점
- 오픈 소스
- 자바 개발 언어
- 스마트폰을 위한 완벽한 컴포넌트 제공
- 쉬운 앱 간 연동
- 다양한 기능 지원
안드로이드 스튜디오 알아보기
안드로이드 스튜디오란 안드로이드 운영체제에서 사용할 수 있는 앱을 간편하게 만들 수 있도록 하는 IDE(Integrated Development Environment)이다.
Main Activity.java
package org.ddd.fff;
import ...
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
- MainActivity.java는 OnCreate() 함수를 통해 어플리케이션의 시작점 역할을 한다.
- super 키워드는 MainActivity.java가 상속을 받은 클래스인 AppCompatActivity 클래스로부터 데이터를 받아오는 것으로, 부모 클래스의 OnCreate() 함수를 호출한다.
- setContentView() 함수는 그 안의 파라미터를 화면에 띄워주는 역할을 한다.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
- MainActivity.java에서 볼 수 있었던 R.layout.activity_main 이란 코드는 /res/layout 폴더 안에 들어 있는 activity_main.xml을 의미한다.
- 기본적으로 프로젝트를 생성했을 때 이 activity_main.xml이 가장 먼저 화면에 출력되도록 설정되어 있다. 이 사항은 /manifests/ 폴더의 AndroidManifest.xml 에서 수정할 수 있다.
- 즉, xml 파일들은 어플리케이션의 각 화면을 의미한다고 할 수 있다.
- 화면을 수정함에 있어서 소스 코드를 직접 수정하는 방법과 디자인 탭에서 간편하게 진행하는 방법이 있다.
기본적 예시
Auto Import: [File > Settings > Editor > General > Auto Import]
OnButtonClicked
[activity_main.xml]
중략..
<Button android:id = "@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onButton1Clicked"
android:text="확인1"
중략..
/>
[MainActivity.java]
중략...
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, "확인1 버튼이 눌렸어요!", Toast.LENGTH_LONG).show.();
}
}
- xml 파일의 버튼을 이용해 이벤트를 처리하기 위해서는 논리적 작업이 이루어지는 자바 소스와 연결하는 과정이 필요하다.
- 이를 위해 xml 파일의 Button 속성 중 onClick 속성에 Java 파일의 이벤트 함수를 지정한다.
- Toast 클래스는 makeText() 메서드와 show() 메서드를 사용하여 화면에 메세지를 잠깐 출력했다 없앨 수 있다.
인터넷 접속하기, 전화 걸기
중략...
public void onButton2Clicked(View v) {
Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://m.naver.com")); // Intent란 안드로이드 플랫폼에 원하는 것을 말할 때 쓰이는 도구
startActivity(myIntent);
}
public void onButton3Clicked(View v) {
Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("tel:010-1000-1000"));
startActivity(myIntent);
}
- Intent란 안드로이드 플랫폼에게 원하는 것을 말할 때 전달하는 우편물 같은 것.
- URI란 통합 자원 식별자(Uniform Resourse Identifier, URI)로서, 인터넷에 있는 자원을 나타내는 유일한 주소이다. 흔히 알고 있는 URL(Uniform Resource Name, 통합 자원 이름)은 자원의 위치만을 알려주기에 URI가 더 넓은 의미를 가진다고 할 수 있다.
Example: http://opentutorials.org:3000/main?id=HTML&page=12
블로그 참고 - Parsing 이란 구문 분석 과정을 의미한다. 문장이 담고 있는 데이터를 분해 및 분석하여 원하는 형태로 재조립 및 가공하는 과정이다. 다른 형식으로 저장된 데이터를 원하는 형식의 데이터로 변환하는 것이라고 볼 수도 있다.