Cách tự học cách viết ứng dụng Android. Ứng dụng phát triển ứng dụng: cách tự tạo ứng dụng cho iOS và Android

Học một ngôn ngữ mới và môi trường phát triển là điều tối thiểu bạn cần nếu bạn muốn viết ứng dụng di động đầu tiên của mình. Sẽ mất ít nhất vài tuần để phác thảo danh sách việc cần làm cơ bản cho Android hoặc iOS mà không cần sao chép ví dụ từ sách. Nhưng bạn không thể thành thạo Objective-C hay Java mà vẫn nhanh chóng phát triển ứng dụng cho điện thoại thông minh nếu sử dụng các công nghệ như PhoneGap.

Nếu bạn đã nghiên cứu kỹ lưỡng những đổi mới đang chờ đợi chúng ta trong Windows 8, bạn có thể nhận thấy rằng có thể phát triển các ứng dụng bằng HTML5 theo nó. Trên thực tế, ý tưởng này không phải là mới - các công nghệ thực hiện cách tiếp cận tương tự dành cho nền tảng di động đang phát triển nhảy vọt. Một trong những khung này, cho phép bạn phát triển ứng dụng cho điện thoại thông minh bằng cách sử dụng nhiều HTML, JavaScript và CSS! quen thuộc, là PhoneGap. Một ứng dụng được viết với sự trợ giúp của nó phù hợp với tất cả các nền tảng phổ biến: iOS, Android, Windows Phone, Blackberry, WebOS, Symbian và Bada. Bạn sẽ không cần phải tìm hiểu các chi tiết cụ thể về lập trình cho từng nền tảng (ví dụ: Objective-C trong trường hợp iOS) hoặc xử lý các API và môi trường phát triển khác nhau. Tất cả những gì bạn cần để tạo một ứng dụng di động đa nền tảng là kiến ​​thức về HTML5 và API PhoneGap đặc biệt. Trong trường hợp này, đầu ra sẽ không phải là một trang HTML ngu ngốc được “đóng khung” trong giao diện ứng dụng, không! API của khung cho phép bạn sử dụng hầu hết tất cả các khả năng của điện thoại được sử dụng khi phát triển bằng các công cụ gốc: truy cập vào gia tốc kế, la bàn, máy ảnh (quay video và chụp ảnh), danh sách liên hệ, hệ thống tệp, hệ thống thông báo (thông báo tiêu chuẩn trên điện thoại) , lưu trữ, v.v. Cuối cùng, một ứng dụng như vậy có thể truy cập liền mạch bất kỳ địa chỉ tên miền chéo nào. Bạn có thể tạo lại các điều khiển gốc bằng cách sử dụng các khung như jQuery Mobile hoặc Sencha và chương trình cuối cùng sẽ trông giống như được viết bằng ngôn ngữ bản địa (hoặc gần như vậy) trên điện thoại di động. Tốt nhất hãy minh họa những điều trên bằng thực tế, tức là viết đơn, vì vậy tôi khuyên bạn nên bắt đầu thực hành ngay. Theo dõi thời gian - sẽ mất hơn nửa giờ để làm mọi việc.

Chúng ta sẽ tạo ra cái gì

Hãy lấy iOS làm nền tảng mục tiêu - vâng, vâng, tiền nằm trong AppStore và hiện tại, tốt nhất là bạn nên kiếm tiền từ sự phát triển của mình ở đó :). Nhưng hãy để tôi nói rõ ngay: điều tương tự, không cần thay đổi, có thể được thực hiện đối với Android. Tôi đã suy nghĩ rất lâu về việc nên xem xét ví dụ nào vì tôi không muốn viết một công cụ khác để theo dõi danh sách việc cần làm. Vì vậy, tôi quyết định tạo một ứng dụng có tên “Lời nhắc địa lý”, một chương trình điều hướng có mục đích được mô tả bằng một cụm từ: “Hãy cho tôi biết khi tôi quay lại đây”. AppStore có nhiều tiện ích cho phép bạn “ghi nhớ” nơi người dùng đã đỗ xe. Nó gần như giống nhau, chỉ đơn giản hơn một chút. Bạn có thể chỉ tới một điểm trên bản đồ thành phố, đặt bán kính nhất định cho điểm đó và lập trình tin nhắn. Lần tiếp theo bạn rơi vào vòng tròn có bán kính được chỉ định, ứng dụng sẽ thông báo cho bạn và điểm sẽ bị xóa. Chúng tôi sẽ tiến hành theo kế hoạch này: đầu tiên chúng tôi sẽ tạo một ứng dụng web đơn giản, thử nghiệm nó trên trình duyệt, sau đó chuyển nó sang nền tảng iOS bằng PhoneGap. Điều rất quan trọng là tạo nguyên mẫu và kiểm tra phần lớn mã trong trình duyệt trên máy tính, vì việc gỡ lỗi ứng dụng trên điện thoại khó khăn hơn nhiều. Chúng tôi sẽ sử dụng khung jQuery JS với jQuery Mobile (jquerymobile.com) làm khung và Google Maps v3 làm công cụ bản đồ. Ứng dụng sẽ bao gồm hai trang: bản đồ và danh sách các điểm.

  • Điểm đánh dấu vị trí hiện tại của bạn được đặt trên bản đồ. Bằng cách nhấp vào bản đồ, một điểm sẽ được tạo để đính kèm thông báo (như “ô tô ở gần”). Một điểm có thể bị xóa bằng cách nhấp vào nó. Để di chuyển điểm đánh dấu của một người trên bản đồ, API định vị địa lý sẽ được sử dụng.
  • Trên trang có danh sách các điểm cần có thêm nút “Xóa tất cả các điểm” và bên cạnh mỗi điểm phải có nút “Xóa điểm này”. Nếu bạn bấm vào một phần tử trong danh sách, điểm tương ứng sẽ được hiển thị trên bản đồ. Chúng tôi sẽ lưu cài đặt người dùng và danh sách các điểm trong localStorage.

khung giao diện người dùng

Tất nhiên, jQuery Mobile không phải là framework duy nhất để tạo giao diện di động. Trang web PhoneGap có một danh sách khổng lồ các thư viện và framework mà bạn có thể sử dụng (phonegap.com/tools): Sencha Touch, Impact, Dojo Mobile, Zepto.js, v.v.

Khung ứng dụng

Tôi sẽ giải thích ngay lý do tại sao chúng ta sẽ sử dụng jQuery Mobile. Thư viện JS này cung cấp cho chúng ta các thành phần giao diện ứng dụng di động được tạo sẵn (gần giống với giao diện gốc nhất có thể) cho nhiều nền tảng khác nhau. Chúng tôi cần đầu ra là một ứng dụng di động chứ không phải một trang từ trình duyệt! Vì vậy, hãy tải xuống phiên bản mới nhất của JQuery Mobile (jquerymobile.com/download) và chuyển các tệp ứng dụng đầu tiên mà chúng ta cần vào thư mục làm việc:

  • hình ảnh/ (di chuyển đến đây tất cả các hình ảnh từ thư mục lưu trữ cùng tên của jq-mobile);
  • chỉ mục.css;
  • chỉ mục.html;
  • chỉ mục.js;
  • jquery.js;
  • jquery.mobile.min.css;
  • jquery.mobile.min.js.

Cần phải tạo ra các tài nguyên chủ yếu là cục bộ để người dùng không lãng phí Internet di động trong tương lai. Bây giờ chúng ta tạo khung trang trong tệp index.html. Mã bên dưới mô tả phần đầu của trang có bản đồ, dòng chữ “Lời nhắc địa lý” và nút “Điểm”.

Trang bản đồ

Kỷ niệm địa chất

Điểm

Thuộc tính trang data-dom-cache="true" là cần thiết để đảm bảo rằng nó không bị tải khỏi bộ nhớ. Nút Điểm sử dụng data-transition="pop" để trang Danh sách điểm mở ra với hiệu ứng Pop-in. Bạn có thể đọc thêm về cách cấu trúc các trang jQuery Mobile trong một sổ tay hướng dẫn hay (bit.ly/vtXX3M). Bằng cách tương tự, chúng tôi tạo một trang có danh sách các điểm:

