별의 공부 블로그 🧑🏻‍💻

🗒️ Programming (298)

728x90
  1. 2017.05.06 접근 권한을 알려주는 키워드

    1. private : 같은 클래스 안에서만 접근하여 사용할 수 있음. 2. public : 아무 클래스에서나 접근하여 사용할 수 있음. 3. protected : 이 클래스에서 상속받은 자식 클래스에서만 접근하여 사용할 수 있음. - class 키워드 앞에는 public 키워드만 사용할 수 있음. -> 클래스는 다른 곳에서 접근할 수 있는지 없는지만 구분하면 되므로 public이 붙어 있으면 접근할 수 있고, public이 붙어 있지 않으면 접근할 수 없음. - 예외적으로 같은 파일이나 같은 패키지 안에 들어 있는 클래스는 public 키워드가 붙어 있지 않아도 접근할 수 있음. - import 키워드 뒤에 패키지와 클래스 이름을 넣어주면 다른 패키지에 있는 클래스도 접근할 수 있음.

  2. 2017.05.05 Getter, Setter 함수

    - 클래스 안의 변수에 직접 접근하지 않고 함수를 만들어 그 결과 값을 참조하도록 변경할 때 대부분의 함수는 단순히 return 키워드를 사용해 변수를 함수의 결과 값으로 던져주는 역할만 하게 됨. - 이런 함수들을 Getter 함수라고 부르고 'get'이라는 단어 뒤에 변수의 이름을 붙여줌. - 거꾸로 변수에 값을 집어넣는 함수를 Setter 함수라고 하고 'set'이라는 단어 뒤에 변수의 이름을 붙여줌. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 class Leg { String left = "왼쪽"; String right = "오른쪽"; public String getLeft() { return left; } public void s..

  3. 2017.05.05 다른 클래스에 MainActivity 클래스 전달

    1. MainActivity.java 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 package ... import android.app.Activity; import android.os.Bundle; import android.support.v7.app.AppCompatA..

  4. 2017.05.05 이벤트 처리 방법

    1. 리스너(Listener)란? - 사용자가 어떤 명령을 내리는지 전달받아 처리하기 위해 대기하는 객체. 2. OnClickListener란? - 사용자가 화면을 클릭했을 때 미리 넣어둔 코드를 실행할 수 있도록 해줌. 3. 콜백(Callback) 메서드란? - 버튼을 클릭했을 때, 버튼에 미리 설정한 리스너 객체의 메서드를 호출하게 되는데 이렇게 PC나 스마트폰 등 컴퓨터에서 자동으로 어떤 메서드를 호출해주는 것을 '콜백'이라고 함. - 콜백이라는 말은 컴퓨터가 다시 사용자가 만든 메서드를 호출해준다는 의미이며, 이 때문에 이런 목적으로 만든 메서드를 '콜백 메서드'라고 함. 4. 이벤트(Event)와 이벤트 핸들러(Event Handler) - 사용자가 버튼을 클릭했을 때 버튼에 미리 설정한 OnC..

  5. 2017.05.05 비교 연산자 (Comparative Operation)

    - == 연산자는 그 앞과 뒤에 피연산자가 오고 두 개의 피연산자가 같으면 true, 다르면 false를 만들어 냄. - 두 개의 값이 다른지를 확인하는 연산자는 != - == 연산자나 != 연산자는 if문에 자주 사용됨. - 두 개의 문자열을 비교할 때 == 연산자를 사용하지 않음. -> String 자료형은 물론 그 외의 다른 객체 자료형으로 선언한 변수에 들어간 값을 비교할 때는 .equals() 메서드를 사용함. ex) 1 2 3 4 5 String a = "안녕"; String b = "안녕"; if (a.equals(b)) { ... } cs - 크기를 비교하는 연산자 : >, =,

  6. 2017.05.03 String 자료형

    - String은 문자열을 담기 위한 객체 자료형. - 객체 자료형은 기본 자료형과 다른 특성이 있으며 new 연산자를 이용해서 만듦. - String 자료형은 워낙 많이 사용되기 때문에 자바에서는 new 연산자를 사용하지 않고 기본 자료형처럼 바로 데이터를 넣을 수도 있도록 해둚. - 문자열은 큰 따옴표("")안에 넣어줌. 1 2 String name = "Kim"; String name = new String("Kim"); cs

  7. 2017.05.03 상수 (Constant)

    - final : 상수를 만드는 키워드 - static을 붙이면 클래스 안에 있는 코드에서 뿐만 아니라 클래스 밖에서도 사용할 수 있음. (MainActivity.value07) 예) MainActivity.java 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 29 30 31 32 33 34 35 36 37 public class MainActivity extends AppCompatActivity { EditText editText; EditText editText2; TextView textView2; int value05 = 100; final int value06 = 100; static final int v..

  8. 2017.05.03 숫자와 문자열을 서로 바꿔주는 메서드

    - 문자열 -> Integer.parseInt() -> 숫자 숫자 -> String.valueOf() -> 문자열 예) MainActivity.java 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 29 30 public class MainActivity extends AppCompatActivity { EditText editText; EditText editText2; TextView textView2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.lay..

  9. 2017.05.03 자료형 (Type)

    Type Size boolean 1 Bit byte 1 Byte short 2 Byte int 4 Byte long 8 Byte float 4 Byte double 8 Byte char 2 Byte

  10. 2017.05.03 색 (Color)

    투명도 R G B # 00 ~ ff 00 ~ ff 00 ~ ff 00 ~ ff - 흔히 빨간색, 녹색, 파란색(Red, Green, Blue - RGB)라고 말하는 세 가지 색상을 조합하여 원하는 색상을 만들게 되는데 각 색상은 두 자리 16진수로 표시됨. - 색상 값을 지정할 때는 '#' 기호를 앞에 붙이게 되는데 이 기호와 RGB 색상 값 사이에 알파 값을 추가로 붙일 수 있음. -> 값이 00에 가까워질수록 투명해지고, ff에 가까워질수록 불투명해짐. #ffff0000 : (불투명한) 빨간색 #ff00ff00 : (불투명한) 초록색 #ff0000ff : (불투명한) 파란색

  11. 2017.05.03 C 핵심 내용 정리

    1) 변수 - 변수선언 : 자료형 + 변수명 예) int a; - 대입 연산 : 변수에 값 저장 - 정수형 자료형 : char, short, int, long, long long - 양수 전용 자료형 : unsigned 사용. 예) unsigned int ua; - 실수형 자료형 : float, double, long double - 문자열 저장 : char 배열 - const를 사용한 변수 -> 변수의 상수화 - 식별자 : 필요에 따라 만들어 쓰는 단어 2) 상수와 데이터 표현 방법 - 상수 : 프로그램 실행 중에 바뀌지 않는 값 정수 표현 - 12(10진수), 014(8진수), 0xc(16진수) 실수 표현 - 0.0000315(소수점 표기), 3.14e-5(지수 표기) 문자와 문자열 표현 - 'A'(..

  12. 2017.04.17 포인터 정리 (Arrangement of Single Pointer) in C

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include void main() { int a[2] = { 4, 9 }; int *p = a; printf("1 : %d, \n", *p); // 현재 위치의 값 : 4 printf("2 : %d, \n", (*p)++); // 현재 위치의 값 출력 후 1 증가 (값 증가) : 4 printf("3 : %d, \n", *p++); // 현재 위치의 값 출력 후 주소 1 증가 : 5 printf("4 : %d, \n", *p--); // 현재 위치의 값 출력 후 주소 1 감소 : 9 printf("5 : %d, \n", *(p++); // 현재 위치의 값 출력 후 주소 1 증가 : 5 printf("6 : %d, \n", *p..

  13. 2017.03.13 멀티 터치 (Multi Touch)

    MainActivity.class 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697package org.androidtown.mymultitouch;import android.content.Context;import android.content.res.Resources;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graph..

  14. 2017.01.25 매니페스트 (Manifest)

    *매니페스트 파일에 들어갈 수 있는 태그 항목들 [Reference] *메니페스트의 주요 역할 1. 어플리케이션의 자바 패키지 이름 지정 2. 애플리케이션 구성요소에 대한 정보 등록 (액티비티, 서비스, 브로드캐스트 수신자, 내용 제공자) 3. 각 구성요소를 구현하는 클래스 이름 지정 4. 애플리케이션이 가져야 하는 권한에 대한 정보 등록 5. 다른 애플리케이션이 접근하기 위해 필요한 권한에 대한 정보 등록 6. 애플리케이션 개발 과정에서 프로파일링을 위해 필요한 instrumentation 클래스 등록 7. 애플리케이션에 필요한 안드로이드 API의 레벨 정보 등록 8. 애플리케이션에서 사용하는 라이브러리 리스트 출처 : Do It! 안드로이드 앱 프로그래밍 (정재곤 지음, 이지스퍼블리싱)

  15. 2017.01.25 위험 권한의 세부 정보

    분류(Permission Group) 세부 권한(Permission) LOCATION (위치) - ACCESS_FINE_LOCATION - ACCESS_COARSE_LOCATION CAMERA - CAMERA MICROPHONE - RECORD_AUDIO CONTACTS - READ_CONTACTS - WRITE-CONTACTS - GET_ACCOUNTS PHONE - READ_PHONE_STATE - CALL_PHONE - READ_CALL_LOG - WRITE_CALL_LOG - ADD_VOICEMAIL - USE_SIP - PROCESS_OUTGOING_CALLS SMS - SEND_SMS - RECEIVE_SMS - READ_SMS - RECEIVE_WAP_PUSH - RECEIVE_MMS CAL..

  16. 2017.01.24 수명주기

    - 액티비티의 수명주기(Life Cycle) : 액티비티의 상태 정보가 변하는 것 *액티비티의 대표적인 상태 정보 상태 설명 실행(Running) 화면 상에 액티비티가 보이면서 실행되어 있는 상태. 액티비티 스택의 최상위에 있으며 포커스를 가지고 있음. 일시 중지(Paused) 사용자에게 보이기는 하지만 다른 액티비티가 위에 있어 포커스를 받지 못하는 상태. 대화상자가 위에 있어 일부가 가려져 있는 경우에 해당함. 중지(Stopped) 다른 액티비티에 의해 완전히 가려져 보이지 않는 상태. *액티비티의 상태 메소드 상태 메소드 설명 onCreate() 액티비티가 처음에 만들어졌을 때 호출됨 화면에 보이는 뷰들의 일반적인 상태를 설정하는 부분 이전 상태가 저장되어 있는 경우에는 번들 객체를 참조하여 이전 ..

  17. 2017.01.18 레이아웃 인플레이션

    - super.onCreate() 메소드 : 단순히 부모 클래스의 동일한 메소드를 호출. - setContentView() 메소드 : 애플리케이션이 XML 레이아웃의 내용을 이해하도록 만드는 역할을 함. - 안드로이드에서는 화면을 구성하는 방법으로 XML 레이아웃을 사용하는데 이 XML 레이아웃 파일의 내용은 애플리케이션이 실행될 때 메모리로 로딩되어 객체화 됨. - 인플레이션(Inflation) : XML 레이아웃에 정의된 내용이 메모리 상에 객체화되는 과정. 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 package org.androidtown.basic.inflater; import android.app.Activi..

  18. 2017.01.17 기본 위젯들

    ① 텍스트뷰 1) text - 텍스트뷰에 보이는 문자열을 설정 - 텍스트뷰는 표시될 문자열이 없으면 텍스트뷰가 차지하는 영역도 알 수 없게 되므로 문자열은 반드시 지정해야 함. - 프로젝트를 처음 만들었을 때 문자열이 /res/values/strings.xml 파일 안에 정의된 것을 볼 수 있음. - /res/values/strings.xml에 정의된 문자열은 '@string/...' 포맷으로 참조. *안드로이드에서 다국어를 지원하는 방식 - 안드로이드에서 다국어를 지원할 때는 리소스에 공통으로 적용되는 병렬 리소스 로딩(Parallel Resource Loading) 방식을 사용함. - [res/values-ko] 폴더 (한국어), [res/values-en] 폴더 (영문) 2) textColor - ..

  19. 2017.01.17 프레임 레이아웃과 뷰의 전환

    - 프레임 레이아웃은 가장 기본적이고 단순한 레이아웃. - 안드로이드에서는 복잡한 화면을 구성할 때 프레임 레이아웃이 가지고 있는 중첩(Overlay) 기능을 자주 사용. - 프레임 레이아웃은 뷰를 하나 이상 추가할 경우에는 추가된 순서대로 차곡차곡 쌓이게 됨. - 가장 먼저 추가한 뷰가 가장 아래쪽에 쌓이고 그 다음에 추가한 뷰는 그 위에 쌓이게 되는데 이렇게 되면 나중에 쌓인 뷰만 보이게 됨. - 여러 개의 뷰를 서로 전환하면서 보고 싶을 때 사용할 수 있음. - addView()나 removeView()와 같은 메소드를 이용해서 뷰를 추가하거나 삭제하고 동시에 뷰를 보이게 하거나 보이지 않게 함으로써 화면을 손쉽게 전환할 수 있음. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1..

  20. 2017.01.17 스크롤뷰

    - 안드로이드에서는 다른 언어에서처럼 스크롤바를 일일이 뷰의 보이는 영역과 연결하는 과정 없이 단순히 스크롤뷰 안에 뷰를 넣는 것으로 스크롤이 가능함. - 스크롤뷰에 뷰를 넣기 위해서는 ScrollView 태그를 사용하며 그 안에는 한 개의 뷰가 들어갈 수 있음. 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 29 30 31 32 33 34 35 Colored by Color Scripter cs 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45..

  21. 2017.01.17 테이블 레이아웃

    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 29 30 31 // 테이블의 첫 번째 행 // 테이블의 두 번째 행 Colored by Color Scripter cs - shrinkColumns : 특정 열을 자동 축소 → 부모 컨테이너의 폭에 맞추도록 각 열의 폭을 강제로 축소 - stretchColumns : 특정 열을 자동 확장 → 부모 컨테이너의 여유 공간을 모두 채우기 위해 각 열의 폭을 강제로 늘림 - layout_span 속성을 이용하면 HTML 코드를 구성할 때처럼 여러 열에 걸쳐 뷰를 보이게 할 수도 있음. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2..

  22. 2017.01.17 상대 레이아웃

    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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 Colored by Color Scripter cs 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 Colored by Color Scripter c..

  23. 2017.01.16 리니어 레이아웃

    - XML 레이아웃 파일의 가장 위쪽에는 xmlns:android 속성이 들어가 있음. → 한 파일에 한 번만 들어가면 되는 속성으로 안드로이드 API에서 정의한 요소들을 사용한다는 의미. → 하나의 XML 레이아웃 파일에 한 번씩 들어간다고 생각하면 쉬움. 1) 방향 설정하기 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 Colored by Color Scripter cs 2) 자바 코드에서 화면 구성하기 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 29 30 package org.androidtown.ui.linearlayout; imp..

  24. 2017.01.16 레이아웃

    속성 설명 채우기 : fill model 뷰를 부모뷰의 여유 공간에 어떻게 채울 것인지를 설정합니다. 방향 : orientation 뷰를 추가하는 방향을 설정합니다. 정렬 방향 : gravity 뷰의 정렬 방향을 설정합니다. 여유 공간 : padding 뷰의 여유 공간을 설정합니다. 공간가중치 : weight 뷰가 차지하는 공간의 가중치 값을 설정합니다. *방향(orientation) 속성은 리니어 레이아웃의 경우에만 적용됨. *안드로이드에서 제공하는 대표적인 레이아웃 레이아웃 이름 설명 리니어 레이아웃 박스(Box) 모델 사각형 영역들을 이용해 화면을 구성하는 방법 표준 자바의 BoxLayout과 유사 상대 레이아웃 규칙(Rule) 기반 모델 부모 컨테이너나 다른 뷰와의 상대적 위치를 이용해 화면을 구..

  25. 2017.01.16 뷰와 뷰그룹

    1. 뷰(View) : 일반적으로 컨트롤이나 위젯이라는 이름으로 불리는 UI 구성 요소 2. 뷰그룹(ViewGroup) : 이러한 뷰들을 여러 개 포함하고 있는 것 3. 위젯(Widget) : 뷰 중에서 일반적인 컨트롤의 역할을 하고 있는 것 4. 레이아웃(Layout) : 뷰그룹 중에서 내부에 뷰들을 포함하고 있으면서 그것들을 배치하는 역할을 하는 것 *자주 사용되는 대표적인 뷰의 속성 속성 설명 layout_width, layout_height 뷰의 폭과 높이를 설정합니다. id 뷰의 ID를 지정합니다. background 뷰의 배경을 설정합니다. 1) layout_width, layout_height ① match_parent : 무조건 남아 있는 여유 공간을 채움. ② wrap_content : ..

  26. 2017.01.08 인텐트와 데이터 전달

    속성 설명 ACTION_DIAL tel:01077881234 주어진 전화번호를 이용해 전화걸기 화면을 보여줌. ACTION_VIEW tel:01077881234 주어진 전화번호를 이용해 전화걸기 화면을 보여줌. URI 값의 유형에 따라 VIEW 액션이 다른 기능을 수행함. ACTION_EDIT content://contacts/people/2 전화번호부 데이터베이스에 있는 정보 중에서 ID 값이 2인 정보를 편집하기 위한 화면을 보여줌. ACTION_VIEW content://contacts/people 전화번호부 데이터베이스의 내용을 보여줌. *명시적 인텐트(Explicit Intent) 1) 인텐트에 클래스 객체나 컴포넌트 이름을 지정하여 호출할 대상을 확실히 알 수 있는 경우 *암시적 인텐트(Imp..

  27. 2016.12.25 화면 구성과 화면 간 이동

    1) 안드로이드 어플리케이션의 네 가지 구성요소 ① 액티비티(Activity) ② 서비스(Service) ③ 브로드캐스트 수신자(Broadcast Receiver) ④ 내용 제공자(Content Provider) 2) 액티비티를 만들어 추가하고 서로 간에 상태 코드나 응답을 주고받는 방법 새로운 액티비티의 XML 레이아웃 정의 메인 레이아웃 XML 파일을 복사하고 수정하여 새로운 액티비티의 화면 구성을 XML 레이아웃으로 정의 새로운 액티비티 코드 작성 메인 액티비티 자바 코드를 복사하고 수정하여 새로운 액티비티 코드를 작성 메인 액티비티에 요청 코드 정의 새로운 액티비티를 띄울 때 사용할 요청 코드를 상수로 정의 새로운 액티비티 띄우기 버튼 등의 이벤트를 처리하여 startActivityForResul..

  28. 2016.12.20 [안드로이드] 안드로이드에서 제공하는 대표적인 레이아웃

    레이아웃 이름 설명 리니어 레이아웃 박스(Box) 모델 사각형 영역들을 이용해 화면을 구성하는 방법 표준 자바의 BoxLayout과 유사 상대 레이아웃 규칙(Rule) 기반 모델 부모 컨테이너나 다른 뷰와의 상대적 위치를 이용해 화면을 구성하는 방법 프레임 레이아웃 기본 단위 모델 하나의 뷰만 보여주는 방법 가장 단순하지만 여러 개의 뷰를 추가하는 경우 중첩시킬 수 있으므로 뷰를 중첩한 후 각 뷰를 전환하여 보여주는 방식으로 사용할 때 유용함 테이블 레이아웃 격자(Grid) 모델 격자 모양의 배열을 이용하여 화면을 구성하는 방법 HTML에서 많이 사용하는 정렬 방식과 유사하여 실용적임 스크롤 뷰 스크롤이 가능한 컨테이너 뷰 또는 뷰그룹이 들어갈 수 있으며 화면 영역을 넘어갈 때 스크롤 기능 제공 ▲ 안드..

728x90


📖 Contents 📖