Android 용 C # 프로그래밍 배우기

작가: John Stephens
창조 날짜: 24 1 월 2021
업데이트 날짜: 2 칠월 2024
Anonim
SUB)Android and iOS APP in one shot! Make Your App in 3 minutes with React Native
동영상: SUB)Android and iOS APP in one shot! Make Your App in 3 minutes with React Native

콘텐츠


이 글에서는 Android를위한 C # 프로그래밍과 Android 개발의 큰 계획에서 어디에 적용되는지 배울 것입니다.

Android 개발자가되고 싶다면 Java 또는 Kotlin의 두 언어 중 하나를 배워야한다는 인상을받을 수 있습니다. 이들은 Android Studio에서 공식적으로 지원되는 두 가지 언어이므로 많은 가이드와 자습서에 중점을 둔 두 가지 언어입니다. 안드로이드 개발은 그것보다 훨씬 유연하고 다양하며, 그것에 접근하는 더 많은 방법이 있습니다. 이들 중 다수는 C #과 관련이 있습니다.

독서:Android 앱을 개발하고 싶습니다. 어떤 언어를 배워야합니까?

C #은 Unity에서 게임을 빌드하기로 선택한 경우 사용하는 프로그래밍 언어입니다. 이는 Play 스토어에서 가장 널리 사용되고 널리 사용되는 게임 엔진이기도합니다. 일반적으로 게임 개발에 관심이 있다면 C # 프로그래밍을 배우는 것이 좋습니다.

Xamarin을 사용하려면 C # 프로그래밍을 배워야합니다. Xamarin은 개발자가 Visual Studio를 사용하여 iOS 및 Android로 쉽게 이식 할 수있는 앱을 빌드하여 크로스 플랫폼 프로젝트에 적합하도록하는 도구입니다.

따라서 Android 용 C # 프로그래밍을 배워야 할 충분한 이유가 있습니다. 알아야 할 사항을 살펴 보겠습니다.

빠른 소개 – C #과 Java

C #은 2000 년경 Microsoft에서 개발 한 객체 지향 프로그래밍 언어로, 현대적이고 단순하며 유연합니다. Java (1990 년 Sun Microsystem에 의해 개발 된)와 마찬가지로, 원래는 C ++에서 진화하여 둘 사이에 많은 유사점이 있습니다. 예를 들어, 둘 다 동일한 "구문 기반"을 사용하는데, 이는 동일한 용어와 구조를 효과적으로 사용한다는 것을 의미합니다. 몇 가지 사소한 차이점이 있지만 한 언어에 익숙한 경우 구체적으로 배울 필요없이 다른 언어를 많이 이해할 수 있어야합니다. 초보자에게는 C # 프로그래밍을 배우는 것이 약간 더 쉽다는 것을 알게 될 것입니다.


객체 지향 언어로서 C #과 Java는 클래스를 통해 객체를 설명합니다. 이것은 프로그래밍에 대한 모듈 식 접근 방식으로, 코드 조각을 계속해서 사용할 수 있습니다.

C #이 Java와 다른 경우 델리게이트 사용, 이벤트 리스닝에 대한 접근 방식, 가상 대 최종 속성, 암시 적 캐스팅 등이 있습니다.

좋은 소식 : 실제로 C #을 처음 배우기 시작했을 때 대부분의 의미를 알 필요는 없습니다. 가장 중요한 점은 C #에서 구조를 조금 더 배우기 쉽고 타이핑이 덜 필요한 경향이 있다는 것입니다. 이는 Android 용 Java를 배울 때 Android 앱을 빌드하는 데 필요한 많은 클래스와 API를 숙지해야한다는 점을 고려할 때 특히 그렇습니다. 따라서 C # 프로그래밍을 Java의 발판으로 삼을 수도 있습니다.

안녕하세요 세계! C #에서

코딩 세계의 전통은 새로운 언어를 배울 때마다 화면에“Hello World!”를 표시하는 간단한 프로그램을 만들어야한다는 것입니다. 이를 통해 기본적으로 필요한 도구를 준비하고 실행하고 간단한 것을 컴파일 할 수 있습니다. 마치“테스팅, 테스팅, 1, 2, 3”을 마이크로 읽는 것과 같습니다!

