자신만의 지원서를 작성하는 방법. 모바일 소프트웨어를 사용하여 Android 프로그램을 만드는 방법

Mikhail Epikhin은 모바일 애플리케이션 개발 산업에 대한 사이트 칼럼을 작성했습니다. 고객이 애플리케이션 제작에 소요되는 시간과 비용을 절약하고 프로그래머가 개발 및 지원 비용을 절감할 수 있는 방법입니다.

인기에도 불구하고 모바일 애플리케이션은 여전히 ​​​​그것이 무엇인지, 무엇과 함께 먹는지 알고 있지만 얼마에 판매하는지 아직 파악하지 못한 짐승으로 남아 있습니다. 이 문제에 대한 낮은 고객 이해력은 양 당사자 모두에게 해를 끼칩니다.

고객은 문제를 해결하기 위해 얼마나 많은 시간과 노력이 필요한지 이해하지 못하기 때문에 계약자를 선택하기 어렵고, 계약자는 모든 장치에 대해 30화면 괴물을 만드는 것이 불가능하다는 것을 정기적으로 설명해야 합니다. 또는 경쟁사가 터무니없이 가격을 인상했지만 우리는 그렇지 않은 경우, 이것이 우리가 훨씬 더 나쁘다는 의미는 아닙니다.

따라서 애플리케이션 개발 가격이 무엇인지 명확히합시다. 이 기사에서 우리는 모바일 애플리케이션을 만드는 비용을 계산했는데, 이는 지역, 대행사 평판 등 여러 요인으로 인해 당연히 증가하거나 감소할 수 있으며 이에 대해서도 이야기하겠습니다.

마감일

비용과 개발 시간을 결정하는 첫 번째 요소는 애플리케이션의 복잡성입니다. 두 번째는 작동할 플랫폼(iPhone iOS, iPad iOS, Android 휴대폰, Android 태블릿, Windows Phone)의 수입니다. 예, 태블릿과 스마트폰은 종종 별도로 고려되지만 항상 그런 것은 아닙니다. 그 이유는 아래에서 설명하겠습니다.

별도로 작성하더라도 각 플랫폼의 코드가 완전히 고유할 필요는 없습니다. 즉, 프로그램을 한 플랫폼용으로 먼저 작성한 다음 다른 플랫폼에 맞게 조정하더라도 개발 비용이 두 배로 늘어나지는 않습니다. 하지만 시간이 조금 더 길어질 것입니다.

중간 복잡성의 응용

복잡성은 중간 정도이며 여러 프로세스를 포괄합니다. 여기에는 대부분의 온라인 상점과 예약 시스템이 포함됩니다. 약 10개의 화면이 있고, 개인 계정이 있고, 소셜 네트워크를 통한 인증이 지원되며, 서버나 웹사이트, 종종 결제 시스템과의 통합이 있습니다. 피드백, 채점, 평가 기능이 내장될 수 있습니다. 여러 플랫폼의 경우 3~6개월(300~800시간) 내에 완료됩니다.

이 범주의 응용 프로그램이 가장 일반적입니다. 미국의 한 조사(3년 전이지만 여전히 많은 글로벌 업계 보고서에 포함되어 있음)에 따르면 표준 애플리케이션은 평균 18주, 즉 4개월 내에 생성됩니다. 요즘에는 개발 시간이 더 짧아지고 있으며 이러한 추세는 앞으로도 계속될 것으로 보입니다. 기술이 발전하고 있으며 해당 주제에 대한 강좌, 공개 강의 및 컨퍼런스가 점점 더 많아지고 있으며 이는 확실히 시장 발전에 긍정적인 영향을 미칩니다.

복잡한 애플리케이션

이 범주에는 개발하는 데 800시간(6개월) 이상이 소요되는 애플리케이션이 포함됩니다. 실시간 동기화, 모든 종류의 상호 작용, 모든 데이터베이스와의 통합, 애니메이션, 오프라인에서 다운로드한 콘텐츠(예: 지도 포함) 작업 및 원하는 모든 것을 지원할 수 있습니다.

고객이 마감 기한에 만족하지 않을 경우 일반적으로 작업을 병렬화하고 더 많은 전문가를 참여시킬 것을 요청합니다. 모바일 앱을 만들 때 일반적으로 프로그래밍을 통해서만 이 작업을 수행할 수 있으며 나머지 단계는 순차적으로 유지되지만 Agile 접근 방식을 사용하여 프로젝트를 관리하는 스튜디오를 찾으면 약간의 시간을 절약할 수 있습니다. 어떤 경우든, 비효율적인 관리에 과도한 비용을 지불하지 않도록 스튜디오에 개발 프로세스가 어떻게 진행되는지 주저하지 말고 문의하세요.

가격

비용을 절약하는 것이 더 쉽습니다. 제품 가격은 표준 구성 요소로 구성되며, 그 중 일부는 제거하거나 더 저렴한 유사 제품으로 교체할 수 있습니다.

임대 건물

전문 스튜디오에서 작업하는 경우 사무실 임대 및 공과금 비용을 즉시 고려하십시오. 모스크바에서는 소규모 팀을 위한 건물의 경우 한 달에 약 120,000루블입니다(웹 사이트 개발 비용 데이터를 기준으로 하며 이는 실제로 자본의 평균입니다).

동시에 그러한 직원은 8개의 프로젝트(위 링크의 자료와 유사)를 수행할 수 있습니다. 즉, 귀하와 함께 일하는 매달 귀하의 주문을 위해 사무실을 임대하는 데 최소 15,000달러를 지출하게 됩니다. 따라서 한두 달 안에 완료되는 간단한 응용 프로그램의 경우 비용은 중간 응용 프로그램 (3-6 개월)의 경우 15-30,000, 복잡한 응용 프로그램의 경우 45-75, 90부터입니다.

이 부분을 희생하여 절약할 수 있는 두 가지 옵션이 있습니다. 직원이 원격으로 근무하는 젊은 기관을 찾거나 스스로 일하는 전문가 팀을 선택하십시오. 단, 신청서를 게시한 후 지원이 필요할 수 있다는 점을 명심하십시오. 프리랜서에게 연락하지 않는 것이 좋습니다.

그런데 대행사의 경우 사무실 비용을 절약하는 시장의 새로운 플레이어만이 수익성 있는 계약자가 될 수 있는 것이 아닙니다. 예, 가격은 경험과 수상 여부에 따라 크게 영향을 받지만 어떤 종류의 지원서를 만들고 싶은지 미리 결정하고 에이전시 포트폴리오에서 유사한 지원서를 찾으면 할인을 받을 수 있는 기회가 있습니다. 그들은 처음부터 당신을 위해 창조하지 않고, 이전 주문에 기초하여 창조할 것이라는 사실에.

또한 우리와 같이 BaaS(Backend as a Service) 플랫폼을 사용하는 회사는 개발 비용을 훨씬 적게 지출하므로(자세한 내용은 아래 참조) 그에 따라 서비스 비용도 낮아집니다. 이 정보는 협상 단계에서 요청할 수 있으며 직원 시간별로 분류된 모든 작업에 대한 견적도 요청해야 합니다. 별도로 지정된 커미션을 사용하여 몇 시간 내에 실제 개발 비용을 요청하는 것이 더 낫습니다. 그러면 여러 스튜디오의 제안을 서로 비교하고 기사의 수치와 비교하는 것이 더 쉬울 것입니다.

엔지니어링 및 디자인

이는 세 명의 전문가(UX 디자이너, UI 디자이너, 그래픽 디자이너)와 모든 분야의 전문가로 구성된 팀이 수행할 수 있습니다. 첫 번째 옵션의 경우 품질이 더 높지만(가격도 높음) 스튜디오에서는 일반적으로 두 번째 옵션을 사용합니다. 그 안에서 디자인은 개발 비용이 500 시간이고 개발 비용이 900 인 160 시간이 평균 80 시간이 걸립니다. 해당 디자이너의 평균 모스크바 급여는 (hh.ru에 따르면) 월 80,000 루블이고 평균 수는 월간 작업 시간은 165(생산 달력에 따라) 간단한 응용 프로그램의 경우 15,000(생성 시간 약 270시간), 중간 응용 프로그램의 경우 40,000(약 670시간), 복잡한 응용 프로그램의 경우 80,000(약 1,150)입니다.

지역(수도보다 시장이 덜 발달했기 때문에 품질이 저하될 수 있음) 또는 우크라이나 전문가와 협력하여 설계 비용을 절약할 수 있습니다. 거기에는 적어도 해외 주문에 초점을 맞춘 프리랜서가 약 1.5배 더 많고 가격도 더 낮습니다.

개발

백엔드와 프론트엔드로 나뉘는데, 특정 OS를 전문으로 하는 모바일 프로그래머들이 이 두 가지를 모두 합니다. Superjob에 따르면 월 평균 직원 급여 100,000을 기준으로 간단한 애플리케이션을 개발하는 데 드는 비용은 약 120,000, 평균 애플리케이션 개발 비용은 290,000, 복잡한 애플리케이션 개발 비용은 515,000입니다(동일한 시간 소요) 위와 같이 생성합니다.)

프리랜서 서비스를 이용할 때 러시아어 사이트(지방 개발자 선호)에서 찾거나 추천을 바탕으로 훌륭하고 저렴한 전문가를 찾으면 비용을 절약할 수 있습니다. 좋은 평가를 받은 프로그래머에 대한 국제 리소스를 검색하면 임대 비용 절감을 고려하더라도 초과 지불이 발생할 수 있습니다. 일반 스튜디오 프로그래머가 현재 속도로 시간당 약 9달러를 받는다면 유창한 영어를 구사하는 프리랜서 아티스트는 주저하지 않고 2~6배 더 비싸다고 평가하세요(Upwork의 데이터).

템플릿을 사용하여 애플리케이션을 생성하여 개발의 두 부분을 모두 단순화하는 옵션이 있습니다. 이를 위해 매년 3-4 천 루블 만 지불하지만 그러한 제품의 품질은 일반적으로 아름다움에 대한 현대적인 이해와는 거리가 멀습니다. 예를 들어, 웹사이트 템플릿과 이메일 뉴스레터의 품질보다 더 뛰어납니다.

