Android 앱을 만드는 방법: 알아야 할 모든 것

Android 앱을 만드는 방법: 알아야 할 모든 것
이 가이드는 무료 PDF로 다운로드할 수 있습니다. 지금 이 파일을 다운로드하십시오 . 자유롭게 복사하여 친구 및 가족과 공유하십시오.

MakeUseOf의 나만의 Android 앱 만들기 가이드에 오신 것을 환영합니다. 이 가이드에서는 자신만의 Android 애플리케이션을 만들고자 하는 이유, 빌드를 위한 몇 가지 옵션, 다른 사람들이 사용할 수 있도록 하는 방법을 살펴보겠습니다.





안드로이드 개발 소개

Android 앱을 개발하는 두 가지 기본 방법이 있습니다. 첫 번째는 Java로 처음부터 작성하는 것입니다. 그러나 이것은 물론 당신이 이미 알다 Java 또는 뛰어들기 전에 배울 수 있는 인내심이 있어야 합니다. 하지만 바로 시작하기가 가렵다면?





다른 옵션은 시장에 나와 있는 포인트 앤 클릭 앱 빌더 중 하나입니다. 이들 중 다수는 엔터프라이즈 사용자를 대상으로 합니다(엔터프라이즈 가격표와 함께 제공됨). 그러나 MIT는 앱을 시각적으로 구축할 수 있는 온라인 도구인 '앱 인벤터'를 제공합니다. App Inventor를 사용하면 몇 가지 깔끔한 작업을 수행할 수 있습니다. 그러면 Java를 자세히 살펴보고 Android 플랫폼의 모든 강력한 기능에 액세스할 수 있을 때까지 계속 바쁘게 지낼 수 있습니다.





아래 섹션에서는 입력한 텍스트를 저장할 간단한 '스크래치패드' 애플리케이션의 프로토타입 버전을 빌드합니다. 먼저 App Inventor에서 이 작업을 수행하고 Android 에뮬레이터에서 결과를 미리 봅니다. 그런 다음 여러 파일 중에서 선택할 수 있는 기능으로 이 응용 프로그램을 확장하여 더 많은 '메모장'으로 만들 것입니다. 이러한 유형의 개선을 위해서는 Java 및 Android Studio를 살펴봐야 합니다.

준비가 된? 시작하겠습니다.



Android용으로 개발해야 하는 이유

다음을 포함하여 자신만의 Android 앱을 만들고 싶은 이유는 많습니다.

  • 필요성 : 결국, 발명의 어머니입니다. Play 스토어에서 꿈에 그리던 앱을 살펴본 후 아직 다른 사람이 가지고 있지 않기 때문에 스스로 구축해야 하는 앱이라는 것을 알게 될 것입니다.
  • 지역 사회 : 유용한 것을 개발하고 무료로(특히 오픈 소스로) 제공하는 것은 Android 및/또는 FOSS 커뮤니티에 참여하는 훌륭한 방법입니다. 오픈 소스 기여 없이는 Linux도 없고 리눅스가 없다면 안드로이드도 없을 것이다 (또는 적어도 우리가 알고 있는 안드로이드는 없음). 따라서 되돌려주는 것을 고려하십시오!
  • 학습 : 플랫폼을 개발하는 것보다 플랫폼을 이해하는 데 더 좋은 방법은 거의 없습니다. 학교를 위한 것일 수도 있고 자신의 호기심을 위한 것일 수도 있습니다. 그리고 마지막에 몇 달러를 벌 수 있다면 더욱 좋습니다.
  • 수익 창출 : 반면에 처음부터 돈을 벌기 위해 이 일을 할 수도 있습니다. Android는 한때 앱 수익의 '저렴한' 영역으로 간주되었지만 천천히 돌아서고 있습니다. 비즈니스 인사이더 3월에 보고된 2017년에는 Android 매출이 처음으로 iOS를 추월할 것으로 예상됩니다.
  • 애드온 : 개발자는 콘솔 컴패니언 앱 및 MakeUseOf의 자체 앱(더 이상 사용할 수 없음)과 같이 기존 제품 또는 서비스를 홍보, 액세스 또는 보완하는 방법으로 일반적으로 앱을 만드는 경우가 많습니다.

이유가 무엇이든 앱 개발은 디자인, 기술 및 논리적 기술에 도전을 줄 것입니다. 그리고 이 연습의 결과(Android용으로 작동하고 유용한 응용 프로그램)는 포트폴리오 조각 역할을 할 수 있는 훌륭한 성과입니다.





다양한 툴킷, 프로그래밍 언어 및 출판사 . 높은 수준에서 이들은 다음 두 가지 범주로 나뉩니다.

포인트 앤 클릭 앱

개발에 대한 완전한 초보자인 경우 Powerpoint 프레젠테이션을 만드는 것과 동일한 방식으로 Android 앱을 빌드할 수 있는 환경이 있습니다. 버튼이나 텍스트 상자와 같은 컨트롤을 선택하고 화면에 드롭하고(아래 이미지 참조), 작동 방식에 대한 몇 가지 매개변수를 제공할 수 있습니다. 코드를 작성하지 않고도 모두 가능합니다.





이러한 유형의 응용 프로그램은 학습 곡선이 얕은 장점이 있습니다. 일반적으로 바로 들어가서 최소한 화면 레이아웃을 시작할 수 있습니다. 또한 배후에서 기술 세부 사항(예: 개체 유형 또는 오류 처리)을 처리하도록 설계되었기 때문에 응용 프로그램에서 많은 복잡성을 제거합니다. 반면에 그 단순함은 지원되는 기능에 대해 도구 작성자의 자비에 달려 있음을 의미합니다. 또한 이러한 도구의 대부분은 대기업을 대상으로 하며 비용이 많이 들 수 있습니다.

예외는 기능적이고 무료인 MIT의 App Inventor 웹 응용 프로그램입니다. Google 계정으로 로그인한 후 몇 분 안에 앱을 함께 클릭하고 휴대폰이나 Android 에뮬레이터를 통해 미리 볼 수 있습니다.

처음부터 쓰기

다른 옵션은 응용 프로그램을 처음부터 작성하는 것입니다. 이것은 아마도 당신이 상상하는 것과 다를 것입니다. 영화에서 묘사하는 것과는 다릅니다.