이 경우 Visual Studio를 사용하여 콘솔 앱을 만듭니다. Visual Studio (무료)를 다운로드 한 후 다음을 클릭하십시오.

파일> 새로 만들기> 프로젝트

그리고:

Visual C #> Windows 클래식 데스크톱> 콘솔 앱 (.NET Framework)


이것이 Windows 콘솔에서 실행될 앱을 만드는 방법입니다.

이 작업을 수행하면 프로젝트의 베어 본 구조가 기본 창에 나타납니다. 다음과 같은 코드가 표시됩니다.

네임 스페이스 ConsoleApp3 {클래스 프로그램 {static void Main (string args) {}}}

이제 다음과 같이 두 줄만 추가하면됩니다.

네임 스페이스 ConsoleApp3 {클래스 프로그램 {static void Main (string args) {Console.WriteLine ( "Hello World!"); Console.ReadKey (); }}}

화면에 "Hello World!"라고 쓰인 후 키를 누를 때까지 기다립니다. 사용자가 아무 키나 누르면 프로그램이 종료되고 자동으로 종료됩니다.

이 두 줄은 세미콜론으로 끝납니다. C #의 모든 문장은 세미콜론으로 끝나야하는데,이 줄은 C #과 연결되어 행이 끝났음을 나타냅니다 (Java와 동일). 유일한 예외는 줄 바로 뒤에 열린 괄호가 오는 경우입니다. 잠시 후에 설명하겠습니다.

화면 상단의 "시작"버튼을 누르면 앱이 실행되어 실제로 볼 수 있습니다.

클래스는 효과적으로 데이터 조각 인 객체를 설명하는 코드 조각입니다.

그래서 여기서 정확히 무슨 일이 일어나고 있습니까?

C # 시작하기 : 메소드 및 클래스

Android 용 C # 프로그래밍을 배우려면 클래스와 메소드를 이해해야합니다.

클래스는 효과적으로 데이터 조각 인 객체를 설명하는 코드 조각입니다. 이것에 대해 너무 걱정할 필요가 없습니다. 바로 지금 작업중인 코드 페이지를 "클래스"라고하며 프로젝트 내 다른 클래스와 상호 작용할 수 있다는 것을 알면됩니다. 프로젝트는 하나의 클래스를 가질 수 있으며 모든 코드가 거기에서 작동하거나 여러 클래스를 가질 수 있습니다.

각 수업에는 메소드도 있습니다. 이러한 메소드는 해당 클래스 내에서, 때로는 외부에서 언제든지 참조 할 수있는 코드 스 니펫입니다.

이 경우 클래스는 프로그램. 이것은 클래스 Program이라고 읽는 줄에 의해 바로 정의됩니다. 오른쪽의 "솔루션 탐색기"창을 열면 Program.cs를 찾을 수 있습니다. 클래스 이름은 항상 파일 이름과 같습니다.

그런 다음 중괄호를 사용하여 다음에 나오는 모든 코드를 포함합니다. 중괄호는 뒤에 오는 모든 것이 함께 속해 있음을 알려줍니다. 따라서 대괄호가 닫힐 때까지 다음 코드는 모두 프로그램의 일부입니다.

다음으로 첫 번째 방법을 따르고 다음 줄을 정의하십시오.

정적 무효 메인 (문자열 인수)

그 다음에 더 큰 괄호가 뒤 따릅니다. 즉, 다음 코드는 "Main"메서드의 일부입니다 (여전히 Program 클래스 내에 있음). 그리고 "Hello World"를 넣었습니다.

"Static void"는 기본적으로이 방법이 광범위한 프로그램에서 사용할 데이터를 조작하지 않고 자체 포함 된 작업을 수행하며 외부 클래스에서 참조 할 수 없음을 나타냅니다. "문자열 인수"를 통해 나중에 조작 할 수있는 정보를 메소드에 전달할 수 있습니다. 이를 "매개 변수"및 "인수"라고합니다. 다시 말하지만, 아직 그것에 대해 걱정할 필요가 없습니다. 단어, 대괄호 및 중괄호가 뒤 따르는 "정적 공백"은 새로운 방법의 시작을 나타냅니다.