두 번째 옵션은 백엔드 개발 플랫폼을 활용해 서버 부분의 프로그래밍만 단순화하는 것이다. 이는 애플리케이션 프로그래밍에서 백엔드 작업(코어 포함)이 차지하는 비중이 약 80%이고 프런트엔드에 소요되는 시간은 전체 시간의 5분의 1에 불과하기 때문에 효과적입니다. 데이터 모델링, PUSH, 이메일 및 SMS 알림, 클라우드 스토리지, JavaScript 서버 코드, 분석 도구 및 사용자 관리가 포함된 기성 SDK를 얻을 수 있습니다. 이는 관련된 직원 수를 줄이는 데 도움이 되며(복잡한 애플리케이션이라도 설계자, 데이터베이스 개발자, 시스템 관리자, 2~3명이 아닌 1~2명의 시스템 개발자 없이도 가능) 개발 시 서버 프로그래밍의 점유율을 30%로 줄이는 데 도움이 됩니다.

이는 전체 제품을 만드는 기간에 특히 긍정적인 영향을 미칩니다(BaaS 플랫폼 없이 18개월 안에 작성할 수 있는 작업은 BaaS 플랫폼을 사용하면 2~3배 더 빠르게 완료됩니다). 아직 기본이 생성되지 않았으므로 프론트엔드 작성이 불가능합니다. 또한 데이터 호스팅을 위한 클라우드 서비스 문제와 애플리케이션의 서버 부하 분석 도구도 자동으로 해결됩니다. 다른 클라우드 서비스와 마찬가지로 사용 요금을 지불합니다.

테스트 및 게시

이는 일반적으로 프로젝트 관리자 또는 특수 소프트웨어 테스터가 수행하지만 급여는 대략 동일합니다. 평균 약 80,000입니다(다시 말하지만 Superjob 및 HeadHunter의 데이터). 실제로 이를 테스트하고 사이트에 게시하는 데는 2일에서 2주간의 지속적인 작업, 즉 16시간에서 80시간이 소요됩니다. 간단한 응용 프로그램의 경우 8,000 루블, 복잡한 응용 프로그램의 경우 약 40, 평균 응용 프로그램의 경우 약 25 루블이 소요됩니다.

여기에 동일한 관리자가 수행할 가능성이 높은 프로젝트 관리를 추가해 보겠습니다. 경험에 비추어 볼 때 그는 간단한 버전에서는 약 3일, 평균 버전에서는 7일, 복잡한 버전에서는 14일 동안 지속적인 작업(클라이언트와의 첫 만남, 요구 사항 수집 등 포함)을 할 것입니다. 금전적으로 이러한 비용은 각각 12,000, 27,000 및 54,000 루블입니다.

그건 그렇고, 상점에 애플리케이션을 업로드하는 것이 가장 어려운 작업은 아닙니다. App Store 및 Google Play 가이드라인에는 연령 등급 등 제품이 거부될 수 있는 몇 가지 이유가 포함되어 있습니다. 또한 각 검사 반복에는 약 일주일 정도의 오랜 시간이 걸리므로(프로세스 속도를 높일 수 있는 방법이 있음) 계산 기한이 있는 사람들에게 문제가 추가됩니다. Habré에서 이 어려운 문제에 도움이 될 다른 사람들의 지침, 요령 및 경험을 읽을 수 있습니다.

공연자 자신에 따르면 계산해야 할 시간과 돈의 최종 수치에 대해 이야기하면 스튜디오의 데이터가 크게 다릅니다. 예를 들어, 2Nova Interactive 음성 프레임은 60만 루블에서 수백만 달러까지입니다. 최소 개발 기간은 1.5개월입니다(승인 및 매장 출시 기간 제외).

MST의 포트폴리오에는 2주 이내에 완료된 프로젝트와 수년 동안 작업이 진행된 프로젝트가 포함됩니다(추가 기능은 계속 개선되고 있습니다). AGIMA는 간단한 응용 프로그램을 완료하는 데 2-3개월이 걸리고 100만 루블 미만의 모든 비용이 포함되어 있다고 말했습니다(평균 응용 프로그램은 3-6개월 안에 생성되고 2-400만 달러, 복잡한 응용 프로그램은 6개월 및 비용이 소요됨). 이미 400만 명에 달합니다.) 그런데 마감 기한이 있고 프로젝트 시작 시 기능 범위를 결정할 시간이 없는 경우 개발 프로세스 중에 비용을 수정하거나 수정할 수 있습니다. 그러나 두 번째 옵션에서는 긴급 상황에 대해 초과 지불할 가능성이 높습니다.

예측

보시다시피, 애플리케이션 개발 비용을 절감할 수 있는 방법은 이미 많습니다. 앞으로도 새로운 기성 개발 도구의 출현과 데이터 통합을 위한 기술 개발로 인해 개발 비용(및 기간)은 지속적으로 감소할 것입니다.

예를 들어, Facebook에서 개발한 하이브리드 React Native 시스템이 이미 있는데, 이는 iOS 및 Android 운영 체제의 기본 구성 요소와 함께 작동합니다. 즉, 이는 서로 다른 운영 체제와의 직접적인 상호 작용으로 인해 마치 각 장치에 대해 별도로 애플리케이션이 작성된 것처럼 보이는 크로스 플랫폼 개발을 위한 옵션입니다. 기술이 아직 매우 어리지만(예를 들어 Android 버전은 출시된 지 1년이 채 되지 않음) 시스템의 인터페이스 요소 기능이 매우 제한되어 있고 버그 측면에서도 모든 것이 원활하지는 않지만 앞으로는 크로스 플랫폼 개발의 모든 주요 문제를 해결할 수 있습니다.

개발 시간과 비용 절감 가능성에 대한 개발자와 모바일 개발 스튜디오(특히 유사한 BaaS를 사용해 왔고 현재 계속 작업하고 있는 사람들)의 의견을 댓글에서 듣는 것은 흥미로울 것입니다.

Android 애플리케이션은 우리 삶의 일부가 되었습니다. 우리는 지도, 소셜 네트워크, 인스턴트 메신저, 브라우저 등을 매일 사용합니다. 그러나 숙련된 모든 Android 스마트폰 사용자는 자신만의 애플리케이션을 만드는 것에 대해 적어도 한 번은 생각해 본 적이 있을 것입니다. 좋은 글을 쓰기 위해서는 프로그래밍을 오랫동안 배워야 하고 매우 어렵다는 고정관념이 있습니다. 그러나 Google은 개발 도구를 지속적으로 개선하여 더 간단하고 편리하게 만들고 있습니다. 오늘은 가장 간단한 Android 애플리케이션을 만들어 스마트폰에서 실행해 보겠습니다.

Android 애플리케이션은 Java 프로그래밍 언어로 생성됩니다. 이제 Java의 대안으로 비교적 새롭고 간단한 언어인 Kotlin도 홍보되고 있습니다(언어 이름은 크론슈타트 시가 위치한 섬의 이름을 따서 명명되었습니다). 우리의 예는 Java입니다.

먼저 귀하의 컴퓨터(Windows)에 JDK가 설치되어 있는지 확인하겠습니다. Java Development Kit는 Oracle의 애플리케이션 개발 키트입니다. 그렇지 않으면 개발 환경이 제대로 작동할 수 없습니다.

이렇게 하려면 키보드에서 Win + R을 누르세요. cmd Enter 키를 누릅니다. 명령 프롬프트가 열립니다. 다음으로 콘솔에 다음을 입력해야 합니다.

자바 버전

Java 버전이 표시될 가능성이 높습니다.

이는 이미 JDK가 설치되어 있음을 의미합니다. 그렇지 않으면 다운로드해야 합니다(150MB).

JDK 설치 후 Android OS용 메인 개발 도구로 이동합니다. 안드로이드 스튜디오. 다운로드 가능합니다(944MB).

Android Studio는 Google에서 무료로 제공하는 개발 환경입니다. 이것은 테스트, 애플리케이션 구축을 위한 다양한 도구는 물론 템플릿, 편리한 레이아웃 편집기 등을 포함하는 거대한 애플리케이션 개발 조합입니다. Android Studio는 많은 구성 요소와 마찬가지로 지속적으로 업데이트됩니다.

Windows뿐만 아니라 Mac OS 및 Linux용 Android Studio 버전도 있습니다. Android Studio의 시스템 요구 사항: Windows 7/8/10, 최소 3GB RAM, 8GB RAM 권장, 4GB 하드 드라이브.

이제 Android Studio 설치 프로그램을 다운로드했습니다.

시작해 보겠습니다.

딸깍 하는 소리 다음에서 설치 경로를 선택하세요. 설정을 변경하지 않는 것이 좋습니다.

그러면 Android Studio 설정 마법사가 시작됩니다. 여기에서 개발 환경의 색상 테마를 선택하고 추가 파일을 다운로드할 수 있습니다. 표준 설치 유형을 선택합니다.

필수 구성요소를 다운로드한 후 프로젝트 유형을 선택하라는 메시지가 표시됩니다. 빈 활동을 선택하고 클릭합니다. 다음.

다음 화면에서 프로젝트 이름을 지정하고 애플리케이션을 실행할 Android 버전을 선택하세요. Android 4.0.3을 선택하는 것이 가장 좋습니다. 이렇게 하면 우리 애플리케이션이 최대 수의 장치에서 작동합니다. Android Studio는 매우 다재다능하여 스마트폰뿐만 아니라 스마트 시계 및 TV용 애플리케이션을 만들 수 있다는 점은 주목할 가치가 있습니다!

다음으로 Android Studio의 메인 창을 엽니다. 왼쪽에는 여러 섹션이 있습니다. 이것이 우리 프로젝트의 구조입니다. 매니페스트 폴더에는 애플리케이션, 가져온 라이브러리, 구성 요소 및 기타 매개변수에 대한 정보를 담당하는 AndroidManifest.xml 파일이 포함되어 있습니다. java 폴더에는 코드 자체(com.example.myapplication 폴더의 MainActivity 파일)가 포함되어 있습니다. res 폴더에는 애플리케이션 리소스(버튼, 인터페이스 디자인을 정의하는 파일(예: Activity_main.xml))가 포함되어 있습니다.

활동은 사용자가 상호작용하는 별도의 화면입니다. 예: 사진이 있는 화면, 전화 걸기, 텍스트 입력. 하나의 활동(화면)이 있습니다. 그러므로 우리는 즉시 길을 따라갑니다. 소스기본입술공들여 나열한 것그리고 파일을 열어보세요 활동_ 기본. xml. 디자인 모드로 전환합니다.