소스 파일에 한 번에 한 줄씩 코드를 입력한 다음 실행 가능한 응용 프로그램으로 컴파일합니다. 지루하게 들릴지 모르지만 실제로는 프로그래밍에 더 많은 시간을 할애하고 있습니다. 설계 , 또는 일이 어떻게 작동해야 하는지 생각합니다. 대부분의 개발자에게 물어보면 자신의 시간 중 10-15%만 코드 입력에 할애한다고 말할 것입니다. 따라서 대부분의 시간을 앱에서 수행해야 하는 작업에 대해 (생산적으로) 공상하는 데 보내게 됩니다.

몇 가지 다른 방법으로 Android 애플리케이션을 코딩할 수 있습니다. Google이 Kotlin을 또 다른 옵션으로 추가하고 있지만 '표준' 방식은 일관되게 세계에서 가장 인기 있는 언어 중 하나인 Java로 앱을 작성하는 것입니다. 게임과 같은 성능 집약적인 앱의 경우 C++와 같은 '네이티브' 언어로 작성할 수 있습니다. 이러한 앱은 Dalvik 가상 머신에서 실행되는 '일반' Java 기반 앱과 달리 Android 기기의 하드웨어에서 직접 실행됩니다. 마지막으로 '네이티브'로 보이는 모바일 앱으로 배포하기 위해 웹 애플리케이션(Microsoft의 Xamarin 또는 Facebook의 Native React와 같은 툴킷 사용)을 '래핑'하는 방법이 있습니다.

통합 개발 환경(IDE)은 프로그래밍의 일부 일상적인 요소를 처리하지만 이 방법의 학습 곡선은 가파르다는 것을 이해하십시오. 어떤 언어를 선택하든 기본 사항에 정통해야 합니다. 이 시간을 미리 투자하는 것은 앱 개발에 바로 들어갈 수 없다는 점에서 이 방법의 단점입니다. 그러나 배운 기술을 다른 곳에 적용할 수 있기 때문에 장기적으로는 이점이 있습니다. Java를 배우고 Android 앱 외에도 데스크탑 및 서버 측 애플리케이션(웹 기반 애플리케이션 포함)용으로 개발할 수 있습니다.

프로젝트에 가장 적합한 옵션은 무엇입니까?

그렇다면 '가장 좋은' 길은 어디일까요? 모든 사람에게 답하기에는 너무 주관적이지만 다음과 같이 일반화할 수 있습니다. 궁금하지만 그냥 '장난'하는 경우 포인트 앤 클릭 앱 제작자와 함께하십시오. 그들은 '과정'을 요구하지 않고 창조적 인 가려움을 긁는 데 도움이 될 것입니다. 그러나 그 코스워크에 대한 아이디어가 두렵지 않다면 더 긴 길을 택하고 프로그래밍 언어를 배우는 것을 고려하십시오. 투자는 다른 많은 방법으로 결과를 얻을 것입니다.

또한 둘 다 사용하는 것을 고려하십시오! 포인트 앤 클릭 빌더는 프로토타입 또는 '개념 증명'을 신속하게 구성하는 훌륭한 방법입니다. 레이아웃 및 화면 흐름과 같은 일부 세부 사항을 처리하는 데 사용하십시오. 많이 마우스 기반 환경에서 더 빨리 섞습니다. 그런 다음 유연성을 활용해야 하는 경우 Java로 다시 구현하십시오.

우리는 이 가이드에서 정확히 그 접근 방식을 취할 것입니다. 우리는:

  1. 원기 MIT의 앱 인벤터를 사용하여 파일에 일부 텍스트를 저장하는 '스크래치패드' 애플리케이션입니다.
  2. 재구현 이것은 Java에서 (Google의 Android Studio IDE의 약간의 도움으로) 다음으로 이동합니다. 연장하다 앱을 사용하면 여러 파일 중에서 선택할 수 있어 '메모장'에 가깝습니다.

알겠습니다. 충분히 이야기하겠습니다. 다음 섹션에서는 코딩할 준비를 합니다.

앱 제작 준비

아직 뛰어들지 마십시오. 먼저 지식과 소프트웨어가 필요합니다.

필요한 지식

일부 소프트웨어 설치를 시작하기 전에 시작하기 전에 알아야 할 몇 가지 지식이 있습니다. 우선 가장 중요한 것은, '무엇을 해야 합니까?' 개발을 시작하기 전에 앱에 대한 명확한 개념을 가질 때까지 기다리는 것이 당연한 것처럼 보일 수 있지만 놀랄 것입니다. 따라서 이 개념을 통해 작업하는 데 시간을 할애하고 행동에 대한 메모를 작성하고 일부 화면을 스케치합니다. 먼저 앱에 대한 비교적 완전한 그림을 만드세요.

다음으로 살펴보십시오. 무엇이 가능하다. 예를 들어, 앱의 이상적인 그림이 후손을 위해 평생을 비디오로 기록할 수 있는 것이라고 상상해 보십시오. 너 ~ 할 수있다 동영상을 캡처할 앱을 만듭니다. 너 캔트 인생의 모든 순간을 장치에 저장할 것을 만드십시오(저장소 부족). 그러나 당신은 ~ 할 수있다 개발하는 데 시간이 걸리고 자체 제한 사항이 있기는 하지만 이 스토리지의 일부를 클라우드로 오프로드하려고 합니다(네트워크에 액세스할 수 없으면 어떻게 되나요?). 여기에서 기술적인 세부 사항 중 일부를 검사하고 처음부터 코딩할지 여부와 같은 결정 사항을 알릴 수 있습니다.

마지막으로 알아야 할 가치가 있습니다. 밖에 뭐가 있어 이미. 커뮤니티에 배우거나 기여하기를 원하는 경우 귀하와 같은 기존 오픈 소스 프로젝트가 있습니까? 그 프로젝트를 출발점으로 삼을 수 있습니까? 아니면 더 나은 방법으로 개선 사항을 개발하고 기여하시겠습니까? 돈을 벌고 싶다면 경쟁자는 어떻습니까? 간단한 알람 시계 앱을 작성하고 백만 달러를 벌 것으로 기대한다면 테이블에 특별한 것을 가져오는 것이 좋습니다.

논의한 바와 같이, 우리는 여러분이 입력한 일부 텍스트를 수집하고 보관하는 간단한 스크래치 패드를 만들 것입니다. 그렇게 함으로써 우리는 위의 규칙을 어길 것입니다. 이미 많은 Android 메모 작성 앱이 열려 있고 폐쇄 소스 . 그러나 이것이 나중에 훨씬 더 복잡한 앱이 될 것이라고 가정해 보겠습니다. 어딘가에서 시작해야 합니다.