Trang danh sách điểm

Xóa mọi thứ

Điểm

Bản đồ

Đối với nút “Bản đồ”, chúng tôi cũng sẽ viết data-transition="pop", nhưng chúng tôi sẽ thêm thuộc tính data-direction="reverse" để trang “Bản đồ” mở ra với hiệu ứng “Mờ dần”. Chúng ta sẽ viết các thuộc tính tương tự trong mẫu điểm. Thế là xong, khung của chúng ta đã sẵn sàng.

Tạo một ứng dụng

Bây giờ chúng tôi cần hiển thị bản đồ mà chúng tôi sẽ sử dụng API Google Maps tiêu chuẩn, được hàng triệu trang web khác nhau sử dụng:

Var latLng = new gm.LatLng(this.options.lat, this.options.lng); this.map = new gm.Map(element, ( zoom: this.options.zoom, // Chọn trung tâm thu phóng ban đầu: latLng, // Đặt trung tâm ban đầu mapTypeId: gm.MapTypeId.ROADMAP, // Vô hiệu hóa bản đồ thông thườngDoubleClickZoom: true, // Tắt tính năng tự động thu phóng bằng cách nhấn/nhấp đúp vào vô hiệuDefaultUI: true // Tắt tất cả các thành phần giao diện ));

Ở đây Gm là một biến tham chiếu đến đối tượng Google Maps. Tôi đã nhận xét rõ ràng các tham số khởi tạo trong mã. Bước tiếp theo là vẽ điểm đánh dấu người đàn ông trên bản đồ:

This.person = gm.Marker mới((map: this.map, biểu tượng: gm.MarkerImage mới(PERSON_SPRITE_URL, gm.Size mới(48, 48)) ));

Địa chỉ của nhân vật từ ảnh toàn cảnh của Google được sử dụng dưới dạng PERSON_SPRITE_URL. Địa chỉ tĩnh của nó là maps.gstatic.com/mapfiles/cb/mod_cb_scout/cb_scout_sprite_api_003.png . Người dùng sẽ thêm điểm bằng cách nhấp vào bản đồ, vì vậy để vẽ chúng, chúng ta sẽ nghe sự kiện nhấp chuột:

Gm.event.addListener(this.map, "click", function (event) ( self.requestMessage(function (err, message) ( // Phương thức trả về văn bản được người dùng nhập vào if (err) return; // Phương thức thêm một dấu chấm vào danh sách đang hoạt động và // vẽ nó trên bản đồ self.addPoint(event.latLng, self.options.radius, message); self.updatePointsList(); // Vẽ lại danh sách các điểm )); ), SAI);

Tôi cung cấp hầu hết mã - hãy tìm phần còn lại trên đĩa. Tiếp theo chúng ta cần dạy ứng dụng cách di chuyển biểu tượng người dùng trên bản đồ. Trong nguyên mẫu, chúng tôi sử dụng API định vị địa lý (API này cũng được sử dụng trong trình duyệt trên máy tính để bàn):

If (navigator.geolocation) ( // Kiểm tra xem trình duyệt có hỗ trợ chức năng định vị địa lý 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)); // Di chuyển biểu tượng người dùng ) // Cứ sau ba giây chúng tôi lại yêu cầu // vị trí hiện tại của người dùng window.setInterval (function () ( // Yêu cầu vị trí hiện tại navigator.geolocation.getCurrentPosition(gpsSuccess, $.noop, ( EnableHighAccuracy: true, maxAge: 300000 )); ), 3000); )

Phương thức movePerson sử dụng thủ tục getPointsInBounds() đơn giản để kiểm tra xem người dùng có đang ở điểm hoạt động nào không. Câu hỏi cuối cùng - nơi lưu trữ danh sách điểm? HTML5 đã giới thiệu khả năng sử dụng localStorage, vì vậy đừng bỏ qua nó (Tôi sẽ để bạn tự tìm ra những phần này của mã, điều mà tôi đã nhận xét rất rõ). Vậy là ứng dụng chạy trên trình duyệt đã sẵn sàng!

Khởi chạy một ứng dụng web

Như tôi đã nói trước đây, việc gỡ lỗi chủ yếu cần được thực hiện trên máy tính. Trình duyệt phù hợp nhất để thử nghiệm ứng dụng web trên máy tính là Safari hoặc Chrome. Sau khi gỡ lỗi trong các trình duyệt này, bạn có thể chắc chắn rằng ứng dụng của mình sẽ không hoạt động trong trình duyệt trên điện thoại di động. Cả hai trình duyệt này đều tương thích với hầu hết các trình duyệt web di động vì chúng được xây dựng trên công cụ WebKit giống như chúng. Sau khi loại bỏ tất cả các lỗi, bạn có thể tiến hành khởi chạy ứng dụng web di động trực tiếp trên điện thoại của mình. Để thực hiện việc này, hãy định cấu hình máy chủ web của bạn (thậm chí Denwer hoặc XAMPP) để nó phục vụ trang đã tạo và mở nó trong trình duyệt trên điện thoại di động của bạn. Ứng dụng này sẽ trông giống như ứng dụng được hiển thị trong hình. Điều quan trọng cần hiểu ở đây là ứng dụng di động trong tương lai được biên dịch cho nền tảng di động sử dụng PhoneGap sẽ trông gần như giống hệt nhau, ngoại trừ thanh điều hướng trình duyệt sẽ không được hiển thị trên màn hình. Nếu mọi việc đều ổn, bạn có thể bắt đầu tạo một ứng dụng iOS chính thức từ trang này. Xin lưu ý rằng cho đến thời điểm này, chúng tôi thậm chí còn chưa đề cập đến PhoneGap và IDE để phát triển thiết bị di động.

Sự chuẩn bị

Để xây dựng ứng dụng cho iOS, bạn cần có máy tính có hệ điều hành Mac OS 10.6+ (hoặc máy ảo trên Mac OS 10.6), cũng như môi trường phát triển Xcode có cài đặt SDK iOS. Nếu chưa cài đặt SDK, bạn sẽ phải tải xuống disk image từ trang web của Apple bao gồm Xcode và SDK iOS (developer.apple.com/devcenter/ios/index.action). Hãy nhớ rằng hình ảnh nặng khoảng 4 GB. Ngoài ra, bạn sẽ cần phải đăng ký trên trang web của Apple với tư cách là nhà phát triển (nếu bạn không định xuất bản ứng dụng của mình trong AppStore thì có thể bỏ qua yêu cầu này). Sử dụng bộ này, bạn có thể phát triển ứng dụng bằng ngôn ngữ iOS gốc Objective-C. Nhưng chúng tôi đã quyết định tìm giải pháp thay thế và sử dụng PhoneGap, vì vậy chúng tôi vẫn cần cài đặt gói PhoneGap iOS. Chỉ cần tải xuống kho lưu trữ từ ngoại vi (https://github.com/callback/phonegap/zipball/1.2.0), giải nén và chạy trình cài đặt trong thư mục iOS. Khi quá trình cài đặt hoàn tất, biểu tượng PhoneGap sẽ xuất hiện trong menu dự án Xcode. Sau khi khởi chạy, bạn sẽ phải điền vào một số biểu mẫu, nhưng bạn sẽ sớm thấy không gian làm việc IDE với ứng dụng đầu tiên của mình. Để kiểm tra xem mọi thứ có hoạt động hay không, hãy nhấp vào nút Chạy - trình mô phỏng iPhone/iPad có ứng dụng mẫu PhoneGap sẽ khởi động. Chương trình đã được biên dịch sẽ tạo ra lỗi cho biết không tìm thấy index.html - điều này là bình thường. Mở thư mục mà bạn đã lưu các tệp dự án chính và tìm thư mục con www trong đó. Kéo nó vào trình chỉnh sửa, nhấp vào biểu tượng ứng dụng trong danh sách bên trái và trong cửa sổ xuất hiện, chọn “Tạo tham chiếu thư mục cho mọi thư mục đã thêm”. Nếu bạn chạy lại chương trình, mọi thứ sẽ hoạt động. Bây giờ chúng ta có thể sao chép tất cả các tệp của nguyên mẫu vào thư mục www. Đã đến lúc điều chỉnh nguyên mẫu của chúng tôi để hoạt động trên điện thoại thông minh bằng cách xử lý PhoneGap.

Chuyển giao nguyên mẫu

Trước hết, bạn cần đưa phonegap-1.2.0.js vào tệp chỉ mục của mình. PhoneGap cho phép bạn giới hạn danh sách máy chủ có sẵn để truy cập. Tôi khuyên bạn nên lập ngay một “danh sách trắng” như vậy. Trong menu dự án, hãy mở Tệp hỗ trợ/PhoneGap.plist, tìm mục Internalhosts và thêm vào đó các máy chủ sau mà ứng dụng của chúng tôi sẽ truy cập (đây là các máy chủ Google Maps): *.gstatic.com, *.googleapis.com, maps .google.com. Nếu bạn không chỉ định chúng, chương trình sẽ hiển thị cảnh báo trong bảng điều khiển và bản đồ sẽ không được hiển thị. Để khởi tạo phiên bản web của ứng dụng, chúng tôi đã sử dụng sự kiện DOMReady hoặc trình trợ giúp jQuery: $(document).ready(). PhoneGap tạo sự kiện sẵn sàng cho thiết bị, cho biết thiết bị di động đã sẵn sàng. Tôi đề nghị sử dụng cái này:

Document.addEventListener("deviceready", function () ( new Notificator($("#map-canvas")); // Nếu người dùng không có Internet, // thông báo cho anh ta về điều đó nếu (navigator.network.connection. type = == Connection.NONE) ( navigator.notification.alert("Không có kết nối Internet", $.noop, TITLE); ) ), false);
Hãy ngăn chặn việc cuộn: document.addEventListener("touchmove", function (event) ( event.preventDefault(); ), false);

Sau đó, chúng tôi sẽ thay thế tất cả các cuộc gọi cảnh báo và xác nhận bằng các cuộc gọi gốc mà PhoneGap cung cấp cho chúng tôi:

Navigator.notification.confirm("Xóa điểm?", function (button_id) ( if (button_id === 1) ( // Nhấn nút OK self.removePoint(point); ) ), TITLE);

Điều cuối cùng chúng ta cần thay đổi là khối mã di chuyển biểu tượng người dùng xung quanh bản đồ. Mã hiện tại của chúng tôi cũng hoạt động, nhưng nó hoạt động kém tối ưu hơn (nó di chuyển biểu tượng ngay cả khi tọa độ không thay đổi) và không cung cấp dữ liệu phong phú như đối tác PhoneGap:

Navigator.geolocation.watchPosition(hàm (vị trí) ( self.movePerson(new gm.LatLng(position.coords.latitude, location.coords.longitude)); ), hàm (lỗi) ( navigator.notification.alert("code: " + error.code + "\nmessage: " + error.message, $.noop, TITLE); ), ( tần số: 3000 ));

Mã này thanh lịch hơn - nó chỉ tạo ra sự kiện khi tọa độ đã thay đổi. Nhấp vào nút Chạy và đảm bảo rằng ứng dụng chúng tôi vừa tạo hoạt động hoàn hảo trong trình mô phỏng thiết bị iOS! Đã đến lúc bắt đầu khởi chạy trên thiết bị thực.

Khởi chạy trên thiết bị

Kết nối iPhone, iPod hoặc iPad của bạn với máy tính chạy Xcode. Chương trình sẽ phát hiện một thiết bị mới và xin phép sử dụng nó để phát triển. Không có lý do gì để từ chối cô ấy :). Hãy để tôi nhắc lại một lần nữa: để chạy một ứng dụng bằng văn bản trên iOS, bạn phải là nhà phát triển iOS được ủy quyền (nói cách khác, đã đăng ký Chương trình nhà phát triển iOS). Điều này sẽ chỉ làm phiền bạn nếu bạn đang phát triển ứng dụng cho các sản phẩm của Apple, với các nền tảng khác (Android, Windows Phone), mọi thứ đơn giản hơn nhiều. Những người đang theo học tại một trường đại học có cơ hội được tiếp cận chương trình miễn phí nhờ một số lợi ích. Những người khác phải trả 99 USD mỗi năm để tham gia chương trình. Apple cấp chứng chỉ để bạn có thể ký mã của mình. Ứng dụng đã ký được phép khởi chạy trên iOS và phân phối trong App Store. Nếu bạn không phải là sinh viên và bạn vẫn cảm thấy tiếc 99 đô la cho những thí nghiệm vô tội, thì có một cách khác - đánh lừa hệ thống. Bạn có thể tạo chứng chỉ tự ký để xác minh mã và chạy chương trình di động trên thiết bị iOS đã bẻ khóa (Tôi sẽ không đề cập đến vấn đề này vì mọi thứ được mô tả chi tiết nhất có thể trong bài viết này: bit.ly/tD6xAf) . Bằng cách này hay cách khác, bạn sẽ sớm thấy một ứng dụng đang hoạt động trên màn hình điện thoại di động của mình. Dừng đồng hồ bấm giờ. nó đã mất bao lâu?

Nền tảng khác

Ngoài PhoneGap, còn có những nền tảng khác cho phép bạn tạo ứng dụng di động mà không cần sử dụng ngôn ngữ bản địa. Hãy liệt kê những cầu thủ tuyệt vời nhất.

Appcelerator Titanium (www.appcelerator.com).

Titanium có thể xây dựng các ứng dụng chủ yếu cho Android và iPhone, nhưng nó cũng tuyên bố hỗ trợ BlackBerry. Ngoài chính khung, dự án còn cung cấp một bộ tiện ích gốc và IDE. Bạn có thể phát triển ứng dụng trên Titanium miễn phí nhưng bạn sẽ phải trả tiền để được hỗ trợ và các mô-đun bổ sung (từ $49 mỗi tháng). Giá của một số mô-đun của bên thứ ba đạt 120 USD mỗi năm. Các nhà phát triển của Appcelerator Titanium tuyên bố rằng hơn 25 nghìn ứng dụng đã được viết dựa trên framework của họ. Mã nguồn của dự án được phân phối theo giấy phép Apache 2.

Corona SDK (www.anscamobile.com/corona).

Công nghệ này hỗ trợ các nền tảng chính - iOS và Android. Khung này chủ yếu nhằm mục đích phát triển trò chơi. Tất nhiên, các nhà phát triển yêu cầu tối ưu hóa chất lượng cao trên OpenGL. Nền tảng này không có phiên bản miễn phí và giá khá cao: 199 USD/năm cho giấy phép cho một nền tảng và 349 USD/năm cho iOS và Android. Corona cung cấp trình giả lập thiết bị và IDE của riêng mình. Các ứng dụng Corona được viết bằng ngôn ngữ tương tự như JavaScript.

Phần kết luận

Chúng tôi đã tạo một ứng dụng web di động đơn giản và chuyển nó sang nền tảng iOS bằng PhoneGap chỉ bằng một vài bước đơn giản. Chúng tôi không viết một dòng mã Objective-C nào, nhưng chúng tôi có một chương trình có chất lượng khá, dành thời gian tối thiểu để chuyển và tìm hiểu API PhoneGap. Nếu bạn thích nền tảng khác, chẳng hạn như Android hoặc Windows Mobile 7, thì bạn có thể dễ dàng, không cần bất kỳ thay đổi nào đối với các nền tảng này, xây dựng ứng dụng của chúng tôi (đối với mỗi nền tảng đều có hướng dẫn giới thiệu và video hướng dẫn hay: phonegap.com/ bắt đầu) . Để xác minh khả năng tồn tại của nền tảng, bạn có thể xem các ứng dụng làm sẵn trên PhoneGap mà các nhà phát triển công nghệ đã thu thập trong một thư viện đặc biệt (phonegap.com/apps). Trên thực tế, PhoneGap là một nền tảng lý tưởng để tạo ra ít nhất một nguyên mẫu của một ứng dụng trong tương lai. Ưu điểm chính của nó là tốc độ và chi phí tối thiểu, được sử dụng tích cực bởi các công ty khởi nghiệp bị hạn chế về nguồn lực về mọi mặt. Nếu ứng dụng bị lỗi và vì lý do nào đó bạn không còn hài lòng với phần bên trong HTML+JS nữa, bạn luôn có thể chuyển ứng dụng sang ngôn ngữ bản địa. Tôi không thể không nói rằng PhoneGap ban đầu được Nitobi phát triển như một dự án nguồn mở (kho lưu trữ nằm trên GitHub: github.com/phonegap). Mã nguồn sẽ tiếp tục được mở mặc dù Adobe đã mua Nitobi vào tháng 10 năm ngoái. Tôi có cần nói dự án có triển vọng gì với sự hỗ trợ của một gã khổng lồ như vậy không?

Hệ điều hành Android là một trong những nền tảng di động phổ biến nhất trên thế giới hiện nay. Hầu hết mọi chủ sở hữu điện thoại thông minh Android đều mong muốn có được một ứng dụng độc đáo phù hợp với mình trong một trường hợp cụ thể, nhưng không phải lúc nào cũng có thể tìm được một ứng dụng như vậy. Trong bài viết này, chúng tôi sẽ nói chuyện với bạn về cách tự tạo một ứng dụng Android bằng các phương pháp miễn phí.

Do sự phát triển nhanh chóng của nền tảng Android, một số chức năng của các chương trình được mô tả có thể thay đổi, vì vậy để làm rõ mọi chi tiết, hãy viết vào phần bình luận. Phiên bản cuối cùng - 20/01/2018.

Đương nhiên, sự tiến bộ không đứng yên và với sự phát triển của HĐH Android, ngày càng có nhiều cơ hội để tạo ra nhiều loại ứng dụng phù hợp với nó. Và nếu gần đây chỉ có chuyên gia nghiên cứu về vấn đề này ở viện mới có thể tạo ra nó thì bây giờ anh ấy đã có thể làm được bất kỳ chủ sở hữu nào của điện thoại hoặc máy tính bảng Android trực tuyến.

Người dùng có thể tạo ứng dụng của riêng mình để làm hài lòng bản thân bằng một chương trình độc đáo. Hoặc họ có thể làm điều đó để kiếm được một số tiền. Ngày nay Internet cung cấp tất cả các cơ hội cho việc này.

Các công cụ được mô tả bên dưới sẽ cho phép bạn tạo ứng dụng của riêng mình theo nhiều giai đoạn.

Một số chương trình được trình bày cho phép bạn không chỉ làm mà còn kiếm tiền ngay lập tức của anh ấy. Ngoài ra, bất kỳ ứng dụng nào đã tạo đều có thể được đưa vào hệ thống Google Play.

Bốn cách để tự tạo một ứng dụng Android

Dưới đây bạn sẽ tìm thấy bốn “công cụ” cho phép bạn tạo một ứng dụng như vậy một cách nhanh chóng và không cần nhiều kiến ​​thức. Những chương trình như vậy gợi nhớ đến các bộ công cụ xây dựng cho phép bạn tạo ra mọi thứ bạn cần theo từng khối, tương tự như việc lắp ráp bộ công cụ xây dựng LEGO quen thuộc.

Tất cả các chương trình được trình bày ở đây đã được lựa chọn theo các tiêu chí sau:

  • Sử dụng thuận tiện. Đương nhiên, những ưu đãi này sẽ không được sử dụng bởi các chuyên gia được đào tạo mà bởi những người dùng bình thường, như bạn và tôi. Đó là lý do tại sao ứng dụng phải rất tiện lợi, đầy đủ chức năng và dễ sử dụng.
  • Giao diện đơn giản trực quan. Nói một cách hợp lý, điểm này dường như tiếp nối điểm trước, có nghĩa là chương trình không chỉ thuận tiện mà còn phải trực quan.
  • Chức năng tuyệt vời. Nhiều cách khác nhau để tạo một ứng dụng là một điểm cộng rõ ràng. Mặc dù nhìn chung tất cả các chương trình được trình bày đều có chức năng giống nhau, ngoại trừ một số chi tiết nhỏ.

Dưới đây chúng ta sẽ xem xét một số công cụ sẽ giúp bạn tạo ứng dụng đầu tiên của mình.

App Builder - một công cụ đơn giản để tạo ứng dụng

Tùy chọn này là một cách hay để tạo ứng dụng của riêng bạn một cách nhanh chóng. Không còn nghi ngờ gì nữa, tin tốt là bạn có thể sử dụng nó mà không cần đầu tư một xu nào, điều đó có nghĩa là miễn phí. Mặc dù ở đây cũng có những nhược điểm, ít nhất là nó hoàn toàn bằng tiếng Anh (sau bản cập nhật vào tháng 12 năm 2017, tiếng Nga đã được thêm vào).

Tính năng chương trình

  • Có rất nhiều mẫu để tạo một ứng dụng. Nếu bạn nghĩ đến một số ứng dụng đơn giản thì chương trình này sẽ dễ dàng giúp bạn chọn một mẫu;
  • Sau khi tạo ứng dụng, bạn có thể theo dõi số liệu thống kê của nó;
  • Nếu bạn tạo một ứng dụng và vượt qua quá trình đánh giá, ứng dụng đó có thể được liệt kê dễ dàng và khá dễ dàng trên Cửa hàng Google Play.

AppsGeyser - trang web giúp bạn tự tạo các ứng dụng Android chất lượng cao

Trang web chính thức - https://www.appsgeyser.com

Công cụ này tốt hơn công cụ trước vì có nhiều cơ hội hơn để tạo ứng dụng của riêng bạn. Trang web cho phép bạn tạo chương trình của riêng mình chỉ trong vài phút. Trình chỉnh sửa này là trình chỉnh sửa đơn giản nhất mà chúng tôi đã gặp. Danh sách các ứng dụng mà nó sẽ giúp bạn tạo ra rất lớn, bắt đầu từ trình duyệt thông thường và kết thúc bằng trình nhắn tin của riêng bạn.

Lợi ích của AppsGeyser

  • Ứng dụng này được viết khá nhanh, theo đúng nghĩa đen chỉ trong vài cú nhấp chuột;
  • Nó cho phép bạn tạo các trò chơi đơn giản cho Android, bởi vì bạn phải thừa nhận rằng không phải công cụ nào ngày nay cũng có thể làm được điều này;
  • Sau khi ứng dụng đã sẵn sàng, nó có thể dễ dàng được đưa vào cửa hàng Google Play;
  • Ngoài ra, bạn có thể kiếm tiền trực tiếp từ chương trình của mình thông qua dịch vụ AppsGeyser. Đây là một chức năng hữu ích vì bằng cách thể hiện trí tưởng tượng của mình, bạn cũng có thể kiếm tiền từ nó;
  • Tạo, chỉnh sửa, xuất bản ứng dụng trực tuyến trong tài khoản cá nhân của bạn (để lưu kết quả).

IbuildApp - một công cụ mạnh mẽ để phát triển các dự án của riêng bạn

Công cụ này xứng đáng được xem xét thực sự kỹ lưỡng. Như chúng tôi đã thảo luận ở trên, bạn không cần biết ngôn ngữ lập trình để tạo ứng dụng Android. Nền tảng phát triển đơn giản đến mức việc tạo ứng dụng của riêng bạn sẽ rất đơn giản. Quá trình này sẽ chỉ mất vài phút, nhưng kết quả sẽ rõ ràng.

Trang web IbuildApp có cả gói trả phí (phát triển một ứng dụng riêng lẻ, với sự phát triển hơn nữa) và các mẫu miễn phí, trong đó có rất nhiều mẫu.

Trang web chính thức của Nga - https://russia.ibuildapp.com

Hãy xem nó có thể làm gì:

  • Một kho lưu trữ khổng lồ các chủ đề về nhiều chủ đề khác nhau: đó có thể là nhà hàng, quán cà phê, hoạt động thể thao và nhiều chủ đề khác cho phép bạn chọn bất cứ thứ gì bạn muốn. Tất cả những gì bạn cần làm là chọn một cái gì đó cụ thể và sau đó chỉnh sửa nó cho phù hợp với nhu cầu của bạn;
  • Nó cũng có các cách tích hợp để quảng bá ứng dụng đã tạo. Chương trình không chỉ giúp bạn nhanh chóng tạo một ứng dụng mà còn quảng bá nó. Trong những trường hợp khác, quá trình này mất rất nhiều thời gian;
  • Ngoài ra, bạn sẽ có thể kết nối ứng dụng với mạng quảng cáo, nghĩa là bạn sẽ kiếm được tiền từ nó.

AppsMakerstore - nền tảng tạo các chương trình đơn giản

Trang web chính thức - https://appsmakerstore.com

Nền tảng thú vị thứ tư được thiết kế để tạo các ứng dụng Android. Có lẽ một trong những lợi thế quan trọng nhất là bằng cách sử dụng trang web AppsMakerStore, bạn có thể tạo các chương trình đa nền tảng (ví dụ: trên Android, iOS và Windows Phone)

Hãy xem xét những lợi thế của nền tảng:

  • Làm việc với nhà thiết kế diễn ra trực tuyến;
  • Khả năng đăng ký miễn phí;
  • Viết ứng dụng bằng cách sử dụng các bố cục có sẵn, đồng thời cung cấp cho mỗi người dùng một lượng lớn các mẫu về chủ đề.

Video hướng dẫn tạo ứng dụng bằng APK Creator


Chỉ vậy thôi, chúng tôi hy vọng rằng bạn đã tìm thấy những gì mình đang tìm kiếm và hài lòng với lựa chọn của chúng tôi. Bộ công cụ này sẽ trở thành một thứ đặc biệt đối với một lập trình viên mới làm quen và sẽ cho phép bạn hiểu được sự phức tạp của việc tạo các ứng dụng đơn giản miễn phí.

Lập trình là một trong những lĩnh vực mà mọi người đều có thể cảm thấy mình là người sáng tạo. Thông thường nó đề cập đến việc phát triển các ứng dụng cho máy tính cá nhân, các đơn vị thiết bị sản xuất hoặc đơn giản là các sản phẩm điện tử tự chế. Nhưng với sự phổ biến của các thiết bị di động màn hình cảm ứng, việc lập trình cho Android, iOS hoặc một hệ thống khác thuộc loại tương tự ngày càng trở nên phổ biến. Vâng, tôi phải thừa nhận, đây là một nghề nghiệp đầy hứa hẹn. Vì vậy, trong khuôn khổ bài viết, chúng ta sẽ xem xét việc chạy Android từ đầu. Có những tính năng gì? Ngôn ngữ nào được sử dụng?

Tạo chương trình

Trước khi tự viết chương trình, bạn cần nghiên cứu tất cả các thành phần cần thiết cho việc này:

  1. Ngôn ngữ.
  2. Chọn môi trường phát triển của bạn. Chúng tôi cũng sẽ tập trung vào ngôn ngữ một cách chi tiết, cũng như các sản phẩm phần mềm nơi ứng dụng sẽ được tạo. Nhưng trước tiên, hãy nói một chút về môi trường phát triển. Thông thường, chúng có thể được chia thành ba thành phần:
  • đồ họa;
  • bình thường;
  • trực tuyến.

Về việc tạo ra các chương trình, cần lưu ý rằng hiện nay rất khó để đưa ra một ý tưởng mà trước đây chưa được thực hiện. Vì vậy, nếu có vấn đề phát sinh hoặc đơn giản là do thiếu kiến ​​​​thức, cần phải trình bày chính xác những hiểu lầm đã phát sinh và chuyển sang những lập trình viên giàu kinh nghiệm hơn. Họ sẽ có thể giúp bạn tạo chương trình với những lời khuyên mang tính xây dựng.

Chương trình được viết bằng ngôn ngữ gì?

Java được sử dụng cho những mục đích này. Cần lưu ý rằng đây là một ngôn ngữ lập trình khá phức tạp. Nhưng để tạo ứng dụng của riêng mình, bạn không cần phải biết đầy đủ về nó. Kiến thức và kỹ năng cơ bản khi làm việc với thông tin tham khảo sẽ đủ để bạn có câu trả lời cho câu hỏi của mình. Ngoài ra, có một số cài đặt trước nhất định, bằng cách sử dụng, bạn có thể thực hiện một số bước để tạo ứng dụng mà không gặp vấn đề gì đáng kể. Sau đó, lập trình cho Android trở thành một niềm vui.

Chọn môi trường phát triển thường xuyên

Eclipse và Android SDK được coi là những người chơi lớn nhất. Cả hai đều miễn phí. Nhìn chung, cần lưu ý rằng các môi trường phát triển này là những đối thủ cạnh tranh nghiêm trọng và mỗi môi trường đều có một số điểm mạnh và điểm yếu. Mỗi người trong số họ đều đáng để nghiên cứu. Riêng biệt, chúng ta hãy tập trung một chút vào một khía cạnh của SDK Android - trình mô phỏng. Đây là một chương trình giả vờ là điện thoại hoặc máy tính bảng chạy trên Android. Trình giả lập chạy mượt mà trên máy tính thông thường và trông giống như một thiết bị di động tiêu chuẩn trên máy tính để bàn. Chỉ có một điểm đặc biệt - nó được điều khiển bằng chuột và bàn phím chứ không phải bằng ngón tay của bạn. Trong trình mô phỏng, bạn có thể kiểm tra chức năng của ứng dụng đối với các tiện ích mở rộng màn hình khác nhau cũng như trên các phiên bản khác nhau của hệ điều hành di động Android. Vì vậy, dù bạn nghe có vẻ lạ lùng đến thế nào thì khi phát triển các ứng dụng dành cho Android, việc có điện thoại là không cần thiết chút nào.

Bạn cần gì để phát triển ứng dụng của mình?

Môi trường phát triển đồ họa

Tùy chọn này phù hợp với những người không có ý tưởng gì về lập trình nói chung nhưng muốn nhận ứng dụng của họ ngay bây giờ. Trước tiên, bạn nên làm quen với mô tả và khả năng của môi trường phát triển đồ họa. Vì vậy, một số chỉ có thể đặt những phần tử đơn giản nhất và gắn chức năng tối thiểu cho chúng. Tốt hơn là không nên sử dụng những tài nguyên như vậy, vì với sự trợ giúp của chúng, sẽ khó hiểu được logic của công việc và tạo ra sản phẩm cuối cùng được phát triển. Nên lựa chọn theo các thông số sau:

  1. Sự sẵn có của một giao diện trực quan.
  2. Sử dụng logic vận hành rõ ràng.
  3. Khả năng tạo các phần tử ở chế độ đồ họa và mã.
  4. Có sẵn tài liệu để làm việc với môi trường phát triển và diễn đàn hỗ trợ.

Môi trường phát triển trực tuyến

Chúng có thể cung cấp khá nhiều chức năng trong một điểm truy cập đơn giản - Internet. “Môi trường phát triển trực tuyến” có lẽ đã nói lên tất cả. Mặc dù cần phải làm rõ rằng trong Android, đây vẫn không phải là một nhiệm vụ dễ dàng. Vì vậy, khó khăn nhất sẽ là triển khai các game bắn súng và ứng dụng có độ phức tạp tương tự. Nhưng các chương trình có định dạng văn bản và truyền dữ liệu rất dễ dàng.

Phần kết luận

Chúng tôi hy vọng không còn câu hỏi nào về những bước chuẩn bị đầu tiên để tạo chương trình của riêng bạn. Nếu bạn quyết định nghiêm túc với việc lập trình, thì bạn có thể sử dụng tài liệu đặc biệt. Ví dụ: cuốn sách Lập trình cho Android của Hardy Brian. Tất nhiên, đây không phải là công việc tốt duy nhất, nhưng bạn phải bắt đầu từ đâu đó. Bằng cách đọc hướng dẫn này, bạn có thể bắt đầu con đường dẫn đến thành công.

Hệ điều hành Android được cài đặt trên 66,71% thiết bị di động trên thế giới. Vì vậy, không có gì đáng ngạc nhiên khi nhiều chuyên gia CNTT mới vào nghề muốn hiện thực hóa tham vọng của mình trên nền tảng này.

Gần đây nhất trên GeekBrains, chúng tôi đã đề cập đến nền tảng di động, nhưng lần này chúng tôi sẽ xem xét kỹ hơn về Android. Dưới đây là 10 ngôn ngữ sẽ cho phép bạn tạo một ứng dụng di động thuộc mọi loại và độ phức tạp:

Java

Sẽ không quá lời khi gọi Java là ngôn ngữ chính thức của Android. Trong mọi trường hợp, hầu hết tất cả tài liệu giáo dục, tất cả các khóa học trực tuyến đều dựa trên điều này. Nó cũng là ngôn ngữ phổ biến nhất theo TIOBE, đứng thứ hai về số lượng nguồn trên GitHub và nói chung là một ngôn ngữ rất đẹp. Đây là lý do tại sao việc học Java phải là ưu tiên hàng đầu của bất kỳ nhà phát triển Android nào. Mặc dù điều đó sẽ không dễ dàng (xét cho cùng, ngôn ngữ này đã 22 tuổi và sự dễ dàng chưa bao giờ là điểm mạnh của nó), mặc dù về mặt lý thuyết, bạn có thể sử dụng các ngôn ngữ hiện đại hơn, hãy nhớ rằng - không thể đạt được thành công đáng kể trên Android mà không hiểu rõ về Java, chưa kể mã nguồn cụ thể.

C#

Với tất cả sự hoài nghi vô tận hướng tới các sản phẩm của Microsoft, cần phải thừa nhận rằng C# không xứng đáng với điều đó. Đây là một ngôn ngữ tuyệt vời đã tiếp thu tất cả những gì tốt nhất từ ​​Java, đồng thời tính đến và sửa chữa nhiều thiếu sót.

Khi nói đến phát triển ứng dụng Android, bạn có thể sử dụng một trong những môi trường có nhiều chức năng nhất: Visual và Xamarin Studio. Và biết C# sẽ là một phần thưởng tuyệt vời cho bạn khi sử dụng Unity 3D. Với bộ này khả năng là vô tận.

Python

Chỉ vì Android không hỗ trợ sử dụng Python để xây dựng ứng dụng gốc không có nghĩa là không thể. Những người hâm mộ ngôn ngữ rắn này đã phát triển nhiều công cụ cho phép bạn biên dịch mã Python sang trạng thái cần thiết.

Framework phổ biến nhất là Kivy, có thể dễ dàng giúp bạn tạo một ứng dụng cho Play Market bằng Python thuần túy. Và nếu không, các nhà phát triển tốt bụng sẽ trợ giúp trong cuộc trò chuyện. Nếu bạn chưa thành thạo nó, chúng tôi khuyên bạn nên dùng nó.

Kotlin

Trong phần viết về, tôi đã cố gắng giải thích tại sao bản thân Kotlin là một ngôn ngữ xuất sắc và khi kết hợp với Java, nó thậm chí còn tốt hơn. Quả thực, chỉ mới được phát hành chính thức cách đây một năm, Kotlin đang nhanh chóng chiếm được cảm tình của các nhà phát triển trên toàn thế giới với việc gần như hoàn toàn không có khuyết điểm.

Với sự trợ giúp của nó (chính xác hơn là với sự trợ giúp của môi trường IntelliJ IDEA gốc), bạn sẽ không cảm thấy bất kỳ vấn đề nào trong việc phát triển ứng dụng gốc cho Android. Đồng thời, nhu cầu về chuyên gia Kotlin vẫn còn thấp, điều đó có nghĩa là khi tích lũy kinh nghiệm làm việc với nó, bạn có nguy cơ đạt được lợi thế cạnh tranh trong tương lai.

Ngôn ngữ web

Bộ ngôn ngữ nhân viên web tiêu chuẩn: HTML, CSS và JavaScript. Nếu không biết 3 ngôn ngữ này, bạn sẽ tự thu mình vào việc phát triển các ứng dụng với trọng tâm khá hẹp. Ngay cả khi bạn không muốn chạm trực tiếp vào web trong công việc tương lai của mình, bạn cũng khó có thể tránh được các ứng dụng kết hợp.

Bạn có thể làm việc với HTML, CSS và JavaScript bằng môi trường PhoneGap Build hoặc trong trường hợp chuyên biệt hơn là Adobe Cordova. Chúng sẽ không đòi hỏi nhiều kiến ​​thức từ bạn nhưng sẽ mang lại kết quả. Hoặc từ phiên bản trước, React Native từ Facebook là cấp độ tương tác dễ dàng tiếp theo nhưng lại tích lũy được rất ít kinh nghiệm và tài liệu. Nói chung là chọn, may là có nhiều thứ để lựa chọn.

Lua

Một ngôn ngữ cũ hơn Java, ít phổ biến hơn nhiều nhưng vẫn có nhu cầu. Nó có một số ưu điểm, chẳng hạn như kiểu gõ động và cú pháp tương đối đơn giản, nhưng nó vẫn tồn tại cho đến ngày nay nhờ liên quan đến trò chơi. Chính sự tiện lợi của việc tạo ra một lớp phần mềm giữa động cơ và lớp vỏ đã mở ra cánh cửa cho Lua đến với thế giới của những thiết bị bỏ túi.

Corona SDK là môi trường để phát triển các ứng dụng di động đa nền tảng, chủ yếu là trò chơi, trong đó công cụ chính là Lua. Kể từ năm 2015, nó đã được phân phối miễn phí, được thiết kế cho các nhà phát triển mới bắt đầu, ngoài ra bạn có thể tìm thấy nhiều thông tin hữu ích ở cả phân khúc tiếng Anh và tiếng Nga trên Internet.

C/C++

Google thực sự cung cấp cho các nhà phát triển hai môi trường phát triển: SDK, được thiết kế để hoạt động với Java và NDK, trong đó ngôn ngữ gốc là C/C++. Có, tất nhiên, bạn sẽ không viết toàn bộ ứng dụng chỉ bằng những ngôn ngữ này, nhưng với sự trợ giúp của chúng, bạn có thể tạo một thư viện mà sau này bạn có thể kết nối với phần chính của chương trình bằng Java.

Mặc dù đại đa số các nhà phát triển không quan tâm đến NDK, nhưng bằng cách sử dụng công cụ này, bạn sẽ nhận được kết quả tốt hơn về hiệu suất và việc sử dụng tài nguyên nội bộ. Và đây chính xác là điều trên Android phân biệt ý tưởng ứng dụng hay với việc triển khai tốt.

Bạn viết bằng ngôn ngữ nào?

Xin lưu ý rằng studio liên tục được cập nhật nên giao diện của cửa sổ và các chi tiết khác có thể khác với ví dụ này. Hầu hết các bài học trên trang hiện nay đều sử dụng phiên bản 2.3. Vào ngày 25 tháng 10 năm 2017, phiên bản 3.0 đã được phát hành, trong đó có rất nhiều thay đổi. Trong bài viết này tôi đã cố gắng thay thế tất cả các hình ảnh bằng phiên bản mới.

Java được sử dụng làm ngôn ngữ lập trình cho Android. XML được sử dụng để tạo giao diện người dùng.

Ở đây chúng ta nên thực hiện một sự lạc đề nhỏ. Android Studio 3.0 bổ sung hỗ trợ đầy đủ cho ngôn ngữ Kotlin mới do Kotans phát triển. Google đã công bố kế hoạch biến ngôn ngữ "mèo" mới thành ngôn ngữ chính. Nhưng bạn phải hiểu rằng một số lượng lớn các ví dụ đã được viết bằng Java trong những năm qua. Nếu bạn là người mới làm quen với lập trình, tốt hơn hết bạn nên tập trung hoàn toàn vào Java trong thời gian đào tạo đầu tiên, bạn sẽ dễ dàng tìm được câu trả lời cho các câu hỏi hơn. Kotlin sẽ không thoát khỏi bạn, sau này chuyển sang nó sẽ dễ dàng hơn nhưng quá trình ngược lại sẽ khó khăn hơn. Khi đã làm quen một chút với Java, bạn có thể đồng thời nghiên cứu các ví dụ trong Kotlin. Google hiện đang tích cực viết lại tài liệu cho Kotlin, nhưng quá trình chuyển đổi hoàn toàn vẫn còn rất xa, thậm chí chưa đến 50%. Một lát sau tôi cũng sẽ học cách sử dụng Kotlin, nhưng điều này sẽ không sớm.

Theo một truyền thống được hình thành từ thế kỷ trước, mọi lập trình viên đều phải viết “Xin chào thế giới!” (Xin chào thế giới!) là chương trình đầu tiên. Thời thế đang thay đổi và Hello World! đã được tích hợp sẵn vào môi trường phát triển Android nhằm mục đích tương thích và các lập trình viên hiện đại phải viết chương trình Hello Kitty!(Chào Kitty!). Đồng ý rằng việc chào một chú mèo con có ý nghĩa thông thường hơn là chào bất kỳ thế giới nào khác.

Vì vậy, chúng tôi sẽ chia vấn đề thành hai phần. Trước tiên, hãy chạy chương trình đã hoàn thành mà không cần viết bất kỳ mã nào để đảm bảo rằng tất cả các công cụ đều được cài đặt chính xác và chúng ta có thể tạo và gỡ lỗi chương trình. Và sau đó chúng ta sẽ viết chương trình đầu tiên của mình.

Tạo một dự án mới

Khởi chạy Studio và chọn Tập tin | Mới | Dự án mới.... Một hộp thoại thuật sĩ sẽ xuất hiện.

Cánh đồng Tên ứng dụng- một tên thân thiện cho ứng dụng sẽ được hiển thị trong tiêu đề ứng dụng. Theo mặc định, bạn có thể đã có Ứng dụng của tôi. Hãy thay thế nó bằng . Về cơ bản bạn có thể viết ở đây và Chào thế giới!, nhưng Android có khả năng tuyệt vời để xuất các chuỗi mong muốn trên điện thoại có các ngôn ngữ khác nhau. Giả sử điện thoại của người Mỹ sẽ có dòng chữ bằng tiếng Anh và điện thoại của người Nga sẽ có dòng chữ bằng tiếng Nga. Do đó, cài đặt ban đầu luôn sử dụng các biến thể tiếng Anh và chuẩn bị các chuỗi bản địa hóa sau này. Cần phát triển ngay thói quen viết mã đúng.

Cánh đồng Tên miền công ty dùng để chỉ ra trang web của bạn. Theo mặc định, tên người dùng máy tính của bạn có thể xuất hiện ở đó. Nếu bạn có một trang web, bạn có thể nhập địa chỉ của nó hoặc nghĩ ra một số tên. Tên đã nhập sẽ được ghi nhớ và sẽ tự động được thay thế trong các dự án mới tiếp theo. Tuy nhiên, tiết kiệm.

Trường thứ ba Địa điểm dự án cho phép bạn chọn vị trí đĩa cho dự án đã tạo. Bạn có thể tạo một thư mục riêng trên đĩa cho các dự án của mình và lưu trữ các chương trình của mình trong đó. Studio ghi nhớ thư mục cuối cùng và sẽ tự động đề xuất lưu vào đó. Nếu cần, bạn có thể đặt vị trí khác cho từng dự án bằng nút ba chấm.

Cánh đồng Tên gói hàng tạo một gói Java đặc biệt dựa trên tên của bạn từ trường trước đó. Java sử dụng phiên bản đảo ngược để đặt tên các gói nên nó được đặt trước ru, sau đó là tên của trang web. Gói này dùng để nhận dạng duy nhất ứng dụng của bạn khi bạn phân phối nó. Nếu một trăm người viết ra một trăm ứng dụng với cái tên "Cat", thì sẽ không rõ ứng dụng do nhà phát triển Vasily Kotov viết ở đâu. Và ứng dụng có tên gói ru.vaskakotov.cat dễ tìm hơn. Xin lưu ý rằng Google sử dụng gói này trong tài liệu của mình com.example cho mục đích trình diễn. Nếu bạn chỉ sao chép các ví dụ từ tài liệu và cố gắng đăng chúng ở dạng này trên Google Play thì sẽ không có tác dụng gì - tên này được bảo lưu và bị cấm sử dụng trong cửa hàng ứng dụng. Cái nút Biên tập cho phép bạn chỉnh sửa phiên bản đã chuẩn bị. Ví dụ: bạn đang viết một ứng dụng tùy chỉnh và bạn cần sử dụng tên gói đã được khách hàng phê duyệt chứ không phải tên mặc định của bạn.

Dưới đây là hai tùy chọn để viết chương trình bằng C++ và Kotlin. Chúng tôi chưa xem xét các lựa chọn này. Khi bạn viết bằng Kotlin, hãy chọn hộp thích hợp. Tuy nhiên, bạn có thể chuyển đổi dự án từ Java sang Kotlin và sau đó bằng cách sử dụng các công cụ studio.

Nhấn nút Kế tiếp và chuyển sang cửa sổ tiếp theo. Ở đây chúng tôi chọn các loại thiết bị mà chúng tôi sẽ phát triển ứng dụng của mình. Trong hầu hết các trường hợp, chúng tôi sẽ viết cho điện thoại thông minh và máy tính bảng, vì vậy chúng tôi để lại hộp kiểm bên cạnh mục đầu tiên. Bạn cũng có thể viết ứng dụng cho Android TV, Android Wear, Android Auto và Android Things.

Ngoài việc chọn loại thiết bị, bạn phải chọn phiên bản tối thiểu của hệ thống mà ứng dụng sẽ hoạt động. Chọn tùy chọn của bạn. Hiện tại, Google hỗ trợ các phiên bản bắt đầu bằng API 7, phát hành các thư viện tương thích đặc biệt cho các thiết bị cũ. Nhưng bạn có thể chọn một tùy chọn hiện đại hơn. Tôi có điện thoại có phiên bản Android 4.4 tối thiểu nên tôi đang cài đặt tùy chọn này.

java

Thư mục java chứa ba thư mục con - làm việc và kiểm tra. Thư mục làm việc có tên gói của bạn và chứa các tệp lớp. Bây giờ có một lớp Hoạt động chủ yêu. Bạn có thể để lại các thư mục kiểm tra một mình. Nếu bạn biết cách các gói hoạt động trong Java, bạn có thể tạo các thư mục và thư mục con mới.

độ phân giải

Thư mục độ phân giải chứa các tệp tài nguyên được chia thành các thư mục con riêng biệt.

  • có thể vẽ được- tài nguyên đồ họa được lưu trữ trong các thư mục này - hình ảnh và tệp xml mô tả màu sắc và hình dạng.
  • cách trình bày- thư mục này chứa các tệp xml mô tả hình thức của biểu mẫu và các thành phần biểu mẫu khác nhau. Sau khi tạo dự án đã có sẵn một tập tin ở đó hoạt động_main.xml, chịu trách nhiệm cho sự xuất hiện của cửa sổ ứng dụng chính.
  • bản đồ mip- biểu tượng ứng dụng cho các độ phân giải màn hình khác nhau được lưu trữ ở đây
  • giá trị- tài nguyên chuỗi, tài nguyên màu, chủ đề, kiểu và kích thước mà chúng tôi có thể sử dụng trong dự án của mình đều nằm ở đây. Ở đây bạn có thể xem các tập tin màu sắc.xml, chuỗi.xml, style.xml. Trong các dự án cũ cũng có một tập tin kích thước.xml, bây giờ nó đã bị bỏ hoang

Theo thời gian, bạn sẽ có thể điều hướng các thư mục này một cách tự do, miễn là bạn không làm phiền chính mình.

Làm việc với dự án - Hello, World!

Như đã đề cập, chương trình Chào thế giới!đã được tích hợp sẵn trong bất kỳ dự án mới nào, vì vậy bạn thậm chí không cần phải viết bất cứ điều gì. Bạn chỉ cần khởi động dự án và có được một chương trình làm sẵn!

Để nghiên cứu bạn cần mở hai tập tin - Hoạt động chủ yêu(rất có thể nó đã được mở) và hoạt động_main.xml (độ phân giải/bố cục) ở phần trung tâm của Studio. Nếu file không mở được thì bạn hãy tự mở bằng cách nhấp đúp để chỉnh sửa (hoặc xem). Bằng cách này bạn có thể mở bất kỳ tập tin nào bạn cần.

Bây giờ chúng ta đừng nghiên cứu mã mà chỉ cần nhấp vào hình tam giác màu xanh lá cây Chạy(Shift+F10) trên thanh công cụ ở đầu studio để khởi chạy ứng dụng.

Nếu bạn chưa định cấu hình trình giả lập, điều đó có nghĩa là bạn chưa đọc hướng dẫn trước đó. Trước tiên hãy thiết lập trình mô phỏng và chạy lại dự án. Hoặc kết nối một thiết bị thực.

Nếu mọi thứ được thực hiện chính xác, chương trình của bạn sẽ tải trong trình mô phỏng hoặc trên thiết bị. Chúc mừng!

Vì vậy, nếu chương trình đã bắt đầu, bạn sẽ thấy một cửa sổ ứng dụng có dòng chữ. Tiêu đề của chương trình cũng sẽ là . Tất cả những dòng này có thể được tìm thấy trong tập tin res/values/strings.xml và chỉnh sửa nếu muốn.

Bây giờ chúng ta hãy nhìn vào mã. Hãy nghiên cứu đầu tiên hoạt động_main.xml.

Bạn có thể xem nó ở hai chế độ - Thiết kếChữ.

Mở ở chế độ Chữ.

Đây là mã mẫu mới được phát hành trong Android Studio 2.3 vào tháng 3 năm 2017. Trước đây, một mã khác đã được sử dụng với Giao diện tương đối(và thậm chí sớm hơn, một mã khác có Bố cục tuyến tính). Nếu bạn gặp các ví dụ cũ, studio có một menu ngữ cảnh giúp bạn chuyển đổi mã cũ thành mã mới.

Một chút về mã XML. Có một thùng chứa đặc biệt Ràng buộcLayout, chứa thành phần Chế độ xem văn bản, dành cho đầu ra văn bản.

Bây giờ hãy xem mã Java ( MainActivity.java)

Gói ru.alexanderklimov.helloworld; nhập android.support.v7.app.AppCompatActivity; nhập android.os.Bundle; lớp công khai MainActivity mở rộng AppCompatActivity ( @Override protected void onCreate(Bundle SavedInstanceState) ( super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ) )

Bạn có một tệp lớp đang mở trước mặt, trong đó có tên lớp Hoạt động chủ yêu khớp tên tệp với phần mở rộng java(đây là quy tắc do ngôn ngữ Java đặt ra). Dòng đầu tiên chứa tên của gói - chúng tôi đã chỉ định nó khi tạo dự án ( Tên gói hàng). Tiếp theo là các dòng để nhập các lớp cần thiết cho dự án. Để tiết kiệm không gian, chúng được thu gọn thành một nhóm. Mở nó ra. Nếu một ngày nào đó bạn thấy tên lớp có màu xám nghĩa là chúng không được sử dụng trong dự án (gợi ý Báo cáo nhập khẩu chưa sử dụng) và bạn có thể xóa các dòng bổ sung một cách an toàn. Chúng cũng có thể được xóa tự động (có thể định cấu hình).

Tiếp theo là phần khai báo của chính lớp đó, lớp này được kế thừa ( mở rộng) từ một lớp trừu tượng Hoạt động. Đây là lớp cơ sở cho tất cả các màn hình ứng dụng. Rất có thể bạn sẽ có Hoạt động tương thích ứng dụng, nếu khi tạo dự án bạn để lại hỗ trợ cho các thiết bị cũ (hộp kiểm Khả năng tương thích ngược (Tương thích ứng dụng)). Các phiên bản cũ không có các tính năng ưu việt xuất hiện sau Android 4, do đó, một thư viện tương thích đặc biệt đã được tạo cho chúng, cho phép bạn sử dụng các mục mới từ phiên bản Android mới trong các chương trình cũ. Lớp học Hoạt động tương thích ứng dụngĐây chính xác là nội dung của thư viện tương thích. Hãy coi cô ấy là người thân nghèo của căn cứ Hoạt động. Nó có tất cả các phương thức và lớp trợ giúp cần thiết, nhưng tên có thể thay đổi đôi chút. Và bạn không thể trộn lẫn tên. Nếu bạn đang sử dụng một lớp từ thư viện tương thích thì hãy sử dụng các phương thức thích hợp.

Ở các giai đoạn khác nhau, tên lớp hoạt động khác nhau đã được sử dụng mà bạn có thể gặp phải trong các dự án cũ hơn. Ví dụ, nó lần đầu tiên được sử dụng mảnhHoạt động, sau đó Thanh hành độngHoạt động và vào ngày 22 tháng 4 năm 2015, một phiên bản mới của thư viện tương thích đã được phát hành và một lớp mới hiện đang được sử dụng Hoạt động tương thích ứng dụng.

Trong chính lớp đó chúng ta thấy một phương thức onCreate()– nó được gọi khi ứng dụng tạo và hiển thị đánh dấu hoạt động. Phương pháp này được đánh dấu là được bảo vệ và kèm theo chú thích @Ghi đè(ghi đè từ lớp cơ sở). Bản tóm tắt có thể hữu ích cho bạn. Nếu bạn mắc lỗi đánh máy trong tên phương thức, trình biên dịch có thể cảnh báo bạn rằng lớp cha không có phương thức như vậy Hoạt động.

Hãy nhìn vào mã phương thức.

Đường kẻ super.onCreate(savedInstanceState); là hàm tạo của lớp cha thực hiện các thao tác cần thiết để hoạt động hoạt động. Bạn không cần phải chạm vào dòng này, hãy để nguyên.

Dòng thứ hai setContentView(R.layout.activity_main);được quan tâm nhiều hơn. Phương pháp setContentView(int) bao gồm nội dung từ một tệp đánh dấu. Như một đối số, chúng tôi chỉ định tên tệp mà không có phần mở rộng từ thư mục độ phân giải/bố cục. Theo mặc định, dự án tạo một tệp trong đó hoạt động_main.xml. Bạn có thể đổi tên file hoặc tạo file riêng với tên mèo.xml và kết nối nó với hoạt động của bạn. Sau đó, mã sẽ trông như thế này:

SetContentView(R.layout.cat);

Để giữ mã của bạn gọn gàng, hãy cố gắng tuân thủ các tiêu chuẩn. Nếu bạn đang tạo đánh dấu cho một hoạt động, hãy sử dụng tiền tố hoạt động_ cho tên tập tin. Ví dụ: đánh dấu cho hoạt động thứ hai có thể được đặt tên hoạt động_thứ hai.xml.