버튼 섹션을 선택하고 애플리케이션 화면으로 드래그합니다. 버튼이 있어요...

글꼴 크기를 늘리려면 텍스트 모드로 전환하고 버튼 섹션의 코드에 다음 줄을 추가하세요.

android:textSize="25sp"

디자인 모드에서 마우스 오른쪽 버튼을 클릭하고 제한을 선택한 다음 모든 항목을 차례로 선택합니다. 이렇게 하면 버튼이 "고정"되어 움직일 수 없습니다.

다음 단계는 사진을 추가하는 것입니다. 먼저 프로젝트에 추가해야 합니다. 예를 들어 그림은 다음과 같습니다.

다운로드하여 프로젝트 폴더로 직접 드래그하세요. res - 드로어블. 프로젝트에 추가됩니다. 이제 열어보자 활동_main.xml디자인 모드로 전환합니다. 공통 – ImageView를 선택합니다. 화면으로 드래그하세요. 사진 선택 창이 열립니다. 프로젝트 섹션으로 이동하여 이를 선택하고 애플리케이션 창 중앙에 배치합니다. 그림에서는 Constrain도 사용합니다.

결과적으로 다음과 같은 코드가 생성됩니다. 활동_main.xml:

xml 버전="1.0" 인코딩="utf-8"?> <xmlns:기계적 인조 인간= xmlns:= "http://schemas.android.com/apk/res-auto"xmlns:도구= "http://schemas.android.com/tools"기계적 인조 인간:레이아웃_너비="일치_부모"기계적 인조 인간:layout_height="일치_부모"도구:컨텍스트=".주요 활동"> <텍스트뷰기계적 인조 인간:레이아웃_너비="145dp"기계적 인조 인간:layout_height="53dp"기계적 인조 인간:layout_marginTop="262dp"기계적 인조 인간:layout_marginBottom="416dp"기계적 인조 인간:중력="센터"기계적 인조 인간:텍스트="나의첫 번째애플리케이션~에기계적 인조 인간""부모의""부모의""0.552" "부모의""부모의"/> <단추기계적 인조 인간:ID="@+ID/버튼"기계적 인조 인간:레이아웃_너비="199dp"기계적 인조 인간:layout_height="113dp"기계적 인조 인간:텍스트="웹사이트"기계적 인조 인간:텍스트크기="25sp":layout_constraintEnd_toEndOf="부모의":layout_constraintStart_toStartOf="부모의"도구:layout_editor_absoluteY="114dp"/> <이미지뷰기계적 인조 인간:ID="@+id/이미지뷰"기계적 인조 인간:레이아웃_너비="216dp"기계적 인조 인간:layout_height="172dp"기계적 인조 인간:layout_marginStart="55dp"기계적 인조 인간:layout_marginLeft="55dp"기계적 인조 인간:layout_marginTop="380dp"기계적 인조 인간:layout_marginEnd="28dp"기계적 인조 인간:layout_marginRight="28dp"기계적 인조 인간:layout_marginBottom="51dp":layout_constraintBottom_toBottomOf="부모의":layout_constraintEnd_toEndOf="부모의":layout_constraintHorizontal_bias="0.495" :layout_constraintStart_toStartOf="부모의":layout_constraintTop_toTopOf="부모의":srcCompat="@drawable/로고"/> android.support.constraint.ConstraintLayout>

따라서 다음 MainActivity 코드(com.example.myapplication 폴더에 있음)는 다음과 같습니다.

패키지 com.example.myapplication; 수입 android.support.v7.app.AppCompatActivity; 수입 android.os.Bundle; 공개 수업주요 활동 연장하다 AppCompatActivity( @Override 보호된 공허 onCreate(번들에 저장된InstanceState)( 감독자.onCreate(savedInstanceState); setContentView(R.layout. 활동_메인 ); } }

AndroidManifest.xml:

xml 버전="1.0" 인코딩="utf-8"?> <명백한xmlns:기계적 인조 인간= "http://schemas.android.com/apk/res/android"패키지="com.example.myapplication"> <애플리케이션기계적 인조 인간:허용백업="진실"기계적 인조 인간:아이콘="@mipmap/ic_launcher"기계적 인조 인간:라벨="앱 사이트"기계적 인조 인간:라운드아이콘="@mipmap/ic_launcher_round"기계적 인조 인간:지원Rtl="진실"기계적 인조 인간:테마="@style/AppTheme"> <활동기계적 인조 인간:이름=".주요 활동"> <인텐트 필터> <행동기계적 인조 인간:이름="android.intent.action.MAIN"/> <범주기계적 인조 인간:이름="android.intent.category.LAUNCHER"/> 인텐트 필터> 활동> 애플리케이션> 명백한>

이제 모든 것이 제대로 작동하는지 확인할 차례입니다. 귀하의 컴퓨터에 있는 가상 스마트폰에서 바로 확인해드립니다.

상단을 클릭하세요. 도구 – AVD Manager – 가상 장치 생성.

Android를 실행하는 가상 디바이스(스마트폰)를 만듭니다. Nexus 5X를 선택하세요. Android 에뮬레이터 자체를 다운로드하십시오. 다음을 클릭하세요. 모든 조작이 끝나면 Nexus 5X '스마트폰'이 가상 기기 목록에 나타나야 합니다.

이제 가상 스마트폰에서 애플리케이션을 실행해 보겠습니다. 달리다달리다 .

테스트할 대상을 선택할 수 있는 창이 나타납니다. 물론 우리는 Nexus 5X를 선택하겠습니다.

스마트폰에서 애플리케이션 목록을 열고 거기에서 앱 사이트를 찾으세요.

일어난 일은 다음과 같습니다.

공장! 신청서가 준비되었습니다. 이제 실제 스마트폰에 다운로드할 수 있습니다.

스마트폰에 첫 번째 애플리케이션을 설치하려면 apk 파일을 만들어야 합니다. APK – Android 패키지 키트는 컴파일된 애플리케이션 코드, 리소스 파일, 매니페스트 파일 및 기타 정보가 포함된 암호화되지 않은 zip 아카이브입니다. Google Play에 파일이 저장되는 것은 apk 형식으로, 여기에서 애플리케이션을 다운로드합니다.

암호화되지 않았기 때문에 사진과 기타 일부 정보는 모든 응용 프로그램에서 쉽게 검색할 수 있습니다. 이에 대한 리소스인 APKMirror.com이 있습니다. 여기에서 Google Play에서 원하는 애플리케이션의 apk 파일을 다운로드할 수 있습니다. 그런 다음 이름을 *.zip으로 바꾸고 아카이버를 사용하여 엽니다. 여기에서 애플리케이션 구조, 아이콘, 그래픽을 볼 수 있습니다. 예를 들어 WhatsApp 애플리케이션의 내부 모습은 다음과 같습니다.

APK 파일은 스마트폰으로 다운로드하거나 교환할 수 있습니다. 아니면 애플리케이션으로 설치하세요. 편리하고 약간의 자유로움을 제공합니다.

스마트폰에 APK를 설치하려면 먼저 허용해야 합니다. 설정 - 애플리케이션 - 특별 접근권한 - 알 수 없는 설치로 이동하세요. 응용 프로그램을 선택하고 파일 관리자(예: Total Commander)에 대해 "허용"을 선택합니다.

그래서 우리의 임무는 우리가 작성한 코드에서 apk 파일을 만드는 것입니다. 이렇게 하려면 Android Studio에서 Build – Build Bundle / APK – Build APK를 선택하세요. APK 생성 스크립트가 시작됩니다. 마지막에 apk 파일이 있는 폴더를 열라는 메시지가 표시됩니다. 다음으로, 스마트폰을 컴퓨터에 연결하고 결과 apk 파일을 휴대폰 메모리에 복사해야 합니다. 그런 다음 스마트폰에서 파일 관리자를 사용하여 파일이 있는 폴더를 열고 설치하세요. 이제 스마트폰에 나만의 애플리케이션이 생겼습니다!

이 주제에 관심이 있다면 GitHub에서 가장 간단한 애플리케이션의 소스 코드를 확인해 보세요. 예를 들어 갤러리와 파일 관리자가 있습니다. 자신의 필요에 맞게 코드를 편집할 수 있습니다. 안드로이드 개발에 관한 많은 정보도 보실 수 있습니다.

Android Studio에서 모바일 애플리케이션을 만드는 방법

Android Studio는 Google이 Android 애플리케이션용 공식 IDE라고 부르는 IntelliJ IDEA를 기반으로 하는 통합 개발 환경(IDE)입니다.

이 설명서에서는 다음과 같이 설명합니다. 안드로이드 애플리케이션 개발:

  • 파일 탐색기를 사용하여 파일 간 탐색
  • AndroidManifest.xml 파일 설치
  • 프로젝트로 파일 가져오기
  • 동적 미리보기 기능을 갖춘 고급 레이아웃 편집기
  • Logcat 및 Android Monitor를 사용하여 애플리케이션 디버깅

Android 스튜디오 시작하기

창에서 Android Studio를 실행하세요. Android 스튜디오 설정 마법사선택하다 새로운 Android Studio 프로젝트 시작(새 프로젝트를 시작합니다).

창문에서 새 프로젝트 만들기선택하다 애플리케이션 이름(응용 프로그램 이름) Fortune ball로 회사 도메인을 입력합니다. 현장에서 프로젝트 위치애플리케이션이 저장될 위치를 선택합니다. 딸깍 하는 소리 다음.

네 앞에 창문이 있어 대상 Android 기기. 선택하다 휴대폰 및 태블릿. 현장에서 최소 SDK표시하여주십시오 API 15. 딸깍 하는 소리 다음.

창문에서 모바일에 활동 추가선택하다 기본 활동. 모든 옵션을 평가합니다. 이 창에서는 사용 가능한 레이아웃에 대한 개요를 제공합니다.

딸깍 하는 소리 다음.

창문에서 활동 사용자 정의, 아래에 게시된 스크린샷을 변경할 수 있습니다. 활동 이름(활동명), 레이아웃 이름(레이아웃 이름), 제목(일반 이름) 및 메뉴 리소스 이름(리소스 메뉴 이름). 기본값을 그대로 두고 다음을 클릭합니다. 마치다.

몇 초 후에 다음 창이 나타납니다.