이제 필요한 소프트웨어를 얻을 수 있습니다.

앱 인벤터로 개발 준비하기

App Inventor 도구를 사용하기 위해 아무것도 설치할 필요가 없습니다. 그것은 웹 응용 프로그램이며 브라우저를 통해 완전히 액세스합니다. 사이트에 접속하시면 우측상단에 버튼이 보입니다. 앱을 만드세요! 현재 Google 계정에 로그인하지 않은 경우 이를 클릭하면 로그인 페이지로 이동합니다.

그렇지 않으면 App Inventor로 직접 이동해야 합니다. 내 프로젝트 페이지.

이 시점에서 앱을 테스트할 위치를 고려하십시오. 모험을 좋아한다면 다음을 설치하여 휴대전화나 태블릿에서 테스트할 수 있습니다. Play 스토어의 컴패니언 앱 . 이제 모든 준비가 완료되었습니다. 실제로 장치에서 무엇이든 보려면 실행 중인 프로젝트가 필요하지만 나중에 이에 대해 알아보겠습니다.

또는 에뮬레이터를 사용하여 컴퓨터에서 앱을 테스트할 수 있습니다. 에서 운영 체제용 에뮬레이터를 다운로드하여 설치합니다. 이 페이지 . 아래 이미지는 Linux에 설치되는 앱을 보여주지만 Windows나 Mac에서도 적절한 버전이 문제 없이 설치되어야 합니다.

'aiStarter' 명령을 실행하여 에뮬레이터를 시작할 수 있습니다. 이것은 시작된다 백그라운드 프로세스 (로컬) 에뮬레이터를 (클라우드 기반) App Inventor에 연결합니다. Windows 시스템은 바로 가기를 제공하지만 Mac 사용자는 로그인 시 자동으로 시작됩니다. Linux 사용자는 터미널에서 다음을 실행해야 합니다.

아이폰 12 프로 vs 삼성 s21 울트라
/usr/google/appinventor/commands-for-appinventor/aiStarter &

실행되면 다음을 클릭하여 연결을 테스트할 수 있습니다. 에뮬레이터 항목 연결하다 메뉴. 에뮬레이터가 회전하는 것이 보이면(아래 이미지 참조), 잘 진행한 것입니다.

안드로이드 스튜디오 설치

몇 가지 간단한 프로그램을 개발할 계획이라면 App Inventor만 있으면 됩니다. 그러나 잠시 사용하다 보면 벽에 부딪힐 수도 있고 App Inventor가 지원하지 않는 일부 기능(예: 인앱 결제)을 사용하게 될 수도 있습니다. 이를 위해서는 Android Studio가 설치되어 있어야 합니다.

이제 Google에서 승인한 공식 개발 환경인 Android Studio는 IntelliJ 아이디어 JetBrains의 Java IDE. 다음에서 운영 체제용 사본을 다운로드할 수 있습니다. Google의 Android 개발자 페이지는 여기 . Windows 및 Mac 사용자는 각각 EXE 파일 또는 DMG 이미지를 사용하여 설치 프로그램을 시작할 수 있습니다.

Linux 사용자는 ZIP 파일을 사용하여 원하는 위치에 압축을 풀고 거기에서 Android Studio를 실행할 수 있습니다(Windows/Mac 사용자도 가능). 그렇지 않으면 다음을 사용할 수 있습니다. 우분투 메이크 패키지를 다운로드하여 설치합니다. 최신 LTS 버전(이 글을 쓰는 시점에서 16.04)을 사용 중인 경우 Android Studio에 액세스하려면 시스템에 Ubuntu Make PPA를 추가해야 합니다.

sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make

그런 다음 다음으로 시스템을 업데이트하십시오.

sudo apt update

마지막으로 다음 명령으로 Ubuntu Make를 설치합니다.

sudo apt install umake

설치가 완료되면 다음 명령을 사용하여 Ubuntu Make가 Android Studio를 설치하도록 지시할 수 있습니다.

umake android android-studio

사용권 계약을 표시한 후 기본 응용 프로그램 다운로드 및 설치를 시작합니다. 완료되고 Android Studio를 실행하면 마법사가 몇 가지 다른 단계를 안내합니다.

먼저 '표준' 설치를 원하는지 아니면 사용자 지정을 원하는지 선택해야 합니다. 여기에서 표준 설치를 선택하면 더 빨리 시작할 수 있습니다.

그러면 몇 가지 추가 구성 요소를 다운로드해야 한다는 메시지가 표시되며 시간이 다소 걸릴 수 있습니다.

모든 것이 설치되면 새 프로젝트를 만들거나 기존 프로젝트를 열거나 설정에 액세스할 수 있는 작은 시작 화면이 나타납니다.

나는 당신이 손을 더럽힐 준비가 되어 있다는 것을 압니다. 더 이상 고민하지 않고 무언가를 만들어 봅시다.

간단한 안드로이드 메모장 만들기

우리는 (물론) 뛰어들기 전에 앉아서 이것을 생각했기 때문에 Android 앱이 두 개의 화면으로 구성될 것이라는 것을 알고 있습니다.

하나는 사용자가 '지금 편집'하거나 종료하도록 허용하고 다른 하나는 실제 편집을 수행합니다. 첫 화면은 쓸모없어 보이지만 나중에 기능을 추가할 때 유용할 수 있습니다. '편집' 화면에서 캡처된 텍스트는 일반 텍스트 규칙이기 때문에 일반 텍스트 파일에 숨겨집니다. 다음 와이어프레임은 우리에게 좋은 참조 지점을 제공합니다.

다음 섹션에서는 MIT의 앱 인벤터로 빌드합니다.

MIT 앱 인벤터 시작하기

첫 번째 단계는 새 프로젝트를 만드는 것입니다. App Inventor에 로그인한 다음 새 프로젝트 시작 왼쪽에 있는 버튼( 프로젝트 메뉴).

이름을 지정하는 대화 상자가 나타납니다.