다음 두 줄은 우리가 추가 한 줄입니다. 콘솔을 가져온 다음 해당 명령에 액세스하여 화면에 쓰고 키 누름을 기다립니다.

마지막으로 모든 대괄호를 닫습니다. 먼저 메서드, 클래스 및 클래스가 속한 프로젝트의 이름 인 "네임 스페이스"(이 경우 "ConsoleApp3"–이 방법으로 이전 테스트 앱을 만들었습니다) .

혼란 스러운가? 걱정하지 마세요. 더 이해가 되려고합니다.

방법 사용

따라서 메소드는 이름을 가진 코드 묶음입니다. 왜 메소드를 사용하는지 설명하기 위해 새로운 메소드를 작성하고 예제로 작동시키는 것이 도움이 될 수 있습니다.

따라서 Program 클래스 내에있는 새 메소드를 작성하십시오 (따라서 중괄호 안에 있지만 "Main"에 속하는 중괄호 밖에 있어야합니다).

이것을“NewMethod”라고 부르고 방금 쓴 두 줄을 여기에 넣으십시오. 이것은 다음과 같아야합니다.

class 프로그램 {static void Main (string args) {} static void NewMethod () {Console.WriteLine ( "Hello World!"); Console.ReadKey (); }}

이제 Main 메소드에서 NewMethod에 대한 참조를 다음과 같이 추가하십시오.

static void Main (문자열 인수) {ar ​​NewMethod (); }

그러면 방금 만든 메소드를 "호출"하여 본질적으로 프로그램을 해당 방향으로 안내합니다. 시작을 누르면 이전과 같은 일이 발생합니다. 원하는 경우를 제외하고는 원하는만큼“NewMethod ();”를 작성하고 많은 코드를 작성하지 않고도 텍스트를 계속 반복 할 수 있습니다.

거대한 프로그램이 진행되는 동안 이와 같은 코드를 참조 할 수있게되면 매우 강력 해집니다. 이것은 Android 용 C # 프로그래밍을 배우려고 할 때 이해해야 할 가장 중요한 것 중 하나입니다.

우리는이 방법을 원하는만큼 많은 방법을 만들 수 있으며, 그 방법은 매우 깔끔하고 체계적인 코드를 가지고 있습니다. 동시에 C #에 내장 된 메소드와 사용할 수있는 라이브러리도 참조 할 수 있습니다. "기본"은 "내장"방법의 한 예입니다. 이것은 모든 프로그램이 시작하는 방법이며 C #이 먼저 실행해야한다는 것을 이해합니다. 여기에 아무 것도 넣지 않으면 아무 일도 일어나지 않습니다!

따라서이 경우 대괄호에 포함 된 인수는 Microsoft가 Main 메소드를 설계 한 방식이므로 필요합니다. 그러나 괄호를 비워 두는 것이 좋았습니다.

변수 사용

이제 코드에서 약간 흥미로운 것을 할 차례입니다. 구체적으로 변수를 사용하여 프로그램을보다 역동적으로 만드는 방법을 살펴 보겠습니다. 이것은 C # 프로그래밍을 배우고 자 할 때 이해해야 할 가장 중요한 것 중 하나입니다.

변수는 기본적으로 데이터의 컨테이너입니다. 마음을 고등학교 수학으로 다시 돌리면 다음과 같은 것을 본 기억이있을 것입니다.

10 + x = 13
x 찾기

여기서 "x"는 변수이며 물론 나타내는 값은 "3"입니다.

이것은 변수가 프로그래밍에서 작동하는 방식과 정확히 같습니다. 여기를 제외하고 변수는 텍스트를 포함하여 다양한 유형의 데이터를 나타낼 수 있습니다.

새 변수를 만들려면 먼저 C #에 어떤 유형의 데이터가 포함될 것인지 알려야합니다.