장치나 에뮬레이터에도 동일한 창이 나타납니다. 에뮬레이터는 장치로 작동하며 로드하는 데 약간의 시간이 걸립니다.

이것은 이미 응용 프로그램입니다. 많이 부족하지만 이제 다음 단계로 넘어갈 수 있게 됐다.

프로젝트 및 파일 구조

창에 프로젝트 파일이 표시됩니다.

드롭다운 메뉴(아래 스크린샷)에는 파일에 대한 여러 필터가 있습니다. 주요한 것은 프로젝트와 안드로이드입니다.

프로젝트 필터는 모든 애플리케이션 모듈을 표시합니다. 각 프로젝트에는 최소한 하나의 모듈이 포함됩니다. 다른 유형의 모듈에는 타사 라이브러리의 모듈이나 다른 Android 애플리케이션(예: Android Wear 애플리케이션, Android TV)의 모듈이 포함됩니다. 각 모듈에는 Gradle 파일, 리소스 및 소스 파일(java 파일)을 포함하여 고유한 특성 세트가 있습니다.

메모. 프로젝트가 열려 있지 않으면 스크린샷과 같이 패널 왼쪽의 프로젝트 탭을 클릭하세요. 기본적으로 특정 유형별로 파일을 그룹화하는 Android 필터가 설치됩니다. 최상위 수준에는 다음 폴더가 표시됩니다.

  • 명시하다
  • Gradle 스크립트

다음 섹션에서는 매니페스트부터 시작하여 이러한 각 폴더를 자세히 설명합니다.

AndroidManifest.xml 개요

모든 Android 애플리케이션에는 매니페스트 폴더에 AndroidManifest.xml 파일이 있습니다. 이 XML 파일은 시스템에 응용 프로그램의 요구 사항을 알려줍니다. 이 파일이 있어야 Android 시스템이 애플리케이션을 생성할 수 있기 때문입니다.

매니페스트 폴더와 AndroidManifest.xml을 엽니다. 두 번 클릭하면 파일이 열립니다.

매니페스트 및 애플리케이션 태그는 매니페스트에 필요하며 한 번만 나타납니다.

각 태그는 요소 이름과 함께 일련의 속성도 정의합니다. 예를 들어 애플리케이션의 일부 속성은 다음과 같을 수 있습니다.

안드로이드:아이콘, 안드로이드:라벨, 안드로이드:테마

무엇보다도 매니페스트에 다음이 나타날 수 있습니다.

  • 사용 권한: 응용 프로그램이 올바르게 작동하기 위해 부여되는 특별 권한을 요청합니다. 예를 들어, android.permission.INTERNET 권한을 추가한 경우 애플리케이션은 사용자에게 네트워크 액세스 권한을 요청해야 합니다.
  • 활동: 시각적 UI 및 논리를 부분적으로 담당하는 활동을 보고합니다. 애플리케이션에 제공되는 모든 활동은 매니페스트에 추가되어야 합니다. 시스템은 표시되지 않은 활동을 인식하지 못하며 애플리케이션에 표시되지 않습니다.
  • 서비스: 장기 실행 작업 또는 다른 애플리케이션과의 고급 API 통신을 구현하는 데 사용하려는 서비스를 추가합니다. 이 경우의 예로는 애플리케이션이 데이터를 수신하는 네트워크 호출이 있습니다. 활동과 달리 서비스에는 사용자 인터페이스가 없습니다.
  • 수신기: 브로드캐스트 메시지 수신기를 사용하면 다른 응용 프로그램 구성 요소가 실행되지 않는 경우에도 응용 프로그램이 시스템 메시지에 대한 신호나 다른 응용 프로그램의 메시지를 수신합니다. 이러한 상황의 예로는 충전 수준이 낮은 배터리와 이를 알리는 운영 체제가 있습니다.

전체 태그 목록은 Android 개발자 웹사이트의 매니페스트 파일에서 찾을 수 있습니다.

매니페스트 파일 설정

활동에 다음 속성을 추가합니다.

android:screenOrientation=”세로”. 화면을 세로 모드로만 제한합니다. 그렇지 않으면 장치의 위치에 따라 화면이 가로 또는 세로 모드로 표시됩니다. 속성을 추가한 후 매니페스트 파일은 스크린샷과 같습니다.

애플리케이션을 생성하고 실행합니다. 기기에서 테스트하는 경우 기기를 뒤집어 AndroidManifest 파일에서 이 기능을 제한한 경우 화면이 가로 모드로 이동하지 않는지 확인하세요.

Gradle 개요

Gradle로 넘어가겠습니다. Gradle은 Android 프로젝트를 기기에 설치할 수 있는 설치 가능한 APK로 변환합니다. build.gradle 파일은 Gradle 스크립트에 모듈과 프로젝트라는 두 가지 수준으로 존재합니다.

build.gradle 파일(모듈:앱)을 엽니다. 기본 Gradle 설치가 표시됩니다.

플러그인 적용: "com.android.application" android (compileSdkVersion 25buildToolsVersion "25.0.2" defaultConfig (applicationId "com.raywenderlich.fortuneball" minSdkVersion 15targetSdkVersion 25versionCode 1versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnit Runner") buildTypes(릴리스(minifyEnabled falseproguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"))) 종속성(컴파일 fileTree(dir: "libs", include: ["*.jar"])androidTestCompile( " com.android.support.test.espresso:espresso-core:2.2.2", (그룹 제외: "com.android.support", 모듈: "support-annotations"))컴파일 "com.android.support:appcompat - v7:25.1.0"컴파일 "com.android.support:design:25.1.0"test컴파일 "junit:junit:4.12")

주요 구성요소를 살펴보겠습니다.

  • 플러그인 적용: 'com.android.application'은 상위 수준에서 Android 플러그인을 적용하고 애플리케이션을 빌드하는 데 필요한 최상위 수준 작업을 사용할 수 있도록 합니다.
  • android(…) 섹션 옆에는 targetSdkVersion과 같은 설정 옵션이 있습니다. 애플리케이션의 대상 SDK는 최신 API 수준에 있어야 합니다. 또 다른 중요한 구성 요소는 minSDKVersion(애플리케이션을 실행하기 위해 장치에 설치해야 하는 최소 SDK 버전을 정의)입니다. 예를 들어 SDK 버전이 14이면 해당 장치에서 애플리케이션을 실행할 수 없습니다. 이 특별한 경우 지원되는 최소 버전은 15이기 때문입니다.
  • 마지막 구성 요소는 종속성(…)입니다. 'com.android.support:appcompat-v7:VERSION'을 컴파일하고 'com.android.support:design:VERSION'을 컴파일해야 합니다. 이는 신규 및 기존 API 기능에 대한 지원 및 호환성을 제공합니다.

Android 호환성 라이브러리 외에도 종속성(...) 구성 요소에 타사 라이브러리를 추가할 수 있습니다. 예를 들어 애니메이션 라이브러리에는 UI 효과가 포함되어 있습니다. 종속성을 찾은 후 다음 두 줄을 추가합니다.

종속성( ... "com.daimajia.easing:library:2.0@aar" 컴파일 "com.daimajia.androidanimations:library:2.2@aar" 컴파일)

여기에서 타사 종속성을 추가할 수 있습니다. 라이브러리는 자동으로 다운로드되어 Android Studio에 통합됩니다. 지금 동기화를 클릭하여 이러한 종속성을 애플리케이션에 통합하세요.

동기화에는 몇 초 정도 걸립니다. Gradle 업데이트는 하단 패널의 메시지 탭에 표시됩니다.

현재 Gradle에 필요한 모든 설정은 다음과 같습니다. 이러한 조작으로 인해 애플리케이션에 애니메이션이 추가됩니다.

파일 가져오기

Android 애플리케이션을 개발할 때 이미지, 사용자 정의 글꼴, 사운드, 비디오 등 다른 리소스와의 통합이 중요합니다. 이러한 리소스는 Android Studio로 가져와서 적절한 폴더에 배치되므로 운영 체제가 애플리케이션에 대한 올바른 리소스를 선택할 수 있습니다. 애플리케이션. Fortune Ball 애플리케이션은 이미지를 drawable 폴더로 가져와야 합니다. 이러한 폴더에는 이미지나 특수 XML 드로어블 파일이 포함될 수 있습니다. 즉, XML 코드를 사용하여 모양을 그리고 레이아웃에서 사용할 수 있습니다.

Android Studio에서 Android에서 Project로 이동합니다.

res 폴더를 엽니다(app > src > main). res 폴더를 마우스 오른쪽 버튼으로 클릭하고 New > Android 리소스 디렉터리를 선택합니다.

New Resource Directory라는 창이 나타납니다.

리소스 유형 드롭다운 목록에서 드로어블 옵션을 선택합니다. 사용 가능한 한정자 목록에서 밀도를 선택한 다음 스크린샷에 강조 표시된 버튼을 클릭합니다.

다음 창의 밀도 목록에서 XX-High Density를 선택합니다. 확인을 클릭하세요.

모든 작업을 반복하여 drawable-xhdpi, drawable-hdpi 및 drawable-mdpi 폴더를 만듭니다. 밀도 목록에서 각각 X-높음, 높음 및 중간 밀도를 선택합니다.

밀도 식별자(예: xxhdpi, xhdpi, hdpi)가 있는 각 폴더에는 특정 밀도 또는 해상도와 관련된 이미지가 포함되어 있습니다. 예를 들어, drawable-xxhdpi 폴더에는 고밀도 이미지가 포함되어 있습니다. 이는 고해상도 화면이 있는 Android 장치가 이 폴더에서 이미지를 그릴 것임을 의미합니다. 이미지는 화면 품질에 관계없이 모든 Android 기기에서 좋게 보입니다. 화면 밀도에 대한 자세한 내용은 Android 설명서에서 확인할 수 있습니다.

"그린" 폴더를 모두 생성한 후에는 폴더의 압축이 풀린 콘텐츠로 돌아가서 각 폴더의 이미지를 복사(cmd + C)하고 해당 Android Studio 폴더에 배치(cmd + V)할 수 있습니다.

파일을 배치하면 복사 창이 표시됩니다. 확인을 선택합니다.

XML 보기 및 동적 레이아웃 미리보기