그러나 이제 앱 인벤터의 디자이너 보기로 이동하게 되었으며 처리해야 할 사항이 많이 있습니다. 잠시 시간을 내어 각 섹션을 살펴보겠습니다.

  1. 상단의 제목 표시줄에는 프로젝트 이름( muo스크래치패드 ); 앱 화면을 추가, 제거 및 전환할 수 있습니다(예: 화면 1 ); 앱 인벤터 사이를 전환합니다. 디자이너 그리고 블록 맨 오른쪽의 전망.
  2. NS 팔레트 왼쪽에는 사용할 모든 컨트롤과 위젯이 있습니다. 그들은 다음과 같은 섹션으로 나뉩니다. 사용자 인터페이스 그리고 저장 ; 앱에서 이 두 가지를 모두 사용할 것입니다. 우리는 방법을 볼 것입니다 팔레트 다양한 아이템을 보유하고 있습니다 블록 보다.
  3. NS 뷰어 WYSIWYG 방식으로 무엇을 만들고 있는지 보여줍니다.
  4. 구성품 현재 화면의 일부인 항목 목록입니다. 버튼, 텍스트 상자 등을 추가하면 여기에 표시됩니다. 파일에 대한 참조와 같은 일부 '숨겨진' 항목은 실제로 사용자 인터페이스의 일부가 아니지만 여기에도 표시됩니다.
  5. NS 섹션에서는 이미지나 사운드 클립과 같이 프로젝트에서 사용할 자산을 업로드할 수 있습니다. (우리는 이것이 필요하지 않을 것입니다.)
  6. 마지막으로, 속성 창에서 현재 선택한 위젯을 구성할 수 있습니다. 예를 들어 이미지 위젯을 선택하는 경우 높이와 너비를 변경할 수 있습니다.

첫 화면 레이아웃: '메인 화면'

계속 진행하기 전에 Designer에서 '메인' 화면의 레이아웃을 함께 넣어 보겠습니다. 스케치를 보면 앱 이름에 대한 레이블, 도움말 텍스트 줄, '편집' 화면으로 이동하는 버튼, 종료하는 버튼이 필요합니다. 당신은 볼 수 있습니다 사용자 인터페이스 팔레트에는 필요한 모든 항목이 있습니다. 라벨 , 그리고 두 버튼 . 화면 상단의 세로 열로 드래그하십시오.

다음으로 우리는 각각을 구성할 것입니다. 레이블의 경우 텍스트, 배경색 및 정렬과 같은 요소를 설정할 수 있습니다. 두 레이블을 모두 중앙에 배치하지만 앱 이름의 배경을 흰색 텍스트와 함께 검은색으로 설정합니다.

기기에서 실제로 어떻게 보이는지 확인할 차례입니다. 당신이 물건을 만들 때, 아기 단계에서 그렇게 하십시오. 나는 이것을 충분히 강조할 수 없다.

한 번에 앱에 많은 목록을 작성하지 마십시오. 문제가 발생하면 이유를 알아보는 시간. 실제 전화에서 테스트하려는 경우 AI2 Companion 앱을 시작하고 제공된 QR 코드 또는 6자리 코드를 사용하여 App Inventor에 연결할 수 있습니다.

에뮬레이터를 사용하여 미리 보려면 위에서 설명한 aiStarter 프로그램을 시작했는지 확인한 다음 에뮬레이터 항목에서 다시 연결하다 메뉴. 어느 쪽이든, 잠시 멈춘 후 뷰어에 있는 것과 같은 모양의 앱이 나타나야 합니다(실제 레이아웃은 장치 및 에뮬레이터의 크기에 따라 다를 수 있음).

제목이 괜찮아 보이니까 다른 것들도 글씨를 바꿔서 가운데 ​​정렬해 봅시다(이것은 화면의 속성이고, 수평 정렬 , 텍스트/버튼이 아님). 이제 App Inventor의 정말 멋진 측면 중 하나를 볼 수 있습니다. 모든 변경 사항이 실시간으로 이루어집니다! 텍스트 변경, 버튼 정렬 조정 등을 볼 수 있습니다.

기능적으로 만들기

이제 레이아웃이 완료되었으므로 몇 가지 기능을 추가해 보겠습니다. 클릭 블록 왼쪽 상단의 버튼. Designer 보기와 유사한 레이아웃이 표시되지만 범주별로 정렬된 몇 가지 다른 선택 항목이 있습니다. 이것들은 인터페이스 컨트롤이 아니라 프로그래밍 개념이지만 다른 보기와 마찬가지로 끌어서 놓기를 사용하여 앱의 일부로 함께 넣습니다.

왼쪽 팔레트에는 다음과 같은 범주가 있습니다. 제어 , 텍스트 , 그리고 변수 '내장' 카테고리에 있습니다. 이 범주의 블록은 다음과 같이 주로 배후에서 발생하는 기능을 나타냅니다. 수학 계산을 수행할 수 있는 항목. 이 아래에는 화면의 요소 목록이 있으며 여기에서 사용할 수 있는 블록은 해당 요소에 영향을 미칩니다. 예를 들어 라벨 중 하나를 클릭하면 해당 라벨의 텍스트를 변경할 수 있는 블록이 표시되고 버튼을 클릭할 때 발생하는 작업을 정의하는 블록이 있습니다.

각 블록에는 범주(색상으로 표시) 외에도 목적을 나타내는 모양이 있습니다. 이들은 대략 다음과 같이 나눌 수 있습니다.

  • 위의 'if-then' 블록과 같이 중간에 큰 간격이 있는 항목을 처리하는 항목으로 생각할 수 있습니다. 이벤트 . 앱 내에서 어떤 일이 발생하면 해당 간격 내의 다른 작업이 실행됩니다.
  • 커넥터가 있는 플랫 블록은 두 가지 중 하나입니다. 첫 번째는 진술 , 위의 흐름에 맞는 항목인 명령과 동일합니다. 위의 예에서 목록을 작성하다 블록은 그대로 명령문입니다. 지원 종료 .
  • 다른 옵션은 표현 , 진술과 약간만 다릅니다. 명령문이 '이 값을 '42'로 설정'이라고 말할 수 있는 경우 표현식은 '22를 20에 더하고 결과를 돌려주세요'와 같은 식입니다. 상기에서, 목록에 있습니다 true 또는 false로 평가되는 표현식입니다. 표현식도 평평한 블록이지만 왼쪽에는 탭이 있고 오른쪽에는 노치가 있습니다.
  • 마지막으로, 가치 숫자(위의 '17' 및 '42'), 텍스트 문자열('사물 1' 및 '사물 2') 또는 참/거짓을 포함합니다. 문이나 표현식에 제공하는 것이므로 일반적으로 왼쪽에만 탭이 있습니다.

