Android 시작 및 기초 다지기

 

 

안드로이드 앱 개발을 하고 싶다면 Android Studio부터 설치 해야 한다.

 

2020/08/25 - [대외 활동/CADI(개발A 보충스터디)] - 안드로이드 스튜디오 설치

 

안드로이드 스튜디오 설치

가장 빠른 안드로이드 스튜디오 설치 !! 안드로이드 설치 전 JDK 설치 및 환경 변수 설정을 했는지 확인해 보자 ! https://dev-seungwon.tistory.com/2 JDK 설치 및 환경 변수 설정 (1) JDK 설치 및 환경 변수 설.

dev-seungwon.tistory.com

 

 

 

 

 


 

 

 

안드로이드 시작

 

 

 

1. start a new Android Studio project 클릭

 

 

 

 

2. Empty Activity 클릭

 

 

 

 

3. 자신이 원하는 프로젝트 이름과 패키지 이름을 작성한 후 
 폴더의 경로 명과  언어,최소 SDK를 설정하면 시작

 

 

 

 

 

 

 

 

안드로이드 기초 다지기

 

 

 

1.Button

 

 

 

 

안드로이드는 크게 xml과 java파일로 나뉜다. 먼저 지금 보이는 화면은 xml이고

 

 

 

 

이 화면은 java코드로 이루어진 .java파일들이다.

xml파일은 app -> res -> layout에 있고  java파일은 app -> java -> (package이름.프로젝트이름)에 있다.

 

  

 

 

 

xml부터 살펴보면


기본(default)이 ConstraintLayout으로 되어 있고 위의 Palette에서 찾아 꾸밀 수 있다.
Paltte에는 view가 있고 view에 대한 자세한 내용은 아래 링크를 통해 보면 된다.

 

 

 

 

 

 

view중 가장 기본적인 Button을 xml화면에 놓게되면 ConstraintLayout이기 때문에 이런 오류가 생긴다. 

 

 

 

 


이 오류는 위에 봉같이 생긴 모양을 클릭하게 되면 해결이 된다. 이는 이 버튼의 정확한
위치가 정해지지 않아 생기는 오류인데 자세한 내용은 차후 Layout에서 설명하겠다.

 

 

 

 


이후 이 버튼이 눌렸을 때 발생하는 이벤트를 처리하기 위한 함수를 다루겠다.
setOnClickListener()함수 인데 이를 사용하게 되면 원하는 메세지나 전달하고 싶은 객체 등 
여러가지 부분들이 표현 가능하다.

 

 

 

 


 

 

2.Toast Message

 

여기서 우리가 button을 눌렀을때 토스트 메세지를 띄울 것이다.
Toast 메세지는 화면에 잠깐 보여주고 없어지는 메세지를 말한다.
Toast를 객체로 사용하는 방법도 있지만 지금 단계에선 어렵기 때문에 간단한 함수를 사용하겠다.
Toast.makeText()를 통해 사용한다.

 

즉 버튼을 누르게 되면 SeungWon Blog!! 메세지를 잠깐 띄웠다가 없어지게 된다. 

 

 

 

 


 

 

 

3.ImageView

 

 

 

다음은 이미지 추가 및 효과를 알아보겠다.

 

먼저 원하는 그림을 다운받은 후 res-> drawble에 붙여넣기를 한다.

 

 

 

 

여기에서 app안에 내가 복사한 그림을 불러온다.

 

 

 

 

이러한 형태의 이미지가 보이게 된다.

 

 

 

 

 

 

이미지 뷰를 눌렀을때 발생하는 이벤트를 처리하기 위해 이와 같이 코드를 작성하면 된다.

ToastMessage를 띄우는 코드와 이미지를 안보이게 하는 코드를 넣었다.

 

 

 

여기까지 Button과  Toast Message 그리고 ImageView에 대해 알아보았다.

Kotlin  vs  Java

 

 

코틀린은 JetBrains에서 만든 언어로 자바를 대체할 수 있는 정적 타입의 언어이다.
자바와 같이 JVM에서 동작하고 서로 100% 호환이 가능하다.
2017년 5월 18일 구글은 코틀린을 안드로이드의 공식 언어로 채택하였다.
안드로이드의 대표 언어인 JAVA 대신 코틀린이 채택된 이유는 무엇일까

 

 

 