사용자가 상호 작용할 수 있는 레이아웃을 만드는 것은 프로세스의 중요한 부분입니다. Android Studio에서는 레이아웃 편집기에서 이 작업을 수행할 수 있습니다. res/layout에서 content_main.xml을 엽니다. 디자인 탭에서는 인터페이스 요소(버튼, 텍스트 필드)를 이동할 수 있습니다.

디자인 오른쪽에는 레이아웃에서 XML을 직접 편집할 수 있는 텍스트 탭이 있습니다.

모양새를 생성하기 전에 몇 가지 값을 정의해야 합니다. res/values ​​탭에서 strings.xml을 열고 다음을 추가하세요.

"예" 또는 "아니오"로 대답할 수 있는 질문을 제안한 다음 마법의 공을 클릭하세요.

strings.xml에는 애플리케이션에 나타나는 모든 문자열이 포함되어 있습니다. 이 줄을 별도의 파일로 분리하면 국제화가 더 쉬워집니다. 애플리케이션에 필요한 각 언어에 대한 문자열 파일만 필요합니다. 애플리케이션을 다른 언어로 번역할 의도가 없더라도 항상 문자열 파일을 사용하는 것이 좋습니다.

res/values에서 Dimens.xml을 열고 다음을 추가합니다.

15sp20sp

Dimens.xml에는 치수 값, 레이아웃 제한 간격, 텍스트 크기 등이 포함됩니다. 나중에 레이아웃을 만드는 데 사용할 수 있도록 이 데이터를 파일에 저장하는 것이 좋습니다.

content_main.xml로 돌아가서 파일의 전체 내용을 다음 코드로 바꿉니다.

이 다소 큰 코드는 FortuneBall이라는 애플리케이션에 대한 레이아웃을 생성합니다. 최상위 수준에 RelativeLayout을 추가했습니다(상대 레이아웃은 상위 구성 요소를 기준으로 하위 구성 요소의 위치를 ​​정의합니다). RelativeLayout은 상위 구성 요소의 크기에 맞게 늘어날 수 있습니다.

상대 마크업은 두 개의 텍스트, 즉 이미지와 버튼을 추가합니다. 이러한 모든 세부정보는 추가된 순서대로 표시됩니다. 해당 내용은 strings.xml(텍스트) 및 drawable(이미지)에서 읽을 수 있습니다.

content_main.xml을 업데이트하는 동안 미리보기 창에서 UI를 업데이트합니다.

참고: 미리보기 창이 표시되지 않으면 텍스트 탭에서 오른쪽 마크업 편집기 패널에 있는 미리보기 버튼을 클릭하세요.

생성하고 실행하세요.

이제 애플리케이션 레이아웃이 생성되었습니다. 하지만 이 단계에서는 단지 예쁜 이미지일 뿐입니다. 버튼을 클릭해도 아무 결과도 나오지 않습니다.

활동과 보기 결합

app/src/main/java에 있는 Java 파일을 사용하여 애플리케이션에서 논리적 연결을 설정할 수 있습니다.

MainActivity.java를 열고 기존 데이터 아래에 다음 데이터를 추가합니다.

java.util.Random 가져오기; android.view.View 가져오기; android.widget.Button 가져오기; android.widget.ImageView 가져오기; android.widget.TextView 가져오기; import com.daimajia.androidanimations.library.Techniques;import com.daimajia.androidanimations.library.YoYo;

처음 5개 가져오기는 코드의 해당 클래스인 Random, View, Button, ImageView 및 TextView를 가리킵니다. 다음 두 가져오기는 라이브러리의 두 클래스를 사용함을 나타냅니다. 애니메이션용 build.gradle. MainActivity.java의 MainActivity 클래스에 다음을 추가합니다.

String luckList = ("기대하지 마세요","나중에 다시 물어보세요","믿을 수 있습니다","의심할 여지 없이","전망이 별로 좋지 않습니다","확실히 그렇습니다","신호 point to yes","그렇습니다","예","내 소스는 NO라고 말합니다."); TextView mFortuneText;Button mGenerateFortuneButton;ImageView mFortuneBallImage;

이 짧은 코드에서는 활동에 대해 4개의 변수를 설정했습니다. 첫 번째는 가능한 상태를 정의하는 줄이고, 나머지 세 개는 레이아웃/마크업에서 생성한 UI 요소입니다.

이제 onCreate() 메서드의 내용을 다음으로 바꿉니다.

// 1:super.onCreate(savedInstanceState);// 2:setContentView(R.layout.activity_main);Toolbar 도구 모음 = (도구 모음) findViewById(R.id.toolbar);setSupportActionBar(toolbar);// 3:mFortuneText = (TextView) findViewById(R.id.fortuneText);mFortuneBallImage = (ImageView) findViewById(R.id.fortunateImage);mGenerateFortuneButton = ( 단추) findViewById(R.id.fortuneButton); // 4:mGenerateFortuneButton.setOnClickListener(새 항목) 보다.OnClickListener() (@Overridepublic void onClick( 보다뷰) (// 5:int 인덱스 = 신규 무작위의().nextInt(fortuneList.length);mFortuneText.setText(fortuneList);// 6:YoYo.with(Techniques.Swing).duration(500).playOn(mFortuneBallImage);)));

  • 활동이 준비되었는지 확인하십시오(수퍼클래스 구현).
  • 이 활동의 ​​레이아웃이 이전에 생성한 레이아웃으로 표시되도록 지정하고 도구 모음을 확인하세요.
  • findViewById 메서드를 사용하여 레이아웃의 뷰 구성 요소에서 이전에 생성한 세 가지 변수의 값을 채웁니다. id 값은 XML 레이아웃과 동일합니다.
  • 버튼에 OnClickListener를 추가합니다. 이는 버튼 클릭이 호출하는 기능을 캡슐화(패키지)하는 간단한 클래스입니다.
  • 이 애플리케이션의 luckList에서 사용자 정의 옵션을 선택하고 이를 표시하도록 운세 텍스트를 업데이트하세요.
  • 타사 라이브러리를 사용하여 Gradle 파일에 종속성을 추가하고 애플리케이션에 애니메이션을 추가합니다.

거의 준비가 되었습니다. 하지만 플로팅 버튼을 제거해야 합니다. res/layout으로 이동하여 Activity_main.xml을 엽니다.

이 레이아웃 파일에는 이전에 편집한 content_main.xml에 대한 링크가 포함되어 있습니다. 기본적으로 콘텐츠(도구 모음 및 부동 작업 버튼)를 정의합니다. 그러나 이 특정 애플리케이션(Fortune Ball)에서는 플로팅 버튼이 필요하지 않습니다. 따라서 xml 파일에서 다음 코드 블록을 제거하십시오.

오른쪽 하단에 더 이상 플로팅 버튼이 없습니다.

질문하기(내 재산은 얼마입니까?) - 버튼을 누르세요. 신청서를 확인하세요.

안드로이드 모니터

Android Studio에는 다양한 도구가 포함되어 있습니다. Android Studio 창 하단에 있는 Android Monitor 탭을 엽니다.

여기서는 개발자를 위한 다양한 옵션을 찾을 수 있습니다.

  • 왼쪽에 있는 카메라와 재생 버튼을 사용하면 스크린샷을 찍고 동영상을 녹화할 수 있습니다.
  • 돋보기는 애플리케이션의 메모리 분석과 같은 다양한 추가 옵션을 엽니다.
  • Layout Inspector는 애플리케이션의 인터페이스가 특정 방식으로 보이는 이유를 결정하는 시각적 인터페이스를 제공합니다.

LogCat은 특정 애플리케이션 데이터를 드릴다운하거나 특정 문자가 포함되지 않은 경우 검색 창을 사용하여 메시지를 필터링하는 기능을 통해 시스템 메시지에 대한 자세한 개요를 제공합니다.

위 스크린샷에 표시된 것처럼 오른쪽 상단에서 선택한 애플리케이션만 표시를 선택했는지 확인하세요. 이제 앱의 메시지만 표시됩니다.

MainActivity.java에서 가져오기 목록에 다음을 추가합니다.

android.util.Log 가져오기;

MainActivity.java의 onCreate() 끝에 다음 줄을 추가합니다.

Log.v("FORTUNE 앱 태그","onCreateCalled");

Log.v는 태그와 메시지라는 두 가지 매개변수를 호출합니다. 이 경우 태그는 “FORTUNE APP TAG”로 정의되고, 메시지는 “onCreateCalled”로 정의됩니다.

애플리케이션을 실행하여 Logcat 패널에서 로그 메시지를 확인하세요.

LogCat의 내용을 필터링하고 콘솔 위의 검색 표시줄에 onCreateCalled를 입력합니다.

그런 다음 모든 로그 메시지를 다시 보려면 검색 텍스트를 삭제하세요.

또 다른 유용한 기능은 오류 메시지를 보는 기능인 logcat입니다. 완벽하게 작동하는 애플리케이션에 버그를 추가하여 작동 방식을 확인하세요.

MainActivity.java로 이동하여 onCreate()에서 다음 줄을 변경합니다.

//mFortuneText = (TextView) findViewById(R.id.fortuneText);

응용 프로그램을 시작하십시오. 내 운세는? 버튼을 클릭하세요. 작동하지 않습니다!

버그가 있다는 것을 몰랐다면 어떻게 오류를 수정하겠습니까? Logcat이 이에 도움이 될 것입니다.

Logcat 패널로 이동합니다. 다음과 같습니다.

여기에 빨간색 텍스트가 많이 있습니다. 이 경우 문제는 MainActivity.java 파일의 라인 50입니다. LogCat은 이 링크를 파란색 하이퍼링크로 바꿨습니다. 눌러보시면 무엇이 문제인지 알 수 있습니다.

mFortuneText = (TextView) findViewById(R.id.fortuneText)를 변경하면 변수를 생성했지만 해당 값을 지정하지 않았으므로 null 포인터 예외가 발생합니다. 돌아가서 코드를 변경하고 애플리케이션을 실행하세요. 이번에는 모든 것이 원활하게 작동합니다. Logcat은 오류를 찾는 데 유용한 도구입니다.

이 기사를 공유하세요:

관련 기사

첫 번째 모바일 애플리케이션을 작성하려는 경우 새로운 언어 및 개발 환경을 배우는 것이 최소한으로 필요합니다. 책의 예제를 복사하지 않고 Android 또는 iOS용 기본 할 일 목록을 스케치하는 데는 최소 2주가 걸립니다. 하지만 PhoneGap과 같은 기술을 사용하면 Objective-C나 Java를 마스터할 수 없으며 여전히 스마트폰용 애플리케이션을 빠르게 개발할 수 없습니다.