당신은 확실히 모든 것을 통과 할 수 있습니다 가이드 및 튜토리얼 앱 인벤터에서 그러나 그것은 당신이 클릭을 시작하고 (말 그대로) 무엇이 맞는지 볼 수 있도록 설계되었습니다. 초기 페이지에는 주의가 필요한 두 가지 항목(버튼)이 있으므로 무엇을 생각해낼 수 있는지 봅시다. 이 중 하나(Button2)를 클릭하면 앱이 닫힙니다. 이것은 버튼과의 상호 작용이기 때문입니다. 버튼 블록을 확인하고 다음으로 시작하는 버튼을 찾을 수 있습니다. Button2.click할 때 (또는 버튼 1을 클릭할 때). 이것이 바로 우리가 원하는 것이므로 이것을 뷰어로 드래그합니다.

이제 클릭하면 앱이 닫히기를 원합니다. 이는 전체 앱 흐름 기능처럼 들립니다. 엿보다 내장 > 제어 섹션, 우리는 실제로 지원 종료 블록. 첫 번째 블록의 틈으로 드래그하면 딸깍 소리가 나면서 제자리에 고정됩니다. 성공!

이제 버튼을 클릭하면 앱이 닫힙니다. 에뮬레이터에서 사용해 보겠습니다. 개발 환경에서 앱 닫기가 지원되지 않는다는 오류가 표시되지만 이것이 작동하는 것을 의미합니다!

두 번째 화면 만들기: 편집기 화면

이제 Button1에 주의를 기울이겠습니다.

이것은 편집기를 열어야 하므로 편집기가 존재하는지 확인하는 것이 좋습니다! Designer로 다시 전환하여 첫 번째 화면과 동일한 레이블로 새 화면을 생성해 보겠습니다. 텍스트 상자 ('부모 채우기'로 설정 너비, 50% , 그리고 여러 줄 활성화됨) 콘텐츠를 보유하기 위한 다른 버튼('<< Save'). Now check that layout in the emulator!

윈도우 10 설치 USB 만드는 방법

계속 진행하기 전에 TextBox의 내용을 숨기고 싶다는 것을 알고 있습니다. 저장 . 물론 거기에는 몇 가지 옵션이 있습니다.

이들의, 파일 가장 간단하고 일반 텍스트를 원하기 때문에 괜찮을 것입니다. 이것을 뷰어에 넣으면 나타나지 않는 것을 알 수 있습니다. 파일 이다 보이지 않는 구성 요소는 백그라운드에서 작동하여 콘텐츠를 장치의 파일에 저장합니다. 도움말 텍스트는 작동 방식에 대한 아이디어를 제공하지만 이러한 항목을 표시하려면 뷰어에 숨겨진 구성 요소 표시 체크박스.

지금 블록 보기로 전환하십시오. 프로그래밍할 시간입니다. 우리에게 필요한 유일한 행동은 '<< Save' button is clicked, so we'll grab our Button1.click할 때 블록. 여기에서 App Inventor가 실제로 빛을 발하기 시작합니다.

먼저 TextBox의 내용을 저장합니다. File1.saveFile 호출 차단하고 원하는 텍스트를 제공합니다(TextBox1의 TextBox1.text , 내용을 검색하는 파일) 및 저장할 파일(텍스트 블록에 경로와 파일 이름을 제공하기만 하면 됩니다. 존재하지 않는 경우 앱에서 파일을 생성합니다).

이 파일이 열릴 때 이 파일의 내용을 로드하도록 화면도 설정해 보겠습니다( Editor > Editor.initialize 시 블록). 그것은해야 File1.ReadFrom 호출 파일 이름을 가리키는 것입니다. 다음을 사용하여 텍스트 파일을 읽은 결과를 캡처할 수 있습니다. 파일 > File1.GotText 때 , 다음을 사용하여 해당 내용을 TextBox에 할당합니다. TextBox > TextBox.Text를 다음으로 설정 차단하고 건네주세요. 문자 받기 값. 마지막으로 저장 후 Button1을 클릭하여 기본 화면(a 화면 닫기 블록).

마지막 단계는 메인 화면으로 돌아가 첫 번째 버튼을 프로그래밍하는 것입니다. 우리는 편집기 화면으로 보내기를 원합니다. 제어 > 다른 화면 열기 블록, '편집기'를 지정합니다.

다음은 무엇입니까?

이제 작동하는 무언가가 생겼습니다. 다음 단계는 무엇입니까? 물론 그것을 향상시키기 위해! App Inventor를 사용하면 다양한 Android 기능에 액세스할 수 있습니다. 방금 만든 간단한 화면 외에도 미디어 재생, 문자 보내기, 라이브 웹 보기 등의 기능을 앱에 추가할 수 있습니다.

가장 먼저 떠오르는 개선 사항 중 하나는 여러 파일 중에서 선택할 수 있는 기능입니다. 하지만 빨리 인터넷 검색 이것은 App Inventor에서 최고의 해커가 필요함을 보여줍니다. 이 기능을 원한다면 자바와 안드로이드 스튜디오 환경을 파헤쳐야 합니다.

Android Studio를 사용한 Java 개발

아래 섹션에서는 매우 높은 수준에서 Java로 스크래치패드 앱 개발에 대해 설명합니다. 다시 반복할 가치가 있습니다. 나중에 큰 이익을 얻을 수 있지만 Java 및 Android Studio를 배우려면 상당한 시간 투자가 필요합니다.

그래서 많은 설명이 없을 것입니다. 코드의 의미 아래에 있으므로 크게 걱정하지 않아도 됩니다. Java를 가르치는 것은 이 기사의 범위를 벗어납니다. 우리가 무엇을 할 것이다 Java 코드가 App Inventor에서 이미 구축한 것과 얼마나 가까운지 조사하는 것입니다.

Android Studio를 실행하여 시작하고 새 Android 스튜디오 프로젝트 시작 안건. 몇 가지 질문을 하는 마법사의 안내를 받게 됩니다. 첫 번째 화면에서는 앱 이름, 도메인(앱 스토어에 제출하는 경우 중요하지만 직접 개발하는 경우에는 중요하지 않음) 및 프로젝트 디렉터리를 묻습니다.

다음 화면에서 타겟팅할 Android 버전을 설정합니다. 최신 버전을 선택하면 플랫폼의 최신 기능을 포함할 수 있지만 기기가 최신 버전이 아닌 일부 사용자는 제외될 수 있습니다. 이것은 간단한 앱이므로 아이스크림 샌드위치를 ​​계속 사용할 수 있습니다.