객체의 간결화, Null의 안정성, 값 및 변수 선언, 간결한 view 생성, 접근제한자, 생성자 순으로 설명하겠다.

 

 

 

 


 

 

 

 

1.객체의 간결화

 

 

--Java--

객체를 new로 초기화 한 후 객체를 사용한다.(각각의 데이터를 putExtra를 통해 전달한다)

   Intent intent = new Intent(this,JavaActivity.class); //객체 초기화 및 생성
    intent.putExtra("Java",1); 
    intent.putExtra("Kotlin",2);

 

 

 

--Kotlin--

객체를 new로 초기화 하지 않아도 객체를 선언할 수 있다.  apply block 을 사용하여 전달할 데이터까지 묶어서 간결하게 선언할 수 있다.  block 안에서는 아래와 같이 사용할 수 있으므로 가독성과 코드가 깔끔해진다. 복잡할수록 더 효과가 있다.

  val intent = Intent(this,MenuActivity::class.java).apply{ //apply block
        putExtra("java",1)
        putExtra("Kotlin",2)
    }

 

 

 

 


 

 

 

 

2. Null의 안정성

 

--Java--

@(Annotation)을 이용하여 구분할 수 있다.

@Nullable은 null이 가능하고, @NonNull은 null이 불가하다.

 

  
    @Nullable String str1 = null;   //null 허용
    @NonNull String str2 = "notNULL"; // null 불허


    str1.substr(2); // error
    if(str1 != null)
        str1.substr(2); //ok

 

 

 

--Kotlin--

Null의 안정성을 추구하기 위해 기본적으로 변수 값은 Null이 될 수 없다.

만약 null을 사용하게 된다면 변수 뒤에 ? 를 붙이면 된다. 하지만 Java와 큰 차이는 지금부터다. 그 변수를 아래에서와 같이 str1.substr(2)로 부른다면 애초에 null값을 호출한 것이기 때문에 빨간밑줄이 생긴다. 이는 사전에 에러를 막기 위해서다.

 

    var str1:String? =null // ?를 붙이면 허용
    var str2:String = "notNULL" // default 값
    
    
    str1.substr(2)  // 빨간밑줄이 생김 --> 실행하기 전 오류 탐색 가능

 

 

 


 

 

 

 

3. 값 및 변수 선언

 

--Java--

타입을 항상 명시해야 하고 final을 붙여 강제성을 추가할 수 있다.

    String name = "SeungWon";// 가변
    final int age = 24;// 불변
    Student st = new Student(name); //new 객체 생성

 

 

 

--Kotlin--

 타입추론을 통해 자동지정됨으로 타입을 명시하지 않아도 된다.

변수가 가변일 경우 var,변수가 불변일 경우 val을 사용하면 된다.

    var name ="SeungWon" //가변
    val age = 24 //불변
    val st = Student(name) //new 없이 객체 생성

 

 

 


 

 

 

 

4. 간결한 VIEW

 

--Java--

 findViewById() 로 객체에 할당한 후 view를 사용한다.

    Button bt = findViewById(R.id.bt);
    bt.setOnClickListner(new View.OnClickListner(){
        public void onClick(View view){
            System.out.println("Java Button");
        }
    });

 

 

 

 

--Kotlin--

Java와 달리 id를 함수로 찾지 않고 바로 사용한다.  훨씬 더 간결하고 쉽게 쉽게 사용할 수 있다.

 bt.setOnClickListner(new View.OnClickListner(){
        public void onClick(View view){
           print("Kotlin Button")
        }
   })

 

 

 


 

 

 

5. 접근 제한자

 

--Java--

총 3가지 접근 제한자가 있다.( public, private, protected)

    public int a=0; // 모두 접근 가능
    private String b="JAVA"; // 현재 객체에서만 접근 가능
    protected char c='j'; // 같은 패키지에 있는 객체 & 상속관계인 객체에서 접근 가능
    int num = 1024; // default 값 --> 같은 패키지에서만 접근 가능

 

 

 

--Kotlin--