따라서 NewMethod () 메서드 내에서 먼저 변수를 만든 다음 값을 할당합니다. 그런 다음“WriteLine”명령에 추가하겠습니다.

정수; 수 = 10; Console.WriteLine ( "Hello World!"+ 숫자);

우리는 정수일 수있는 "정수"라는 변수 유형을 사용했습니다. C #에서는“int”를 사용하여이를 참조합니다. 그러나 예를 들어 "부동 소수점 변수"인 "부동"을 쉽게 사용할 수 있었으며 소수점 이하 자릿수를 사용할 수 있습니다.

이 코드를 실행하면“Hello World! 화면에 10”. 물론, 우리는를 변경하기 위해 언제라도“number”의 값을 변경할 수 있습니다.

“number”는 NewMethod () 내에서 생성되므로 코드의 다른 곳에서는 액세스 할 수 없습니다. 그러나 모든 방법 외부에 배치하면 전세계에서 사용할 수있게됩니다. 그렇게하려면 변수도 정적이어야합니다.

클래스 프로그램 {static int number = 10; static void Main (문자열 인수) {NewMethod (); } static void NewMethod () {Console.WriteLine ( "Hello World!"+ 숫자); Console.ReadKey (); }}

마지막으로이 데이터를 전달할 수있는 방법이 하나 더 있습니다.이를 인수로 사용하여 메소드에 전달하는 것입니다. 다음과 같이 보일 수 있습니다.

static void Main (문자열 인수) {int 수 = 10; Console.WriteLine ( "안녕하세요, 당신의 이름은 무엇입니까?"); 새로운 방법 (숫자); } static void NewMethod (int number) {Console.WriteLine ( "Hello World!"+ 숫자); Console.ReadKey (); }}

여기서는 하나의 인수가 필요한 것으로 NewMethod 메소드를 정의하고 있습니다.이 인수는 정수 여야하며 메소드 내에서 "숫자"라고합니다. 우리는 단순히 그 정보를 중괄호에 추가하여이를 수행합니다. 그런 다음 프로그램의 다른 곳에서 메소드를 호출 할 때 대괄호 안에 해당 값을 "전달"해야합니다. 여러 개의 매개 변수로 메소드를 작성할 수 있으며,이 경우 나열된 변수를 쉼표로 구분하면됩니다.

이러한 모든 다른 전략을 사용하여 데이터를 저글링하는 것이 적절한 시나리오는 여러 가지가 있습니다. 좋은 프로그래밍은 직업에 맞는 것을 찾는 것을 의미합니다!

인수 전달 및 문자열 사용

다음 코드를 실행하여 어떤 일이 발생하는지보십시오.

class Program {static void Main (string args) {Console.WriteLine ( "안녕하세요, 이름이 뭐예요?"); NewMethod (Console.ReadLine ()); } static void NewMethod (String UserName) {Console.WriteLine ( "Hello"+ UserName); Console.ReadKey (); }}

이름을 입력하라는 메시지가 표시되면 콘솔이 사용자를 위대하게한다는 것을 알게됩니다. 이 간단한 코드에는 여러 가지 유용한 교훈이 포함되어 있습니다.

먼저, String이라는 다른 유형의 변수를 사용하는 방법에 대한 예를 봅니다. 문자열은 일련의 문자로, 이름이거나 전체 스토리 일 수 있습니다.

따라서 UserName =“Adam”을 쉽게 작성할 수 있습니다. 대신 Console.ReadLine () 문을 사용하여 콘솔에서 문자열을 가져옵니다.

우리는 다음과 같이 쓸 수있었습니다.

문자열 사용자; User = Console.ReadLine (); NewMethod (사용자);

그러나 코드를 최대한 깔끔하게 유지하기 위해 이러한 단계를 건너 뛰고 "ReadLine"을 대괄호 안에 직접 배치했습니다.

그런 다음 해당 문자열을 NewMethod에 전달하고 이미 익숙한 방법을 사용하여 사용자를 맞이합니다.

문자열은 일련의 문자로, 이름이거나 전체 스토리 일 수 있습니다.