다음으로 기본값을 선택하겠습니다. 활동 우리의 앱을 위해. 활동은 Android 개발의 핵심 개념이지만 우리의 목적을 위해 이를 화면으로 정의할 수 있습니다. Android Studio에는 선택할 수 있는 번호가 있지만 빈 번호로 시작하여 직접 빌드하겠습니다. 그 다음 화면에서 이름을 지정할 수 있습니다.

새 프로젝트가 시작되면 잠시 시간을 내어 Android Studio에 대해 알아보세요.

  1. 상단 도구 모음에는 다양한 기능을 위한 버튼이 있습니다. 우리에게 가장 중요한 것은 운영 버튼을 누르면 앱이 빌드되고 에뮬레이터에서 실행됩니다. (가서 시도해보십시오. 잘 구축 될 것입니다.) 다음과 같은 다른 것들이 있습니다. 구하다 그리고 찾다 , 그러나 이것들은 우리 모두에게 익숙한 키보드 단축키를 통해 작동합니다(각각 Ctrl+S 및 Ctrl+F).
  2. 왼손 프로젝트 창은 프로젝트의 내용을 보여줍니다. 이러한 항목을 두 번 클릭하여 편집을 위해 열 수 있습니다.
  3. 중앙 영역은 편집자입니다. 정확히 무엇을 편집하는지에 따라 텍스트 기반 또는 그래픽이 될 수 있습니다. 잠시 후에 보게 될 것입니다. 오른쪽 속성 창(예: 앱 인벤터)과 같은 다른 창도 표시할 수 있습니다.
  4. 오른쪽 및 아래쪽 테두리에는 선택 시 창으로 팝업되는 다른 도구가 선택되어 있습니다. 명령줄 프로그램과 버전 제어를 실행하기 위한 터미널과 같은 것이 있지만 대부분은 간단한 프로그램에서 중요하지 않습니다.

메인 화면을 자바로 이식하기

Java로 스크래치 패드를 다시 빌드하는 것으로 시작하겠습니다. 이전 앱을 보면 첫 번째 화면에 레이블과 두 개의 버튼이 필요하다는 것을 알 수 있습니다.

과거에 Android에서 사용자 인터페이스를 만드는 것은 손으로 만든 XML을 포함하는 힘든 과정이었습니다. 요즘에는 App Inventor에서와 같이 그래픽으로 수행합니다. 각 활동에는 레이아웃 파일(XML로 수행)과 코드 파일(JAVA)이 있습니다.

'main_activity.xml' 탭을 클릭하면 아래(매우 Designer와 유사한) 화면이 표시됩니다. 이를 사용하여 컨트롤을 끌어다 놓을 수 있습니다. 텍스트뷰 (레이블과 같은) 및 두 버튼 .

배선을 해보자 출구 단추. 해당 부기를 처리하는 App Inventor와 달리 코드와 그래픽으로 버튼을 만들어야 합니다.

하지만 처럼 AI, Android의 Java API는 'onClickListner'라는 개념을 사용합니다. 우리의 오랜 친구인 'When Button1.click' 블록처럼 사용자가 버튼을 클릭할 때 반응합니다. 사용자가 클릭할 때 앱이 종료되도록 'finish()' 메서드를 사용할 것입니다(완료되면 에뮬레이터에서 이것을 시도하십시오).

편집기 화면 추가

이제 앱을 닫을 수 있으므로 단계를 다시 추적합니다. 'Edit' 버튼을 연결하기 전에 Editor Activity(화면)를 만들어 봅시다. 에서 마우스 오른쪽 버튼을 클릭합니다. 프로젝트 창 및 선택 새로 만들기 > 활동 > 빈 활동 이름을 'EditorActivity'로 지정하여 새 화면을 만듭니다.

그런 다음 다음을 사용하여 Editor의 레이아웃을 만듭니다. 편집텍스트 상자 (텍스트가 갈 곳) 및 버튼. 조정 속성 당신의 취향에 각각.

이제 EditorActivity.java 파일로 전환합니다. App Inventor에서 했던 것과 유사한 기능을 코딩할 것입니다.

존재하지 않는 경우 텍스트를 저장할 파일을 만들고 존재하는 경우 내용을 읽습니다. 몇 줄이 생성됩니다. 편집텍스트 상자 그리고 거기에 우리의 텍스트를 로드합니다. 마지막으로 조금 더 많은 코드가 Button과 해당 onClickListener를 생성합니다(텍스트를 파일에 저장한 다음 활동을 닫음).

이제 에뮬레이터에서 실행하면 다음이 표시됩니다.

  1. 실행하기 전에는 앱별 데이터의 표준 디렉토리인 '/storage/emulated/0/Android/data/[귀하의 도메인 및 프로젝트 이름]/files'에 폴더가 없습니다.
  2. 처음 실행하면 기본 화면이 예상대로 나타납니다. 여전히 위와 같은 디렉토리나 스크래치패드 파일이 없습니다.
  3. 클릭 시 편집하다 버튼을 누르면 파일과 마찬가지로 디렉토리가 생성됩니다.
  4. 클릭 시 구하다 , 입력한 모든 텍스트가 파일에 저장됩니다. 텍스트 편집기에서 파일을 열어 확인할 수 있습니다.
  5. 클릭 시 편집하다 다시, 당신은 이전 콘텐츠를 볼 수 있습니다. 변경하고 클릭 구하다 저장하고 클릭하면 편집하다 다시 기억할 것입니다. 기타 등등.
  6. 클릭 시 출구 , 앱이 종료됩니다.

앱 향상: 저장 파일 선택

이제 원래 App Inventor 스크래치패드의 작업 버전이 있습니다. 그러나 이를 향상시키기 위해 Java로 이식했습니다. 해당 표준 디렉토리에 있는 여러 파일 중에서 선택할 수 있는 기능을 포함해 보겠습니다. 이 작업을 수행하면 메모장 현재 프로젝트의 복사본을 생성할 것입니다. 여기의 지침을 사용하여 .

Android Intent를 사용하여 기본에서 Editor Activity를 호출했지만 다른 애플리케이션을 호출하는 편리한 방법이기도 합니다. 몇 줄의 코드를 추가하면 Intent에서 다음 요청을 보냅니다. 파일 관리자 응용 프로그램 응답합니다. 이는 파일 생성을 위한 코드 검사의 상당 부분을 제거할 수 있음을 의미합니다. Intent는 실제로 존재하는 파일만 탐색/선택하도록 허용하기 때문입니다. 결국 에디터 활동은 그대로 유지됩니다.