Java에서와 달리 같은 모듈내에서만 사용할 수 있는 internal이 있다. 나머지는 Java와 같다.

    val a=0  //default 는 public
    protected val b=1
    private val c=2
    internal val d =3  // 같은 모듈 내에서만 가능

 

 

 


 

 

 

 

6. 생성자 & 클라스

 

--Java--

생성자의 형태에 따라 별도로 생성해 주어야 한다. DTO(Data Transfer Object)를 사용하기 위해

getter,setter함수를 선언해야 한다.

   public class Java{
        private int a;
        int b;
        public Java(int a, int b){
            this.a=a; this.b=b;
        }
        public Java(int a){
            this(a,0); // a 값만 인자로 받는 생성자
        }
        
       public int getA(){return a;} // getter 함수
       public void setA(int a){this.a=a;} // setter 함수
    }

 

 

 

 

--Kotlin--

기본 생성자를 선언하지 않고 init으로 대체한다.

   public class Kotlin(a:Int, b:Int){
        init{
            //기본 생성자          
        }
    }

 

var로 변수 선언하게 되면 DTO를 사용하기 위해 별도로 getter,setter를 선언하지 않아도 된다. 

    public class(val a:Int, val b:Int) //주 생성자 간결화
    constructor(a: Int) : this(a,0) // 다른 형태의 생성자

 

 

 

 

 


 

 

 

지금까지 Kotlin과 Java의 차이점을 살펴 보았다. Kotlin이 아직 생소하지만 자주 사용하게 된다면 Java보다 훨씬 편리하고 간결한 코드들을 작성할 수 있다. 안드로이드의 Java 언어 시대는 끝이 났다. 코틀린을 더 공부하고 싶다면 

 

https://github.com/SeungWonU/kotlin-study/tree/master/kotlin%20programming

 

SeungWonU/kotlin-study

Contribute to SeungWonU/kotlin-study development by creating an account on GitHub.

github.com

 

D2 Coding 폰트 적용

 

 

D2 Coding 폰트 적용하기!!

 

 

D2 Coding 폰트를 적용하기 위해서는 Eclipse,Visual Studio, VS Code 등 IDE가 있어야 한다.

 

만약 아직까지 개발 툴이 없다면 Eclipse부터 설치해 보자!

 

https://dev-seungwon.tistory.com/5

 

이클립스(Eclipse) 설치

이클립스 설치하기!! 이클립스 공식 홈페이지에 들어가서 다운받자! https://www.eclipse.org/에 접속한다. 1. 오른쪽 위에 Download를 클릭한다. 2. Download 64 bit를 클릭한다. 3. Download를 누르면 설치가..

dev-seungwon.tistory.com


 

 

 

D2 폰트 다운로드하는 방법!

 

 

 

 

1. 아래의 링크를 타고 들어가 Ver 1.3.2를 클릭한다(버전이 바뀌었을 경우 기존 파일을 삭제하고 새롭게 깔아야 한다)

 

 

 

 

D2 Coding 폰트는 네이버에서 제공하는 폰트이며 여기에서 다운받을 수 있다.

https://github.com/naver/d2codingfont/

 

naver/d2codingfont

D2 Coding 글꼴. Contribute to naver/d2codingfont development by creating an account on GitHub.

github.com

 


 

 

 

 

2. 체크 표시 된 zip파일을 다운로드 받는다.

 

 

 

 

 

 

 

3. 다운로드가 완료되면 3개의 파일이 나타난다.

 

 

 

 

 

 

4. 압축을 풀면 3개의 폴더가 나타나게 되고 그 안에 있는 .ttf파일들을 전부 설치한다.

 

 

 

 

 

 

 

5. ttf파일을 열면 이러한 화면이 나타나게 되고 설치(I)를 클릭하여 진행하면 된다.

 

 

 

 

 

 

 

6.폰트는 다운받았으니 이제 적용하는 방법을 찾아보자. 먼저 이클립스를 실행하고 Window -> Preferences를 클릭한다.

 

 

 

 

 

 

 

 

7. Preferences->General->Appearence->Colors and Fonts -> Text Font 로 경로를 찾아간다. Edit버튼을 누르게 되면

 

 

 

 

 

8. 글꼴이 나오게 되고 D2Coding을 찾아서 적용시키면 끝이다!

 

 

+ Recent posts