Windows 8에서 우리를 기다리고 있는 혁신을 주의 깊게 연구했다면 Windows 8에서 HTML5로 애플리케이션을 개발하는 것이 가능하다는 것을 알아차렸을 것입니다. 사실 이 아이디어는 새로운 것이 아닙니다. 모바일 플랫폼에 동일한 접근 방식을 구현하는 기술이 비약적으로 발전하고 있습니다. 익숙한 HTML, JavaScript 및 CSS를 사용하여 스마트폰용 애플리케이션을 개발할 수 있는 이러한 프레임워크 중 하나가 PhoneGap입니다. 도움을 받아 작성된 애플리케이션은 iOS, Android, Windows Phone, Blackberry, WebOS, Symbian 및 Bada 등 모든 인기 플랫폼에 적합합니다. 각 플랫폼(예: iOS의 경우 Objective-C)에 대한 프로그래밍 세부 사항을 배우거나 다양한 API 및 개발 환경을 다룰 필요가 없습니다. 크로스 플랫폼 모바일 애플리케이션을 만드는 데 필요한 것은 HTML5와 특수 PhoneGap API에 대한 지식뿐입니다. 이 경우 출력은 애플리케이션 인터페이스에서 "프레임화된" 어리석은 HTML 페이지가 아닙니다. 프레임워크의 API를 사용하면 가속도계, 나침반, 카메라(비디오 녹화 및 사진), 연락처 목록, 파일 시스템, 알림 시스템(전화의 표준 알림)에 대한 액세스 등 기본 도구를 사용하여 개발할 때 사용되는 거의 모든 전화 기능을 사용할 수 있습니다. , 스토리지 등. 마지막으로 이러한 애플리케이션은 모든 교차 도메인 주소에 원활하게 액세스할 수 있습니다. jQuery Mobile 또는 Sencha와 같은 프레임워크를 사용하여 기본 컨트롤을 다시 만들 수 있으며 최종 프로그램은 휴대폰에서 기본 언어로 작성된 것처럼 보입니다. 위 내용을 실제로 설명하는 것, 즉 지원서를 작성하는 것이 가장 좋으므로 바로 연습을 시작하는 것이 좋습니다. 시간을 추적하십시오. 모든 작업을 수행하는 데 30분도 채 걸리지 않습니다.

우리는 무엇을 창조할 것인가

iOS를 대상 플랫폼으로 삼겠습니다. 예, 예, 돈은 AppStore에 있으며 지금은 AppStore에서 개발을 통해 수익을 창출하는 것이 가장 좋습니다 :). 하지만 즉시 명확하게 말씀드리겠습니다. 예를 들어 Android에서도 변경 없이 동일한 작업을 수행할 수 있습니다. 나는 할 일 목록을 추적하기 위해 다른 도구를 작성하고 싶지 않았기 때문에 어떤 예를 고려해야 할지 오랫동안 생각했습니다. 그래서 저는 "내가 여기에 다시 오면 알려주세요."라는 한 문구로 목적을 설명할 수 있는 탐색 프로그램인 "Geographic Reminder"라는 애플리케이션을 만들기로 결정했습니다. AppStore에는 사용자가 차를 주차한 장소를 "기억"할 수 있는 많은 유틸리티가 있습니다. 거의 똑같고 조금 더 간단합니다. 도시 지도의 한 지점을 가리키고 해당 지점의 특정 반경을 설정하고 메시지를 프로그래밍할 수 있습니다. 다음에 지정된 반경의 원 안에 들어가면 애플리케이션에서 이를 알리고 해당 점이 삭제됩니다. 우리는 이 계획에 따라 진행할 것입니다. 먼저 간단한 웹 애플리케이션을 만들고 브라우저에서 테스트한 다음 PhoneGap을 사용하여 iOS 플랫폼으로 전송합니다. 휴대폰에서 애플리케이션을 디버깅하는 것이 훨씬 어렵기 때문에 컴퓨터의 브라우저에서 대량의 코드를 프로토타입하고 테스트하는 것이 매우 중요합니다. 프레임워크로는 jQuery Mobile(jquerymobile.com), 지도 엔진으로는 Google Maps v3과 함께 jQuery JS 프레임워크를 사용합니다. 신청서는 지도와 지점 목록의 두 페이지로 구성됩니다.

  • 현재 위치의 마커가 지도에 표시됩니다. 지도를 클릭하면 메시지가 첨부되는 지점이 생성됩니다(예: '가까운 자동차'). 포인트를 클릭하면 삭제할 수 있습니다. 지도에서 사람의 마커를 이동하려면 지리 탐색 API가 사용됩니다.
  • 포인트 목록이 있는 페이지에는 "모든 포인트 삭제" 버튼이 추가로 있어야 하며, 각 포인트 옆에는 "이 포인트 삭제" 버튼이 있어야 합니다. 목록에서 요소를 클릭하면 해당 지점이 지도에 표시됩니다. 사용자 설정과 포인트 목록을 localStorage에 저장하겠습니다.

UI 프레임워크

물론 jQuery Mobile이 모바일 인터페이스를 생성하는 유일한 프레임워크는 아닙니다. PhoneGap 웹사이트에는 Sencha Touch, Impact, Dojo Mobile, Zepto.js 등 사용할 수 있는 라이브러리 및 프레임워크의 방대한 목록이 있습니다(phonegap.com/tools).

애플리케이션 프레임워크

jQuery Mobile을 사용하는 이유를 바로 설명하겠습니다. 이 JS 라이브러리는 다양한 플랫폼에 대해 미리 만들어진 모바일 애플리케이션 인터페이스 요소(기본 요소에 최대한 가까운)를 제공합니다. 출력은 브라우저의 페이지가 아니라 모바일 애플리케이션이어야 합니다! 따라서 최신 버전의 JQuery Mobile(jquerymobile.com/download)을 다운로드하고 필요한 첫 번째 애플리케이션 파일을 작업 폴더로 전송합니다.

  • Images/ (동일한 이름의 jq-mobile 아카이브 폴더에 있는 모든 이미지를 여기로 이동하세요);
  • index.css;
  • index.html;
  • index.js;
  • jquery.js;
  • jquery.mobile.min.css;
  • jquery.mobile.min.js.

향후 사용자가 모바일 인터넷을 낭비하지 않도록 리소스를 대부분 로컬로 만드는 것이 필요합니다. 이제 index.html 파일에 페이지 프레임워크를 만듭니다. 아래 코드는 지도, "지리적 알림"이라는 문구 및 "포인트" 버튼이 있는 페이지 상단을 설명합니다.

지도 페이지

추억

포인트들

메모리에서 언로드되지 않도록 하려면 페이지 속성 data-dom-cache="true"가 필요합니다. 포인트 버튼은 data-transition="pop"을 사용하여 포인트 목록 페이지가 팝인 효과와 함께 열립니다. 좋은 매뉴얼(bit.ly/vtXX3M)에서 jQuery Mobile 페이지가 어떻게 구성되어 있는지 자세히 알아볼 수 있습니다. 비유적으로 포인트 목록이 포함된 페이지를 만듭니다.

포인트 목록 페이지

모두 삭제

포인트들

지도

“Map” 버튼의 경우 data-transition="pop"도 작성하지만 “Map” 페이지가 “Fade” 효과와 함께 열리도록 data-direction="reverse" 속성을 추가하겠습니다. 포인트 템플릿에 동일한 속성을 작성하겠습니다. 이제 프레임이 준비되었습니다.

애플리케이션 만들기

이제 수백만 개의 다른 사이트에서 사용되는 표준 Google Maps API를 사용하여 지도를 표시해야 합니다.