Intent에 넣을 수 있는 String(Java 텍스트 객체)을 반환하도록 Intent를 얻는 것은 어려운 일이었습니다. 다행스럽게도 프로그래밍 질문과 관련하여 인터넷은 당신의 친구입니다. NS 빠른 탐색 앱에 붙여넣을 수 있는 코드를 포함하여 몇 가지 옵션을 제공합니다.

코드 제공 스택 오버플로

그리고 이 작은 변경과 약간의 빌린 코드로 장치의 파일 브라우저/관리자 응용 프로그램을 사용하여 콘텐츠를 저장할 파일을 선택할 수 있습니다. 이제 '향상 모드'에 있으므로 몇 가지 더 유용한 개선 사항을 쉽게 찾을 수 있습니다.

  • 우리는 할 수 있습니다 선택하다 기존 파일 중에서 창조하다 그들을. 사용자가 파일 이름을 제공한 다음 해당 파일을 만들고 선택하는 기능이 필요합니다.
  • 브라우저에서 URL을 공유하고 메모 파일 중 하나에 추가할 수 있도록 앱이 '공유' 요청에 응답하도록 하는 것이 유용할 수 있습니다.
  • 여기서는 일반 텍스트를 다루지만 이미지 및/또는 서식이 포함된 풍부한 콘텐츠는 이러한 유형의 앱에서 표준입니다.

Java를 활용할 수 있는 능력으로 가능성은 무한합니다!

앱 배포

이제 앱이 완성되었으므로 가장 먼저 스스로에게 물어야 할 질문은 앱을 배포할 것인지 여부입니다! 다른 사람에게는 적합하지 않은 것처럼 보일 정도로 개인적이고 맞춤화된 무언가를 만들었을 수도 있습니다. 하지만 그렇게 생각하지 말라고 당부하고 싶다. 다른 사람들에게 얼마나 유용한지 아마 놀랄 것입니다. 다른 것이 아니라면 최소한 새로운 코더가 무엇을 할 수 있는지 보여주는 학습 경험입니다.

그러나 새 창작물을 혼자 유지하기로 결정한 경우에도 실제로 장치에 설치하려면 아래 단계 중 일부가 필요합니다. 따라서 앱을 패키지화하여 소스 코드 형식과 설치 가능한 패키지로 공유하는 방법을 알아보겠습니다.

소스 코드 배포

지금까지 어떤 방법을 사용했는지에 관계없이 그 과정에서 확실한 코드를 수정해 왔습니다.

App Inventor가 실제 코드를 숨기는 작업을 잘 수행하는 동안 이동 중인 블록과 UI 위젯은 모두 코드를 나타냅니다. 그리고 오픈 소스 커뮤니티가 잘 증명할 수 있듯이 소스 코드는 소프트웨어를 배포하는 완벽하게 유효한 방법입니다. 이것은 또한 다른 사람들이 당신의 애플리케이션에 참여하도록 하는 좋은 방법입니다. 다른 사람들이 당신이 한 일을 취하고 이를 기반으로 구축할 수 있기 때문입니다.

구조화된 형식으로 두 환경에서 소스 코드를 가져옵니다. 그러면 누군가(저희 포함)가 동일한 프로그램으로 쉽게 다시 가져와서 빠르게 실행할 수 있습니다.

App Inventor에서 소스 내보내기

App Inventor에서 내보내려면 프로젝트를 연 다음 프로젝트 메뉴, 선택 선택한 프로젝트(.aia)를 내 컴퓨터로 내보내기 .

이것은 앞서 언급한 .AIA 파일(아마도 'App Inventor Archive')을 다운로드할 것입니다. 그러나 이것은 사실 ZIP 파일입니다. 즐겨찾는 아카이브 관리자에서 열어 내용을 살펴보십시오.

나쁜 하드 드라이브의 징후

의 내용에 유의하십시오. appinventor/ai_[사용자 ID]/[프로젝트 이름] 폴더는 SCM 및 BKY 파일입니다. 이것은 Android Studio에서 본 JAVA 소스가 아니므로 이전 개발 환경에서 이를 열고 컴파일할 수 없습니다. 그러나 귀하(또는 다른 사람)는 이를 App Inventor로 다시 가져올 수 있습니다.

Android Studio에서 소스 보관

Android Studio 프로젝트를 아카이브 형식으로 가져오는 것은 프로젝트 폴더를 압축하는 것만큼 쉽습니다. 그런 다음 새 위치로 이동하고 평소에서 엽니다. 파일 > 열기 메인 메뉴의 항목.

Android Studio는 프로젝트의 설정( 작업 공간.xml ) 모든 것이 이전과 같아야 합니다.

전체 폴더를 아카이브한다는 점은 주목할 가치가 있습니다. ~ 할 것이다 일부 cruft, 특히 프로그램의 마지막 빌드 파일을 포함하십시오.

이것들은 다음 빌드 중에 지워지고 다시 생성되므로 프로젝트의 무결성을 유지하는 데 필요하지 않습니다. 그러나 그것들도 해를 끼치 지 않으며 어떤 폴더가 있어야하고 어떤 폴더가 없어야하는지에 대해 고민하지 않는 것이 더 쉽습니다 (특히 초보 개발자의 경우). 나중에 필요한 것을 놓치는 것보다 전체를 가져가는 것이 좋습니다.

안드로이드 패키지 배포

누군가에게 앱 사본을 제공하여 사용해 보려면 APK 파일이 가장 좋습니다. 표준 Android 패키지 형식은 소프트웨어를 구입하기 위해 Play 스토어 외부로 이동한 사람들에게 친숙할 것입니다.

두 프로그램에서 소스를 보관하는 것만큼 쉽게 얻을 수 있습니다. 그런 다음 웹사이트(예: F-Droid)에 게시하거나 친절한 사람들에게 전달하여 피드백을 받을 수 있습니다. 이것은 나중에 판매하려는 앱에 대한 훌륭한 베타 테스트가 됩니다.

앱 인벤터에서 APK 빌드

로 향한다 짓다 메뉴를 선택하고 앱(.apk를 내 컴퓨터에 저장) 안건. 앱이 빌드를 시작하고(진행률 표시줄로 알 수 있음), 완료되면 APK 파일을 저장하라는 대화 상자가 표시됩니다. 이제 마음껏 복사하여 보낼 수 있습니다.