C #을 작성하는 이유와 유연하고 강력한 소프트웨어를 만들기 위해 변수 및 방법과 같은 것을 사용하는 방법에 대해 조금 이해하기 시작했습니다.

그러나 C # 프로그래밍을 배우려면 흐름 제어라는 또 하나의 중요한 측면이 있습니다.

C # 흐름 제어를 배우고 간단한 퀴즈를 만드십시오!

코딩 할 때 변수를 사용하는 이유 중 하나는 나중에 프로그램을 쉽게 편집 할 수 있기 때문입니다. 다른 하나는 사용자로부터 정보를 얻거나 임의로 생성 할 수 있도록하는 것입니다.

그러나 C # 변수를 배우는 가장 좋은 이유는 프로그램이 동적이 될 수 있기 때문에 사용 방식에 따라 다르게 반응 할 수 있기 때문입니다.

이를 위해서는“흐름 제어”또는“조건문”이 필요합니다. 이것은 변수의 가치에 따라 여러 가지 방법으로 코드를 실행할 것이라고 말하는 멋진 방법입니다.

이를 수행하는 가장 강력한 방법 중 하나는 "if"문을 사용하는 것입니다. 이 예에서는 사용자 이름을 찾아 주요 사용자를 다른 사용자와 다르게 인사합시다.

static void NewMethod (String UserName) {Console.WriteLine ( "Hello"+ UserName); if (UserName.Equals ( "Adam")) {Console.WriteLine ( "환영합니다"); } Console.ReadKey (); }

"If"문은 괄호 안에 들어가는 명령문의 유효성을 테스트하여 작동합니다. 이 경우 UserName 문자열이 "Adam"문자열과 같은지 묻습니다. 대괄호 안에있는 문장이 참이면 (두 문자열이 동일) 다음 중괄호 안에있는 코드가 실행됩니다. 그렇지 않으면 해당 줄을 건너 뜁니다.

마찬가지로 정수와 부동 수를 비교할 수 있고, 하나가 다른 것보다 큰지 테스트 할 수 있습니다. 러시아 인형처럼 서로 다른 if 문을 여러 개 사용할 수도 있습니다. 우리는 이것을“네스트 ifs”라고 부릅니다.

다음에

switch 문과 같은 것을 포함하여 흐름 제어에 사용할 수있는 더 많은 전략이 있습니다. 다행히도 유용한 내용을 만들기 위해 이러한 진술과 기법을 어떻게 사용할 수 있는지 이미 알고있을 것입니다. 이 코드를 이미 퀴즈로 쉽게 바꿀 수 있습니다!

결국 Unity와 같은 도구를 사용하는 C #을 사용하면 모든 기능을 갖춘 게임을 만들 수 있습니다!

그러나 실제로 인상적인 도구와 게임을 만들려면 몇 가지 더 살펴 봐야합니다. 놀랍습니다! 두 번째 부분이 있습니다!

다음 단원에서는 시간이 지남에 따라 반복되는 루프를 만드는 방법과 새로운 클래스를 만들고 상호 작용하는 방법에 대해 알아 봅니다. 그때 만나!

접을 수있는 전화의 상태는 지금과 같은 드래그입니다. MWC 2019로 돌아 가면 전화가 영원히 바뀌는 것처럼 보였습니다. 삼성과 화웨이는 새로운 접이식 폼 팩터를 공개했다. 과대 광고가 너무 많아서 폴더 블을 검토 할 것이라고 확신했습니다.삼성의 갤럭시 폴드가 깨지기 시작하고 화웨이가 미국 제조업체와의 협력을 금지 한 것은 조금 끔찍했습니다. 이런 일이 ...

MWC 2019가 시작되었으며 접이식 전화가 있기 때문에 몇 년 안에 가장 흥미로운 반복처럼 보입니다. 두 가지 주요 장치는 의심 할 여지없이 amung Galaxy Fold와 Huawei Mate X이며, 이는 안드로이드 패권과의 전쟁에서 새로운 단계를 나타냅니다.이 기기 세그먼트의 초기 특성은 Huawei와 amung에서 알 수 있듯이 다양한 고유 폼 ...

신선한 출판물