-
2017.05.05
화면이 터치되었을 때, X 좌표 및 Y 좌표를 알아내는 방법
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 package ... import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.MotionEvent; import android.view.View; import android.widget.EditText; import android.widget.FrameLayout; public class MainActivity extends AppCompatActivity { Ed..
-
2017.05.04
What is BitCoin?
-
2017.05.03
String 자료형
- String은 문자열을 담기 위한 객체 자료형. - 객체 자료형은 기본 자료형과 다른 특성이 있으며 new 연산자를 이용해서 만듦. - String 자료형은 워낙 많이 사용되기 때문에 자바에서는 new 연산자를 사용하지 않고 기본 자료형처럼 바로 데이터를 넣을 수도 있도록 해둚. - 문자열은 큰 따옴표("")안에 넣어줌. 1 2 String name = "Kim"; String name = new String("Kim"); cs
-
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..
-
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..
-
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
-
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 : (불투명한) 파란색
-
2017.05.03
별 찍기 (Asterisk Decoration) in C
[소스1] 1 2 3 4 5 6 7 8 9 10 11 12 13 #include int main(void) { int i, j; for (i = 1; i
-
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'(..
-
2017.05.02
[Web] CodeForWin
CodeForWin http://www.codeforwin.in/ A blog about computer science, for computer science learners. There are many useful codes in C on this blog.
-
2017.05.02
[C] 원형 연결 리스트(Circular Linked List)
원형 연결 리스트(Circular Linked List) - 리스트의 마지막 노드의 링크가 첫 번째 노드를 가리키는 리스트. -> 마지막 노드의 링크 필드가 NULL이 아닌 첫 번째 노드 주소가 되는 리스트. - 한 노드에서 다른 모든 노드로의 접근이 가능하다는 장점이 있음. - 노드이 삽입과 삭제가 단순 연결 리스트보다는 용이해짐. - 삭제나 삽입 시에는 항상 선행 노드의 포인터가 필요함. - 리스트의 끝에 노드를 삽입하는 연산이 단순 연결 리스트보다 효율적일 수 있음. 코드 // 원형 연결 리스트 (Circular Linked List) #include #include typedef int element; typedef struct ListNode { element data; struct ListNo..
-
2017.04.26
TOEIC Online Test
http://www.toeic-online-test.com/ 토익 & 토플 관련 문제들을 온라인에서 풀 수 있는 사이트.
-
2017.04.26
Multiplication Tables (9X9, 18X18) in C
9 X 9 Multiplication Table 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include int main(void) { printf("Multiplication Table (9X9) \n"); for (int i = 0; i
-
2017.04.21
Checking whether an input element is a number or not with using DO macro. (Infinite Loop)
(defun read-a-number () (do ((answer nil)) (nil) ; This is necessary to make Infinite Loop function. (format t "~&Please type a number: ") (setf answer (read)) (if (numberp answer) (return answer) (format t t "~&Sorry, ~S is not a number. Try again." answer)))) A Program which checks whether the input number is a number or not by using DO macro. If the input number is not a number, the program p..
-
2017.04.17
[C] 단순 연결 리스트(Singly Linked List)
단순 연결 리스트(Singly Linked List) - 단순 연결 리스트는 노드들이 하나의 링크 필드를 가지며 이 링크 필드를 이용하여 모든 노드들이 연결되어 있음. - 마지막 노드의 링크 필드 값은 NULL. - 첫 번째 노드를 가리키는 포인터(헤드 포인터) 값만 알고 있으면 연결 리스트 안의 모든 노드에 접근이 가능함. -> 하나의 단순 연결 리스트는 첫 번째 노드를 가리키는 하나의 포인터만 있으면 충분함. - 헤드 포인터(head pointer) : 첫 번째 노드를 가리키는 포인터 코드 #include typedef int element; typedef struct ListNode { element data; struct ListNode *link; } ListNode; void error(cha..
-
2017.04.17
Numbers in Ascending/Descending Order with using Recrusion in C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include void recur_print(int n) { recur_print(10); } // 10 9 8 7 6 5 4 3 2 1 void recur_print(int n) { if (n > 0) { printf("%d ", n); recur_print(n-1); } } // 1 2 3 4 5 6 7 8 9 10 void recur_print(int n) { int a; if (n > 0) { recur_print(n-1); printf("%d ", n); } } cs As you can see, if you put the part for recursion before you put the pa..
-
2017.04.17
Sum of Numbers in Ascending/Descending Order with using Recursion in C
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 #include int print_sum(int n); void main() { printf(" = %d", print_sum(10)); } // 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 int print_sum(int n) { if (n
-
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..
-
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..
-
2017.01.25
매니페스트 (Manifest)
*매니페스트 파일에 들어갈 수 있는 태그 항목들 [Reference] *메니페스트의 주요 역할 1. 어플리케이션의 자바 패키지 이름 지정 2. 애플리케이션 구성요소에 대한 정보 등록 (액티비티, 서비스, 브로드캐스트 수신자, 내용 제공자) 3. 각 구성요소를 구현하는 클래스 이름 지정 4. 애플리케이션이 가져야 하는 권한에 대한 정보 등록 5. 다른 애플리케이션이 접근하기 위해 필요한 권한에 대한 정보 등록 6. 애플리케이션 개발 과정에서 프로파일링을 위해 필요한 instrumentation 클래스 등록 7. 애플리케이션에 필요한 안드로이드 API의 레벨 정보 등록 8. 애플리케이션에서 사용하는 라이브러리 리스트 출처 : Do It! 안드로이드 앱 프로그래밍 (정재곤 지음, 이지스퍼블리싱)
-
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..
-
2017.01.24
수명주기
- 액티비티의 수명주기(Life Cycle) : 액티비티의 상태 정보가 변하는 것 *액티비티의 대표적인 상태 정보 상태 설명 실행(Running) 화면 상에 액티비티가 보이면서 실행되어 있는 상태. 액티비티 스택의 최상위에 있으며 포커스를 가지고 있음. 일시 중지(Paused) 사용자에게 보이기는 하지만 다른 액티비티가 위에 있어 포커스를 받지 못하는 상태. 대화상자가 위에 있어 일부가 가려져 있는 경우에 해당함. 중지(Stopped) 다른 액티비티에 의해 완전히 가려져 보이지 않는 상태. *액티비티의 상태 메소드 상태 메소드 설명 onCreate() 액티비티가 처음에 만들어졌을 때 호출됨 화면에 보이는 뷰들의 일반적인 상태를 설정하는 부분 이전 상태가 저장되어 있는 경우에는 번들 객체를 참조하여 이전 ..
-
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..
-
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 - ..
-
2017.01.17
프레임 레이아웃과 뷰의 전환
- 프레임 레이아웃은 가장 기본적이고 단순한 레이아웃. - 안드로이드에서는 복잡한 화면을 구성할 때 프레임 레이아웃이 가지고 있는 중첩(Overlay) 기능을 자주 사용. - 프레임 레이아웃은 뷰를 하나 이상 추가할 경우에는 추가된 순서대로 차곡차곡 쌓이게 됨. - 가장 먼저 추가한 뷰가 가장 아래쪽에 쌓이고 그 다음에 추가한 뷰는 그 위에 쌓이게 되는데 이렇게 되면 나중에 쌓인 뷰만 보이게 됨. - 여러 개의 뷰를 서로 전환하면서 보고 싶을 때 사용할 수 있음. - addView()나 removeView()와 같은 메소드를 이용해서 뷰를 추가하거나 삭제하고 동시에 뷰를 보이게 하거나 보이지 않게 함으로써 화면을 손쉽게 전환할 수 있음. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1..
-
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..
-
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..
-
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..
-
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..
-
2017.01.16
레이아웃
속성 설명 채우기 : fill model 뷰를 부모뷰의 여유 공간에 어떻게 채울 것인지를 설정합니다. 방향 : orientation 뷰를 추가하는 방향을 설정합니다. 정렬 방향 : gravity 뷰의 정렬 방향을 설정합니다. 여유 공간 : padding 뷰의 여유 공간을 설정합니다. 공간가중치 : weight 뷰가 차지하는 공간의 가중치 값을 설정합니다. *방향(orientation) 속성은 리니어 레이아웃의 경우에만 적용됨. *안드로이드에서 제공하는 대표적인 레이아웃 레이아웃 이름 설명 리니어 레이아웃 박스(Box) 모델 사각형 영역들을 이용해 화면을 구성하는 방법 표준 자바의 BoxLayout과 유사 상대 레이아웃 규칙(Rule) 기반 모델 부모 컨테이너나 다른 뷰와의 상대적 위치를 이용해 화면을 구..