'2017/10/16'에 해당되는 글 2건

728x90

Android Studio 샘플 예제를 받은 걸 가지고 패키지명 변경을 하는 방법이다.


먼저 폴더를 선택한 다음에 3번까지 하고 나면, 폴더가 펼쳐져서 보인다.



이제 변경하고 싶은 곳에 마우스로 선택한 다음, Shift + F6 키를 누르면 패키지명 변경할 수 있게 나온다.



패키지명을 입력하고 Refactor 를 해주면 Do Refactor 가 나온다. 눌러주면 변경된다.


다른 폴더명도 이렇게 변경해주면 된다.


만약 폴더가 모자라면 수동으로 직접 폴더명을 생성해주면 자동으로 인식된다.

그러고나서, 파일을 마우스로 Drag & Drop 으로 해당 폴더에 옮겨준다.


이렇게 하고 나면 AndroidManifest.xml 파일이 변경된 것을 확인할 수 있다.


그런데 자동으로 변경되지 않는 것이 있다.

앱 build.gradle 정보는 변경되지 않는다.

applicationId 값을 수작업으로 변경해줘야 한다.

이걸 안해주었더니 "Error: Activity class does not exist." 가 나와서 에러 메시지 찾아서 수정하느라고 생쑈를 조금 했다.


apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "25.0.0"

    defaultConfig {
        applicationId "com.tistory.link2me.searchview"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.1.1'
} 



블로그 이미지

Link2Me

,
728x90

정보은닉(Information Hiding)
- 객체가 실행되는 과정이나 속성을 외부로부터 감추는 것.
  즉, 인스턴스 변수에 바로 접근 하지 못하도록 Private 선언을 해주는 것이다.
- private : Class 내부에서만 접근 가능
- public : 어디서든 접근 가능
- default : 접근제어 지시자를 선언하지 않은 경우로 동일 패키지 내에서는 접근 가능
- protected : 상속관계에 놓여 있어도 접근을 허용


캡슐화(encapsulation)
- 캡슐화는 메소드와 변수들을 클래스 하나로 묶어버리는 것
- 객체 외부에서는 개체 내부 정보를 직접 접근하거나 조작할 수 없고, 외부에서 접근할 수 있도록 정의된 오퍼레이션을 통해서만 관련 데이터에 접근할 수 있다.(getter, setter)
- 객체들 간의 메시지를 주고 받을 때 각 객체의 세부 내용은 알 필요가 없으므로 인터페이스가 간결해지고, 객체간의 결합도가 낮아진다.



Eclipse 에서 getter, setter 를 자동으로 생성하는 기능을 제공하고 있다.

public class Person1 {
    // 자바의 기본 원칙은 클래스 1개당 1개의 파일
    public String name; // 필드, 데이터 멤버
    public String number; //
} 

public 을 private 로 둘다 변경하고 나서,

Alt + Shlift + S + R를 누르면 팝업된 창이 나온다.

Alt + A 를 누르거나 마우스로 둘다 선택한 다음에

Generate 를 해주면 자동으로 생성된다.

public class Person1 {
    private String name; // 필드, 데이터 멤버
    private String number; 
   
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getNumber() {
        return number;
    }
    public void setNumber(String number) {
        this.number = number;
    }
}


'안드로이드 > Java 문법' 카테고리의 다른 글

[Java] instanceof 연산자  (0) 2017.10.24
Java static 변수 이해하기  (0) 2017.10.20
자바 기본 데이터형과 크기  (0) 2017.10.11
Java 클래스(Class) ★★★★★  (0) 2017.05.04
ArrayList and HashMap  (0) 2017.03.06
블로그 이미지

Link2Me

,