앱을 설치하려면 사용자가 기기 설정에서 타사 소프트웨어 설치를 허용해야 합니다. 여기에 설명된 대로 .

Android 스튜디오에서 APK 빌드

Android 패키지를 빌드하는 것은 Android Studio에서와 마찬가지로 쉽습니다. 아래의 짓다 메뉴, 선택 APK 빌드 . 빌드가 완료되면 알림 메시지가 앱이 포함된 컴퓨터의 폴더에 대한 링크를 제공합니다.

구글 플레이 배포

Google 개발자로 설정하는 것은 약간의 과정입니다. 일단 경험이 있으면 반드시 고려해야 하지만, 당장 해결해야 하는 것은 아닙니다.

우선 등록비가 입니다. 또한 나중에 변경하기 다소 어려운 여러 기술 세부 사항이 있습니다. 예를 들어 앱에 서명하려면 암호화 키를 생성해야 하며 분실한 경우 앱을 업데이트할 수 없습니다.

그러나 상위 수준에서 앱을 Play 스토어에 올리기 위해 수행해야 하는 세 가지 주요 프로세스가 있습니다.

  1. 개발자 등록: 다음에서 개발자 프로필(Google 계정 기반)을 설정할 수 있습니다. 이 페이지 . 마법사는 앞서 언급한 수수료가 포함된 매우 간단한 등록 프로세스를 안내합니다.
  2. 스토어용 앱 준비: 테스트한 앱의 에뮬레이터 버전도 디버깅 버전. 즉, 필요하지 않은 문제 해결 및 로깅과 관련된 많은 추가 코드가 있으며 개인 정보 보호 문제를 나타낼 수도 있습니다. 스토어에 게시하기 전에 다음을 생성해야 합니다. 릴리스 버전 다음으로 이 단계 . 여기에는 앞서 언급한 암호화 키로 앱에 서명하는 것이 포함됩니다.
  3. 인프라 설정: 또한 앱에 대한 스토어 페이지를 설정해야 합니다. 구글 제공 조언 목록 설치(및 판매!)를 얻을 수 있는 목록을 설정합니다. 인프라에는 앱이 동기화될 서버도 포함될 수 있습니다.
  4. 마지막으로, 급여를 받으려면 지불 프로필이 필요합니다. 이것은 그 중 하나입니다 단 한번의 세부 사항이므로 계속 진행하기 전에 모든 것이 어떻게 결합되는지 확인하십시오.

요약 및 배운 교훈

우리는 가이드의 끝에 왔습니다. 이 글이 Android 개발에 대한 관심을 불러일으키고 아이디어를 가져와 실제로 개발할 동기를 부여하기를 바랍니다. 그러나 머리를 숙이고 구축을 시작하기 전에 위 섹션에서 배운 몇 가지 주요 교훈을 다시 살펴보겠습니다.

  • 우리는 보았다 두 가지 길 앱 만들기: 포인트 앤 클릭 빌더, Java로 처음부터 코딩. 첫 번째는 학습 곡선이 더 낮고 공정한(아직 제한된) 다양한 기능을 제공합니다. 두 번째는 생각할 수 있는 거의 모든 것을 구축할 수 있도록 하고 Android 개발 이상의 이점을 제공하지만 배우는 데 시간이 더 오래 걸립니다.
  • 각자 장단점이 있는 반면, 두 경로를 모두 사용할 수 있습니다! 포인트 앤 클릭 환경은 앱 프로토타입을 빠르게 처리할 수 있도록 하는 반면, 두 번째 환경에서는 장기적인 개선을 위해 앱을 다시 빌드할 수 있습니다.
  • 앱 자체 작업으로 바로 뛰어들고 싶지만 시간을 내어 나중에 앱을 디자인하다 , 인터페이스 스케치 및/또는 해당 기능에 대한 비공식 문서를 포함합니다. 이것은 또한 위의 방법 중 하나 또는 모두가 좋은 옵션인지 판단하는 데 도움이 될 수 있습니다.
  • 개발을 시작하는 쉬운 방법은 사용자 인터페이스 요소를 배치한 다음 해당 기능을 프로그래밍하여 '연결'하는 것입니다. 숙련된 개발자는 '배경' 구성 요소 코딩을 시작할 수 있지만 초보자에게는 모든 것을 시각화할 수 있는 데 도움이 됩니다.
  • 코드에 뛰어들 때 답을 찾기 위해 웹을 검색하는 것을 두려워하지 마십시오. 몇 가지 키워드와 끝에 '코드 예'를 사용하여 Google 검색을 실행하면 좋은 결과를 얻을 수 있습니다.
  • 빌드하면서 작업을 한 번에 조금씩 테스트하십시오. 그렇지 않으면 지난 2시간 동안 어떤 작업이 앱을 손상시켰는지 확인하기가 매우 어려울 것입니다.

이를 염두에 두고 앱 개발 꿈을 실현하기 시작하십시오. 그리고 손이 더러워지기로 결정했다면 의견에 어떻게 되는지 알려주십시오(참고로 우리는 스크린샷에 대한 링크를 좋아합니다). 행복한 건물!

공유하다 공유하다 트위터 이메일 Android에서 Google의 내장 버블 레벨에 액세스하는 방법

급하게 수평이 맞는지 확인해야 했던 적이 있다면 이제 몇 초 만에 휴대전화에서 거품 수준을 확인할 수 있습니다.

다음 읽기
관련 항목
  • 기계적 인조 인간
  • 자바
  • 프로그램 작성
  • 앱 개발
  • 장형
  • 롱폼 가이드
  • 기계적 인조 인간
저자 소개 아론 피터스(31개 기사 게재)

Aaron은 15년 동안 비즈니스 분석가 및 프로젝트 관리자로서 기술 분야에 깊이 관여했으며 거의 ​​오랫동안(Breezy Badger 이후) 충성도가 높은 Ubuntu 사용자였습니다. 그의 관심 분야는 오픈 소스, 소규모 비즈니스 애플리케이션, Linux와 Android의 통합, 일반 텍스트 모드의 컴퓨팅입니다.

아론 피터스가 참여한 작품 더보기

뉴스레터 구독

기술 팁, 리뷰, 무료 전자책 및 독점 거래에 대한 뉴스레터에 가입하십시오!

구독하려면 여기를 클릭하세요.