Var latLng = new gm.LatLng(this.options.lat, this.options.lng); this.map = new gm.Map(element, ( Zoom: this.options.zoom, // 초기 확대/축소 중심 선택: latLng, // 초기 중심 설정 mapTypeId: gm.MapTypeId.ROADMAP, // 노멀 맵 비활성화DoubleClickZoom: true, // 탭/두 번 클릭으로 자동 확대/축소 비활성화 비활성화DefaultUI: true // 모든 인터페이스 요소 비활성화 ));

여기서 Gm은 Google 지도 객체를 참조하는 변수입니다. 코드에서 초기화 매개변수를 잘 주석 처리했습니다. 다음 단계는 지도에 사람 마커를 그리는 것입니다.

This.person = new gm.Marker(( 지도: this.map, 아이콘: new gm.MarkerImage(PERSON_SPRITE_URL, new gm.Size(48, 48)) ));

Google 파노라마의 인물 스프라이트 주소는 PERSON_SPRITE_URL로 사용됩니다. 정적 주소는 map.gstatic.com/mapfiles/cb/mod_cb_scout/cb_scout_sprite_api_003.png 입니다. 사용자는 지도를 클릭하여 점을 추가하므로 점을 그리기 위해 클릭 이벤트를 수신합니다.

Gm.event.addListener(this.map, "click", function (event) ( self.requestMessage(function (err, message) ( // 사용자가 입력한 텍스트를 반환하는 메서드 if (err) return; // 메서드 활성 목록에 점을 추가하고 // 지도에 점을 그립니다. self.addPoint(event.latLng, self.options.radius, message); self.updatePointsList(); // 포인트 목록 다시 그리기 )); ), 거짓);

대부분의 코드는 제가 제공합니다. 나머지 코드는 디스크에서 찾아보세요. 다음으로 지도에서 사용자 아이콘을 이동하도록 애플리케이션을 가르쳐야 합니다. 프로토타입에서는 Geolocation API(데스크톱 브라우저에서도 사용되는 API)를 사용합니다.

If (navigator.geolocation) ( // 브라우저가 지리 위치 기능을 지원하는지 확인하십시오. gpsSuccess(pos) ( var lat, lng; if (pos.coords) ( lat = pos.coords.latitude; lng = pos.coords.longitude; ) else ( lat = pos.latitude; lng = pos.longitude; ) self.movePerson(new gm.LatLng(lat, lng)); // 사용자 아이콘 이동 ) // 3초마다 // 현재 위치를 요청합니다. 사용자 window.setInterval (function () ( // 현재 위치 요청 navigator.geolocation.getCurrentPosition(gpsSuccess, $.noop, (enableHighAccuracy: true, maximumAge: 300000 )); ), 3000); )

movePerson 메소드는 간단한 getPointsInBounds() 프로시저를 사용하여 사용자가 활성 지점에 있는지 확인합니다. 마지막 질문 - 포인트 목록을 어디에 저장하나요? HTML5에는 localStorage를 사용하는 기능이 도입되었으므로 이를 무시하지 말자. (코드의 이러한 부분은 내가 잘 주석 처리한 부분을 직접 파악하도록 남겨두겠습니다.) 이제 브라우저에서 실행되는 애플리케이션이 준비되었습니다!

웹 애플리케이션 실행

앞서 말했듯이 디버깅은 대부분 컴퓨터에서 이루어져야 합니다. 컴퓨터에서 웹 애플리케이션을 테스트하는 데 가장 적합한 브라우저는 Safari 또는 Chrome입니다. 이러한 브라우저에서 디버깅한 후에는 애플리케이션이 휴대폰 브라우저에서 작동하지 않는 것을 확인할 수 있습니다. 이 두 브라우저는 모두 WebKit 엔진을 기반으로 구축되었기 때문에 대부분의 모바일 웹 브라우저와 호환됩니다. 모든 버그를 제거한 후 휴대폰에서 직접 모바일 웹 애플리케이션을 시작할 수 있습니다. 이렇게 하려면 생성된 페이지를 제공하도록 웹 서버(Denwer 또는 XAMPP 포함)를 구성하고 휴대폰 브라우저에서 엽니다. 응용 프로그램은 그림에 표시된 것과 유사해야 합니다. PhoneGap을 사용하여 모바일 플랫폼용으로 컴파일된 향후 모바일 애플리케이션은 브라우저 탐색 표시줄이 화면에 표시되지 않는다는 점을 제외하면 거의 동일하게 보일 것이라는 점을 여기서 이해하는 것이 중요합니다. 모든 것이 정상이면 페이지에서 본격적인 iOS 애플리케이션 생성을 시작할 수 있습니다. 지금까지 모바일 개발을 위한 PhoneGap과 IDE는 다루지도 않았다는 점을 참고하세요.

준비

iOS용 애플리케이션을 구축하려면 Mac OS 10.6+ 운영 체제(또는 Mac OS 10.6의 가상 머신)가 설치된 컴퓨터와 iOS SDK가 설치된 Xcode 개발 환경이 필요합니다. SDK가 설치되어 있지 않은 경우 Xcode 및 iOS SDK가 포함된 Apple 웹사이트(developer.apple.com/devcenter/ios/index.action)에서 디스크 이미지를 다운로드해야 합니다. 이미지의 무게는 약 4GB입니다. 또한 Apple 웹사이트에 개발자로 등록해야 합니다. AppStore에 애플리케이션을 게시하지 않으려면 이 요구 사항을 무시할 수 있습니다. 이 세트를 사용하면 기본 iOS 언어인 Objective-C로 애플리케이션을 개발할 수 있습니다. 하지만 문제를 해결하고 PhoneGap을 사용하기로 결정했기 때문에 여전히 PhoneGap iOS 패키지를 설치해야 합니다. 오프사이트(https://github.com/callback/phonegap/zipball/1.2.0)에서 아카이브를 다운로드하고 압축을 푼 후 iOS 폴더에서 설치 프로그램을 실행하세요. 설치가 완료되면 Xcode 프로젝트 메뉴에 PhoneGap 아이콘이 나타납니다. 출시 후에는 여러 양식을 작성해야 하지만 곧 첫 번째 애플리케이션이 포함된 IDE 작업 공간을 보게 될 것입니다. 모든 것이 작동하는지 확인하려면 실행 버튼을 클릭하세요. PhoneGap 템플릿 애플리케이션이 포함된 iPhone/iPad 에뮬레이터가 시작되어야 합니다. 조립된 프로그램은 index.html을 찾을 수 없다는 오류를 생성합니다. 이는 정상적인 현상입니다. 기본 프로젝트 파일을 저장한 폴더를 열고 그 안에서 www 하위 폴더를 찾으세요. 편집기로 드래그하고 왼쪽 목록에서 애플리케이션 아이콘을 클릭한 후 나타나는 창에서 "추가된 폴더에 대한 폴더 참조 생성"을 선택합니다. 프로그램을 다시 실행하면 모든 것이 작동할 것입니다. 이제 프로토타입의 모든 파일을 www 폴더에 복사할 수 있습니다. 이제 PhoneGap 처리를 사용하여 스마트폰에서 작동하도록 프로토타입을 조정할 차례입니다.

프로토타입 이전

우선, index 파일에phonegap-1.2.0.js를 포함시켜야 합니다. PhoneGap을 사용하면 방문 가능한 호스트 목록을 제한할 수 있습니다. 나는 그러한 "화이트리스트"를 즉시 설정하는 것이 좋습니다. 프로젝트 메뉴에서 Supporting Files/PhoneGap.plist를 열고, ExternalHosts 항목을 찾아 여기에 애플리케이션이 액세스할 다음 호스트(Google 지도 서버)를 추가합니다: *.gstatic.com, *.googleapis.com, 지도 .google.com. 지정하지 않으면 프로그램이 콘솔에 경고를 표시하고 지도가 표시되지 않습니다. 애플리케이션의 웹 버전을 초기화하기 위해 DOMReady 이벤트 또는 jQuery 도우미인 $(document).ready()를 사용했습니다. PhoneGap은 모바일 장치가 준비되었음을 나타내는 deviceready 이벤트를 생성합니다. 나는 이것을 사용하는 것이 좋습니다:

Document.addEventListener("deviceready", function () ( new Notificator($("#map-canvas")); // 사용자가 인터넷을 사용할 수 없는 경우 // 사용자에게 이에 대해 알립니다. if (navigator.network.connection. type = == Connection.NONE) ( navigator.notification.alert("인터넷 연결 없음", $.noop, TITLE); ) ), false);
스크롤을 방지합시다: document.addEventListener("touchmove", function (event) ( event.preventDefault(); ), false);

그런 다음 모든 알림 및 확인 통화를 PhoneGap이 제공하는 기본 알림으로 대체합니다.

Navigator.notification.confirm("포인트를 제거하시겠습니까?", function (button_id) ( if (button_id === 1) ( // 확인 버튼을 눌렀습니다. self.removePoint(point); ) ), TITLE);

마지막으로 변경해야 할 것은 지도에서 사용자 아이콘을 이동하는 코드 블록입니다. 현재 코드도 작동하지만 덜 최적으로 작동하고(좌표가 변경되지 않은 경우에도 아이콘을 이동함) PhoneGap 대응만큼 풍부한 데이터를 제공하지 않습니다.

Navigator.geolocation.watchPosition(함수 (위치) ( self.movePerson(new gm.LatLng(position.coords.latitude, position.coords.longitude)); ), 함수 (오류) ( navigator.notification.alert("코드: " + error.code + "\nmessage: " + error.message, $.noop, TITLE); ), ( 빈도: 3000 ));

이 코드는 더 우아합니다. 좌표가 변경된 경우에만 이벤트를 생성합니다. 실행 버튼을 클릭하고 방금 만든 애플리케이션이 iOS 장치 시뮬레이터에서 완벽하게 작동하는지 확인하세요! 이제 실제 장치에서 실행을 시작할 시간입니다.

기기에서 실행

iPhone, iPod 또는 iPad를 Xcode를 실행하는 컴퓨터에 연결하세요. 프로그램은 새로운 장치를 감지하고 개발에 사용할 수 있는 권한을 요청합니다. 그녀를 거부하는 것은 의미가 없습니다 :). 다시 한 번 반복하겠습니다. iOS에서 작성된 애플리케이션을 실행하려면 승인된 iOS 개발자여야 합니다(즉, iOS 개발자 프로그램에 가입해야 합니다). 이는 Apple 제품용 애플리케이션을 개발하는 경우에만 문제가 되며, 다른 플랫폼(Android, Windows Phone)을 사용하면 모든 것이 훨씬 간단해집니다. 대학에서 공부하는 사람들은 몇 가지 혜택 덕분에 프로그램에 무료로 액세스할 수 있는 기회가 있습니다. 그 외 모든 사람은 프로그램에 참여하려면 연간 99달러를 지불해야 합니다. Apple은 코드에 서명할 수 있는 인증서를 발급합니다. 서명된 애플리케이션은 iOS에서 실행되고 App Store에 배포될 수 있습니다. 학생이 아니고 무고한 실험에 대해 99달러를 지불한 것에 대해 여전히 미안하다고 생각한다면 시스템을 속이는 또 다른 방법이 있습니다. 코드 확인을 위해 자체 서명된 인증서를 생성하고 탈옥된 iOS 장치에서 모바일 프로그램을 실행할 수 있습니다. 모든 내용은 bit.ly/tD6xAf 문서에 최대한 자세히 설명되어 있으므로 이에 대해 자세히 설명하지 않겠습니다. . 어떤 식으로든 곧 휴대폰 화면에 작동하는 애플리케이션이 표시될 것입니다. 스톱워치를 중지하세요. 얼마나 걸렸나요?

기타 플랫폼

PhoneGap 외에도 모국어를 사용하지 않고도 모바일 애플리케이션을 만들 수 있는 다른 플랫폼이 있습니다. 가장 멋진 선수를 나열해 보겠습니다.

Appcelerator Titanium(www.appcelerator.com).

티타늄은 주로 Android 및 iPhone용 애플리케이션을 구축할 수 있지만 BlackBerry도 지원한다고 주장합니다. 프레임워크 자체 외에도 프로젝트는 기본 위젯 및 IDE 세트를 제공합니다. Titanium에서 애플리케이션을 무료로 개발할 수 있지만 지원 및 추가 모듈 비용을 지불해야 합니다(월 49달러부터). 일부 타사 모듈의 가격은 연간 120달러에 이릅니다. Appcelerator Titanium의 개발자들은 그들의 프레임워크를 기반으로 25,000개 이상의 애플리케이션이 작성되었다고 주장합니다. 프로젝트의 소스 코드는 Apache 2 라이센스에 따라 배포됩니다.

코로나 SDK(www.anscamobile.com/corona).

이 기술은 iOS 및 Android 등 주요 플랫폼을 지원합니다. 프레임워크는 주로 게임 개발을 목표로 합니다. 물론 개발자들은 OpenGL에 대한 고품질 최적화를 주장합니다. 이 플랫폼에는 무료 버전이 없으며 가격은 상당히 높습니다. 한 플랫폼에 대한 라이선스는 연간 199달러, iOS 및 Android의 경우 연간 349달러입니다. Corona는 자체 IDE와 장치 에뮬레이터를 제공합니다. Corona 애플리케이션은 JavaScript와 유사한 언어로 작성됩니다.

결론

우리는 몇 가지 간단한 단계를 거쳐 간단한 모바일 웹 애플리케이션을 만들고 이를 PhoneGap을 사용하여 iOS 플랫폼에 포팅했습니다. 우리는 Objective-C 코드를 한 줄도 작성하지 않았지만 PhoneGap API를 이식하고 배우는 데 최소한의 시간을 투자하여 괜찮은 품질의 프로그램을 얻었습니다. Android 또는 Windows Mobile 7과 같은 다른 플랫폼을 선호하는 경우 이러한 플랫폼을 변경하지 않고도 쉽게 애플리케이션을 구축할 수 있습니다(각 플랫폼에 대해 유용한 소개 매뉴얼 및 비디오 튜토리얼이 있습니다:phonegap.com/) 시작) . 플랫폼의 실행 가능성을 확인하려면 기술 개발자가 특별 갤러리(phonegap.com/apps)에 수집한 PhoneGap의 기성 애플리케이션을 살펴볼 수 있습니다. 실제로 PhoneGap은 최소한 미래 애플리케이션의 프로토타입을 만들기 위한 이상적인 플랫폼입니다. 가장 큰 장점은 속도와 최소한의 비용으로 모든 면에서 자원이 제한된 스타트업이 적극적으로 사용하는 것입니다. 애플리케이션이 실패하고 어떤 이유로 HTML+JS 내부가 더 이상 만족스럽지 않은 경우 언제든지 애플리케이션을 기본 언어로 포팅할 수 있습니다. PhoneGap은 원래 Nitobi가 오픈 소스 프로젝트로 개발했다고 말할 수밖에 없습니다(저장소는 GitHub: github.com/phonegap에 있습니다). Adobe가 지난 10월 Nitobi를 인수했지만 소스 코드는 계속 공개됩니다. 그러한 거인의 지원으로 프로젝트가 어떤 전망을 가지고 있는지 말할 필요가 있습니까?

이 튜토리얼에서는 Android Studio 개발 환경을 사용하여 Android 애플리케이션을 작성하는 방법의 기본 사항을 설명합니다. Android 기기는 점점 더 일반화되고 있으며 새로운 애플리케이션에 대한 수요는 계속해서 증가하고 있습니다. Android Studio는 사용하기 쉬운 무료 개발 환경입니다.

이 튜토리얼에서는 Java가 Android에서 사용되는 언어이므로 최소한 Java에 대한 지식이 있는 것이 가장 좋습니다. 이 튜토리얼에서는 여러분이 Java에 대해 어느 정도 지식이 있거나 아직 모르는 것을 찾을 준비가 되었다고 가정하고 있으므로 코드가 너무 많지 않을 것입니다. 응용 프로그램을 만드는 데 필요한 모든 프로그램을 얼마나 빨리 다운로드하고 설치하는지에 따라 30~60분이 소요됩니다. 첫 번째 Android 앱을 만드는 방법에 대한 이 튜토리얼을 따른 후에는 재미있는 새로운 취미를 찾거나 신진 모바일 앱 개발자로서 경력을 시작할 수도 있습니다.

1단계: Android 스튜디오 설치

  1. JDK를 설치해야 합니다( 자바 개발 키트) 및 JRE(Java 런타임 환경). 이 링크에서 다운로드할 수 있습니다. 여기에서 OS 버전을 선택하고 라이센스 계약에 동의한 후 다운로드하고 설치합니다.
  2. 이제 http://developer.android.com/sdk/index.html로 이동하여 다운로드하세요(주의하세요. 약 3GB를 다운로드해야 합니다).
  3. 설치를 시작하고 지침을 따릅니다.

2단계: 새 프로젝트 만들기

  1. 안드로이드 스튜디오를 엽니다.
  2. 메뉴에서 " 빠른 시작", 선택하다 " 새로운 Android Studio 프로젝트 시작».
  3. 창문에서 " 새 프로젝트 만들기"(열린 창) 프로젝트 이름을 지정하세요." 헬로월드».
  4. 회사 명 (선택 사항.*
  5. "를 클릭하세요. 다음».
  6. 확인란이 ''에만 선택되어 있는지 확인하세요. 휴대폰 및 태블릿».
  7. 휴대폰에서 첫 번째 애플리케이션을 테스트할 계획이라면 올바른 Android 버전이 선택되었는지 확인하세요(휴대폰에 있는 버전보다 이전 버전은 안 됨).
  8. "를 클릭하세요. 다음».
  9. 선택하다 " 빈 활동».
  10. "를 클릭하세요. 다음».
  11. 다른 모든 필드는 그대로 둡니다.
  12. "를 클릭하세요. 마치다».

*Android 프로젝트의 일반적인 회사 이름은 "example.name.here.com"입니다.

3단계: 인사말 편집

  1. 탭으로 이동 활동_기본.xml, 아마도 이미 활성화되어 있을 것입니다.
  2. 화면 하단의 탭이 활성화되어 있는지 확인하세요. 설계(대부분 이것이 사실일 가능성이 높습니다).
  3. "라는 문구를 드래그하세요. 안녕하세요, 세계! » 휴대전화 왼쪽 상단부터 화면 중앙까지.
  4. 화면 왼쪽에는 폴더 트리가 있습니다. "라는 폴더를 엽니다. 가치».
  5. 이 폴더에서 " 문자열.xml».
  6. 이 파일에서 "라는 텍스트가 포함된 줄을 찾습니다. 안녕하세요!" 그리고 이 텍스트에 추가하세요 " 환영에게나의! ».
  7. "로 돌아가기 활동_기본.xml».
  8. 텍스트가 휴대폰 화면 중앙에 있고 "라는 텍스트가 포함되어 있는지 확인하세요. 안녕하세요세계! 환영에게나의! ».

4단계: 버튼 추가

  1. "에 활동_기본.xml"탭을 선택하세요" 설계».
  2. 전화기가 있는 창 왼쪽 열에서 "라는 폴더를 찾으세요. 위젯" 거기에는 다양한 버튼이 있습니다.
  3. "를 잡아라 단추» 휴대전화 화면으로 드래그하세요. 텍스트 바로 아래 화면 중앙에 위치해야 합니다.
  4. 버튼이 여전히 선택되어 있는지 확인하세요(주변의 파란색 프레임).
  5. 오른쪽 하단에는 선택한 개체의 속성이 표시된 창이 있습니다. 아래로 스크롤하여 "라는 줄을 찾으세요. 텍스트».
  6. 텍스트 변경 " 새 버튼" 에 " 다음 페이지».

5단계: 두 번째 활동 만들기

  1. 프로젝트의 파일 시스템 트리 상단에서 "라는 폴더를 마우스 오른쪽 버튼으로 클릭합니다. ».
  2. 선택하다 새로 만들기 > 활동 > 빈 활동.
  3. 나타나는 창의 맨 윗줄에 '를 입력합니다. 두 번째 활동».
  4. "를 클릭하세요. 마치다».
  5. "로 이동 활동_두번째.xml"를 클릭하고 하단에 " 탭이 선택되어 있는지 확인하세요. 설계».
  6. 이전 단계에서 했던 것처럼 휴대폰 왼쪽 상단에 있는 텍스트를 화면 중앙으로 이동합니다.
  7. 텍스트 블록이 여전히 선택되어 있는지(파란색 프레임) 확인하고 개체 속성의 오른쪽 하단에서 " ID"그리고 거기로 들어가세요" 텍스트2 ».
  8. 왼쪽 상단(프로젝트 트리)에서 " 문자열.xml».
  9. 라인 아래 안녕하세요! 내 앱에 오신 것을 환영합니다!

    다음 줄을 추가하세요

    두 번째 페이지에 오신 것을 환영합니다!

  10. "로 돌아가기 활동_초.xml».
  11. 텍스트 블록을 다시 선택하십시오.
  12. 개체 속성의 오른쪽 하단에서 " 텍스트" 그리고 거기에 들어가 «@ /두번째_페이지».
  13. 이제 텍스트 상자에 " 환영에게그만큼두번째페이지! ” 그리고 블로그는 화면 중앙에 위치합니다.

6단계: 버튼에 대한 작업 작성


7단계: 애플리케이션 테스트

  1. Android Studio 창 상단의 툴바에서 녹색 재생 기호를 클릭하세요.
  2. 창문에서 " 선택하다장치» 항목 선택 « 시작하다에뮬레이터» 장치를 선택합니다.
  3. 버튼을 클릭하세요 좋아요».
  4. 에뮬레이터가 시작되면(시간이 오래 걸릴 수 있음) 가상 장치에서 애플리케이션이 자동으로 열립니다.
  5. 모든 텍스트가 올바르게 표시되는지, 버튼을 클릭하면 다음 페이지로 이동하는지 확인하세요.

주목: "라는 메시지를 받은 경우 HAX 커널 모듈이 설치되지 않았습니다!"라면 두 가지 가능한 옵션이 있습니다. 사실 최신 Intel 프로세서만이 이 가상화를 지원하며 BIOS에서만 활성화하면 됩니다. 이 기능을 지원하지 않는 프로세서가 있는 경우 실제 휴대폰에서 애플리케이션을 테스트하거나 내장된 에뮬레이터가 아닌 타사 에뮬레이터를 사용해야 합니다.

Android Studio에서 .apk 파일을 얻는 방법

축하해요! 몇 가지 기본 기능을 갖춘 첫 번째 Android 애플리케이션 작성을 마쳤습니다. 완성된 애플리케이션에는 사용자 시작 페이지와 사용자를 두 번째 페이지로 이동하는 버튼이 있어야 합니다.

귀하는 Android용 애플리케이션 개발에 대해 간략히 알게 되었으며 이 방향으로 더 발전하기 위해 필요한 모든 것을 배우고자 하는 열망을 스스로 깨웠을 것입니다.