Phát triển ứng dụng cho android. Cách viết ứng dụng Android bằng Android Studio

Làm cách nào để tạo ứng dụng cho Android hoặc iPhone?— những câu hỏi này ngày càng được hỏi không chỉ bởi các nhà phát triển web mà còn bởi các chủ sở hữu bình thường của các trang web và người viết blog dành cho doanh nghiệp nhỏ.

Đánh giá này gợi ý xem xét , là các hàm tạo để tạo các ứng dụng Android và iPhone một cách nhanh chóng và dễ dàng. Đồng thời, không yêu cầu người dùng phải có kỹ năng lập trình hoặc kiến ​​thức CNTT đặc biệt khác. Những ứng dụng như vậy là không thể thiếu đối với nhiều loại hình kinh doanh khác nhau - xét cho cùng, chúng là một cách tuyệt vời để mở rộng đối tượng mục tiêu và thu hút khách hàng.

Vì vậy, mọi thứ được thảo luận trong quá trình đánh giá phát triển ứng dụng có thể được thống nhất dưới khẩu hiệu: đơn giản, nhanh chóng và không cần lập trình!

miễn phí một dịch vụ web cho phép bạn chuyển đổi nội dung trang web của mình thành một ứng dụng Android và phân phối nội dung đó thông qua Google Play. Ngoài ra, các ứng dụng được tạo có thể được bán và đặt quảng cáo trong đó.
Bạn có thể tạo số lượng ứng dụng Android không giới hạn từ ba loại nội dung: trang web, trang html đơn giản và video YouTube. Để tạo ứng dụng Android, AppsGeyser sử dụng trình hướng dẫn mẫu đơn giản và trực quan.

Trang web AppsGeyser: http://www.appsgeyser.com, http://www.appsgeyser.ru

miễn phí dịch vụ trực tuyến để tạo nhanh các ứng dụng di động. TheAppBuilder tạo các ứng dụng bằng cách sử dụng trình thiết kế và các mẫu tiêu chuẩn - dành cho doanh nghiệp, sự kiện, giáo dục, âm nhạc, thể thao, v.v. Các ứng dụng được tạo là miễn phí và có giá 5 USD mỗi tháng Bạn có thể tắt hiển thị quảng cáo của bên thứ ba trong ứng dụng đã tạo. TheAppBuilder cho phép bạn tạo các ứng dụng Android và Windows Mobile.

Trang web TheAppBuilder: http://www.theappbuilder.com

là một dịch vụ trực tuyến cho phép người dùng tạo và xuất bản các ứng dụng di động của riêng họ chỉ bằng vài cú nhấp chuột trên Internet. Nền tảng Appsmakerstore tạo ra các ứng dụng di động được hỗ trợ bởi HTML5, iTunes, Android Market, Blackberry Marketplace, Windows Marketplace và Facebook không có bất kỳ kỹ năng công nghệ sâu sắc nào. Đây là tổng số 1 ứng dụng cho 6 nền tảng khác nhau. Appsmakerstore được cung cấp bằng 23 ngôn ngữ, bao gồm cả tiếng Nga và tiếng Ukraina.

Điểm đặc biệt của Appsmakerstore là nó cung cấp nhiều lựa chọn mẫu làm sẵn cho một số ngành nhất định (ví dụ: dịch vụ pháp lý, câu lạc bộ đêm, nhà hàng và quán cà phê, thương mại, thẩm mỹ viện, v.v.)

  • Tự làm - 9,78 USD mỗi tháng.
  • “Chúng tôi làm đơn đăng ký cho bạn” – $249
  • “Đại lý” là mức giá đặc biệt phải được tìm thấy riêng trên trang web.

Luôn bao gồm trong tất cả các kế hoạch:

  • Thay đổi nội dung và cập nhật ứng dụng không giới hạn.
  • Cập nhật nội dung ứng dụng trên iTunes và Google Play mà không cần phải xuất bản lại.
  • Gửi số lượng thông báo đẩy không giới hạn cho người dùng.
  • Tự động nhận và sử dụng tất cả các bản cập nhật hệ thống.
  • Lưu trữ an toàn trên máy chủ của chúng tôi.
Trang web của Appsmakerstore: http://appsmakerstore.com

— nhà thiết kế trực tuyến trả phí các ứng dụng di động (iPad, Android, HTML5) cho các doanh nghiệp nhỏ. Các tính năng bao gồm định vị địa lý, nhận và gửi tin nhắn, giỏ hàng, thông báo, tích hợp với mạng xã hội, đăng thông tin về thực đơn, phạm vi dịch vụ, sự kiện sắp tới, v.v. Có các mẫu dành cho nhà hàng, môi giới bất động sản, phòng tập thể dục, v.v.

Dịch vụ này được thể hiện bằng các kế hoạch sau:

  • “Trang web dành cho thiết bị di động” – $29 mỗi tháng.
  • "Ứng dụng di động" - $59 mỗi tháng
  • « Nhãn trắng Partner" tạo các ứng dụng cho khách hàng của bạn - một mức giá đặc biệt cần được tìm hiểu riêng trên trang web.
Trang web của Biznessapps: http://www.biznessapps.com

5. Ứng dụngGlobus

AppGlobus— một trong những nhà thiết kế ứng dụng di động trực tuyến trả phí của Nga cho phép người dùng tạo và xuất bản ứng dụng của họ một cách độc lập trên App Store và Google Play.

Sử dụng thiết kế và khả năng mới của Ionic Framework, giúp cải thiện đáng kể chất lượng phát triển và giúp tạo các ứng dụng di động trên HTML5, iOS, Android mà không cần kỹ năng lập trình.

Hiện tại, AppGlobus được cung cấp bằng 8 ngôn ngữ, bao gồm cả tiếng Nga.

AppGlobus.com cung cấp các gói sau:

  • BẮT ĐẦU - 900 chà./tháng.
    • Ứng dụng: HTML5/Android, bảng quản trị, cửa hàng, không hạn chế về Push, không hạn chế cài đặt, không quảng cáo.
  • CƠ BẢN - 1500 rúp/tháng
    • Ứng dụng cho cả Android và iOS, bảng quản trị, cửa hàng, không hạn chế Push, không hạn chế cài đặt, không quảng cáo.
  • STUDIO - 2000 rúp/tháng
    • Ứng dụng: Windows/Android/iOS, bảng quản trị, cửa hàng, không hạn chế Push, không hạn chế cài đặt, không quảng cáo.
  • PRO - 45.000 rúp/lần
    • Ứng dụng: Windows/Android/iOS, phát triển tùy chỉnh, chúng tôi sẽ tự xuất bản nó trên App Store và Google Play, chúng tôi sẽ cung cấp mã nguồn
Trang web AppGlobus: http://appglobus.com/

— một dịch vụ trực tuyến trả phí để tạo ứng dụng di động của riêng bạn cho mục đích kinh doanh hoặc cá nhân. Không yêu cầu kỹ năng đặc biệt. Rất phù hợp cho các doanh nghiệp nhỏ, chẳng hạn như các cửa hàng trực tuyến. Chỉ mất 5 phút để tạo ứng dụng của bạn - bạn chỉ cần chọn các mô-đun và thiết kế cần thiết. Có phiên bản tiếng Anh và tiếng Nga.

My-apps.com cung cấp các gói sau:

  • Bắt đầu - 599 chà. /tháng
    • ứng dụng chỉ dành cho Android, quyền truy cập vào nhà thiết kế, các mẫu và biểu tượng ứng dụng miễn phí, cập nhật nội dung 48 giờ một lần, cập nhật nguồn ứng dụng trong các cửa hàng không quá 2 tháng một lần.
  • Ánh sáng - 990 chà. /tháng
    • ứng dụng cho cả iOS, quyền truy cập vào trình thiết kế, các mẫu và biểu tượng ứng dụng miễn phí, ảnh chụp màn hình ứng dụng cơ bản, Thông báo đẩy - 1 thông báo mỗi tháng, cập nhật nội dung 24 giờ một lần, cập nhật nguồn ứng dụng trong cửa hàng 2 tháng một lần.
  • Tiêu chuẩn - 2490 chà. /tháng
    • ứng dụng cho cả Android và iOS, quyền truy cập vào trình thiết kế, các mẫu và biểu tượng ứng dụng miễn phí, ảnh chụp màn hình ứng dụng cơ bản, hỗ trợ Skype, Thông báo đẩy - 10 thông báo mỗi tháng, cập nhật nội dung 12 giờ một lần, cập nhật nguồn ứng dụng trong các cửa hàng mỗi tháng một lần.
  • Việc kinh doanh - 9890 chà. /tháng
    • ứng dụng cho cả Android và iOS, quyền truy cập vào trình thiết kế, các mẫu và biểu tượng ứng dụng miễn phí, ảnh chụp màn hình ứng dụng cơ bản, hỗ trợ Skype và email, quản lý cá nhân, Thông báo đẩy - 50 mỗi tháng, cập nhật nội dung tức thì, cập nhật nguồn ứng dụng trong cửa hàng - không giới hạn.
  • VIP — 3999 chà. /tháng + 150.000 chà. thanh toán lắp đặt

    • ứng dụng cho cả Android và iOS, quyền truy cập vào trình thiết kế, các mẫu và biểu tượng ứng dụng miễn phí, ảnh chụp màn hình ứng dụng cơ bản, hỗ trợ Skype và email, quản lý cá nhân, Thông báo đẩy - không giới hạn, cập nhật nội dung - ngay lập tức, cập nhật nguồn ứng dụng trong cửa hàng - không hạn chế.
Trang web My-apps.com: http://my-apps.com

cung cấp một nền tảng “ tự mình làm điều đó” để tạo iPhone/ứng dụng , mà cũng không yêu cầu kỹ năng lập trình. Dịch vụ này cung cấp cho mỗi tổ chức một cách dễ dàng để tạo các ứng dụng và tài liệu xuất bản trên thiết bị di động (iPhone, iPad, Android). Khách hàng có thể tạo danh mục, tờ rơi, tài liệu quảng cáo, báo cáo, sơ yếu lý lịch, v.v. của riêng mình và phân phối chúng bằng giải pháp SaaS. Có phiên bản tiếng Anh và tiếng Nga.

iBuildApp được cung cấp trong các gói sau:

  • Kinh doanh (2.400 rúp mỗi tháng) - 3.000 lượt cài đặt, lượt xem trang web trên thiết bị di động không giới hạn, không có quảng cáo tích hợp, xuất bản ứng dụng trên iTunes và Google Play.
Trang web iBuildApp: http://ibuildapp.com

— dịch vụ trực tuyến để phát triển ứng dụng (iPhone, iPad, Android). Cho phép bạn tạo một ứng dụng dựa trên một trong nhiều mẫu ứng dụng. Các thành phần của giao diện người dùng ứng dụng đã tạo có thể được liên kết với các chức năng như gửi email, tin nhắn SMS, gửi tới các dịch vụ Facebook và Twitter.

  • Nhà phát triển - $33 mỗi tháng. (chỉ có thể tạo 1 ứng dụng)
  • Chuyên nghiệp - $79 mỗi tháng.
  • Trả trước - $ 129 mỗi tháng.
  • Doanh nghiệp - Giá phải được hỏi riêng.

Tất cả các gói đều hỗ trợ các nền tảng sau: iOS (iPhone/iPad) & Android (Điện thoại/Máy tính bảng)

Trang web Viziapps: http://www.viziapps.com

- trình chỉnh sửa trực tuyến cho phép bạn tạo ứng dụng cho iOS, Android và Windows Phone. Cách sử dụng rất đơn giản: bạn có thể lắp ráp chương trình của riêng mình từ các bộ phận làm sẵn. Mặc dù thực tế là AppsBuilder cố gắng đơn giản hơn và dễ hiểu hơn đối với người dùng thiếu kinh nghiệm, nhưng nó cũng bổ sung một số tính năng cho lập trình viên: ví dụ: bạn có thể bổ sung các ứng dụng đã tạo bằng các tập lệnh Java của riêng mình.

Có ba gói trả phí bao gồm bản dùng thử miễn phí 30 ngày:

  • Người mới bắt đầu (49 euro mỗi tháng) -1 đơn đăng ký.
  • Thông thường (199 euro mỗi tháng) - tối đa 5 đơn đăng ký.
  • Có thể mở rộng (từ 249 euro mỗi tháng) - hơn 5 ứng dụng.
Trang web AppsBuilder: http://www.apps-builder.com

Bài viết mô tả những khó khăn chính khi tạo ứng dụng cho Android.
Các khái niệm cơ bản về lập trình Android được trình bày.
Ví dụ: việc tạo trò chơi Sudoku từ cuốn sách Hello, Android - Ed Burnette được mô tả.
Hãy cẩn thận có rất nhiều ảnh chụp màn hình.

1. Khó khăn trong phát triển

Android là một hệ điều hành độc đáo. Nhà phát triển ứng dụng phải biết các tính năng và sắc thái của nó để có được kết quả tốt. Có một số thách thức cần được tính đến khi thiết kế (). Hãy liệt kê chúng một cách ngắn gọn:
1) Ứng dụng cần nhiều dung lượng cài đặt gấp đôi (hoặc thậm chí bốn) so với kích thước ban đầu của ứng dụng.
2) Tốc độ làm việc với các tệp trên ổ flash tích hợp giảm hàng chục lần khi dung lượng trống giảm.
3) Mỗi ​​tiến trình có thể sử dụng tối đa 16 MB (đôi khi là 24 MB) RAM.

2. Nguyên tắc phát triển ứng dụng hiệu quả cho Android

Để hoạt động, bạn cần có Android SDK và Eclipse. Nó viết về cách cài đặt mọi thứ và bắt đầu.

Để tải một dự án vào Eclipse, hãy làm theo các bước sau:
1) Giải nén dự án vào một thư mục riêng trong không gian làm việc Eclipse.
2) Chọn mục menu Tệp->Mới->Dự án Android.
3) Trong hộp thoại Dự án Android mới, chọn tùy chọn Tạo dự án từ nguồn hiện có.
4) Trong trường Vị trí, chỉ định đường dẫn đến thư mục chứa dự án. Bấm tiếp.

Thực đơn chương trình

Menu trò chơi được mô tả trong tệp res/layout/main.xml. Mô tả giao diện có thể được chỉnh sửa dưới dạng XML hoặc dưới dạng giao diện được hiển thị. Để chuyển đổi, hãy sử dụng các tab ở cuối khu vực hiển thị nội dung.

Thông thường, các điều khiển được chứa trong một vùng chứa, trong trường hợp của chúng tôi là LinearLayout. Nó sắp xếp tất cả các phần tử trong một cột.

Tài nguyên

Xin lưu ý rằng tất cả các nhãn văn bản (android:text) đều lấy dữ liệu từ các tài nguyên. Ví dụ: mục nhập android:text="@string/main_title" chỉ định rằng văn bản cần được tìm kiếm trong tệp res/values/string.xml trong nút có tên main_title (Android Sudoku). Màu nền cũng có trong tài nguyên (android:background="@color/background") nhưng trong tệp color.xml (#3500ffff). Có thể xảy ra lỗi khi mở tệp tài nguyên trong trình chỉnh sửa. Nhưng bạn luôn có thể chuyển sang hiển thị XML.

Các điều khiển cần được truy cập từ mã phải có id. Các nút có id (android:id="@+id/continue_button") để có thể gắn trình xử lý nhấp chuột vào nút. Dấu cộng cho biết bạn cần tạo mã định danh cho nút trong tệp /gen/org.example.sudoku/R.java (public static Final int continue_button=0x7f0b000b;). Tệp này được tạo tự động và không nên sửa đổi nó. Tệp chứa lớp R, qua đó bạn có thể truy cập bất kỳ thành phần giao diện nào và các tài nguyên khác.

Tạo Windows

Hãy xem xét việc tạo một cửa sổ có thông tin về chương trình. Bố cục của cửa sổ này nằm trong tệp /res/layout/about.xml. Lớp Hoạt động được mô tả trong tệp /src/org.example.sudoku/About.java. Hoạt động được liên kết với đánh dấu trong tệp AndroidManifest.xml. Tệp này có thể được xem thông qua trình soạn thảo hoặc dưới dạng XML. Bạn có thể chọn các phần khác nhau của tệp trong các tab soạn thảo khác nhau. Phần Ứng dụng chứa các tham số Hoạt động. Lưu ý rằng tham số Chủ đề là :style/Theme.Dialog. Điều này làm cho kiểu cửa sổ giống một hộp thoại theo chế độ hơn.

Cửa sổ chứa thông tin về chương trình được mở ra từ lớp Sudoku bằng cách nhấp vào nút Giới thiệu. Lớp Sudoku được viết sao cho nó tự xử lý sự kiện Click (lớp công khai Sudoku mở rộng triển khai Hoạt động OnClickListener). Phương thức public void onClick(View v) xác định nút nào đã kích hoạt sự kiện và thực thi mã tương ứng. Để hiển thị cửa sổ Giới thiệu, Intent tương ứng sẽ được gọi.
trường hợp R.id.about_button:
Ý định i = Ý định mới(cái này, About.class);
startActivity(i);
phá vỡ;

Trình xử lý sự kiện cũng có thể được cài đặt trên các điều khiển cụ thể. Ví dụ: trong lớp Bàn phím, khi lớp được tạo, các trình xử lý cho từng nút riêng lẻ sẽ được cài đặt trong phương thức setListeners().

Đối thoại đơn giản

Người dùng phải có cơ hội lựa chọn mức độ khó. Đây là một đoạn hội thoại nhỏ trong đó bạn cần chọn một trong một số tùy chọn. Tôi rất vui vì bạn không cần tạo một Intent riêng cho việc này mà chỉ cần sử dụng lớp AlertDialog.
Chúng ta hãy xem quá trình bắt đầu một trò chơi mới. Người dùng nhấn vào nút Trò chơi mới. Trình xử lý nhấp chuột là một phương thức của lớp Sudoku - onClick. Tiếp theo, phương thức openNewGameDialog được gọi, hiển thị hộp thoại chọn độ khó và bắt đầu trò chơi với độ khó đã chọn. Hộp thoại này được xây dựng bằng lớp AlertDialog.

Khoảng trống riêng tư openNewGameDialog() ( new AlertDialog.Builder(this).setTitle(R.string.new_game_title).setItems(R.array.difficulty, new DialogInterface.OnClickListener() ( public void onClick(DialogInterface hộp thoạiinterface, int i) ( startGame (tôi chỉ ra(); )

Xin lưu ý rằng nội dung của hộp thoại (một bộ nút) được xây dựng từ một mảng chuỗi R.array.difficulty. Một trình xử lý nhấp vào nút hộp thoại sẽ được chỉ định ngay lập tức, dựa trên số lượng nút được nhấn, sẽ bắt đầu một trò chơi mới với mức độ khó nhất định bằng cách gọi phương thức startGame.

Nghệ thuật đồ họa

Lớp Game chịu trách nhiệm về logic của trò chơi. Tại đây các nhiệm vụ được tải và điều kiện chiến thắng được kiểm tra. Lớp Trò chơi là một Hoạt động nhưng giao diện không được mô tả bằng XML mà được tạo bằng mã. Phương thức onCreate tạo Chế độ xem:

PuzzleView = PuzzleView mới(cái này);
setContentView(puzzleView);
puzzleView.requestFocus();

PazzleView là một lớp bắt nguồn từ View, nó vẽ ra sân chơi và xử lý các sự kiện chạm vào màn hình (phương thức onTouchEvent) và các lần nhấn phím (phương thức onKeyDown).

Hãy xem quá trình vẽ trong Android. Để vẽ, bạn cần nạp chồng phương thức onDraw. Phương thức này nhận đối tượng Canvas để thực hiện việc vẽ. Để đặt màu, các đối tượng của lớp Paint được tạo. Màu sắc được chỉ định ở định dạng ARGB. Tốt hơn là lưu trữ màu dưới dạng tài nguyên (tệp color.xml). Paint không chỉ là một lớp để lưu trữ thông tin màu sắc. Ví dụ: khi vẽ văn bản, nó chứa thông tin về cách tô bóng, phông chữ và căn chỉnh của văn bản.

Canvas chứa một tập hợp các phương thức để vẽ đồ họa (drawRect, drawLine, drawPath, drawText và các phương thức khác).

Để tối ưu hóa đồ họa, tốt hơn hết bạn nên hạn chế tạo các đối tượng và các phép tính không cần thiết bên trong phương thức onDraw (ví dụ được coi là triển khai đồ họa là không tối ưu).

Âm nhạc

Lớp MediaPlayer được sử dụng để phát nhạc. Âm nhạc cho trò chơi đã được thêm vào tài nguyên. Bạn chỉ cần sao chép các file cần thiết vào thư mục /res/raw (các định dạng WAV, AAC, MP3, WMA, AMR, OGG, MIDI).
Trước tiên, bạn cần tạo một thể hiện của lớp MediaPlayer:
mp = MediaPlayer.create(ngữ cảnh, tài nguyên);
Ở đây, bối cảnh thường là lớp bắt đầu khởi chạy âm nhạc, tài nguyên là mã định danh của tài nguyên có âm nhạc. Để kiểm soát quá trình phát lại, hãy sử dụng các phương thức bắt đầu, dừng và nhả.

Trong trò chơi, âm nhạc được phát trong menu chính (khởi chạy từ lớp Sudoku) và trong trò chơi (khởi chạy từ lớp Trò chơi). Lớp Âm nhạc được tạo để kiểm soát việc phát lại. Lớp này chứa một phiên bản tĩnh của MediaPlayer, giúp loại bỏ nhu cầu tạo một dự án riêng cho mỗi lần khởi chạy tài nguyên âm thanh.

Trong các lớp Sudoku và Trò chơi, các phương thức onResume và onPause bị ghi đè, trong đó âm nhạc sẽ bắt đầu khi Hoạt động bắt đầu và dừng khi bị tắt.

kết luận

Ví dụ được thảo luận trong bài viết không quá phức tạp, điều này cho phép bạn hiểu nó mà không cần nỗ lực nhiều. Đồng thời, nó đề cập đến nhiều khía cạnh khác nhau của quá trình phát triển Android.

tái bút Rất cám ơn người dùng

Cách tạo ứng dụng di động trong Android Studio

Android Studio là môi trường phát triển tích hợp (IDE) dựa trên IntelliJ IDEA, được Google gọi là IDE chính thức cho các ứng dụng Android.

Sách hướng dẫn này mô tả phát triển ứng dụng android:

  • Điều hướng giữa các tệp bằng File Explorer
  • Cài đặt tệp AndroidManifest.xml
  • Nhập tập tin vào một dự án
  • Trình chỉnh sửa bố cục nâng cao với tính năng xem trước động
  • Sử dụng Logcat và Android Monitor để gỡ lỗi ứng dụng

Bắt đầu trong Android Studio

Khởi chạy Android Studio trong một cửa sổ Trình hướng dẫn thiết lập Android Studio lựa chọn Bắt đầu một dự án Android Studio mới(bắt đầu một dự án mới).

Trong cửa sổ Tạo dự án mới lựa chọn Tên ứng dụng(tên ứng dụng) như Fortune ball, nhập tên miền công ty; trong lĩnh vực Địa điểm dự án chọn vị trí nơi ứng dụng sẽ được lưu. Nhấp chuột Kế tiếp.

Có một cửa sổ trước mặt bạn Nhắm mục tiêu thiết bị Android. Lựa chọn Điện thoại và máy tính bảng. Trong lĩnh vực SDK tối thiểu vui lòng cho biết API 15. Nhấp chuột Kế tiếp.

Trong cửa sổ Thêm hoạt động vào Điện thoại di động lựa chọn Hoạt động cơ bản. Đánh giá tất cả các tùy chọn, cửa sổ này cung cấp cái nhìn tổng quan về các bố cục có sẵn.

Nhấp chuột Kế tiếp.

Trong cửa sổ Tùy chỉnh hoạt động, ảnh chụp màn hình được đăng bên dưới, bạn có thể thay đổi Tên hoạt động(tên hoạt động), Tên bố cục(tên bố cục), Tiêu đề(tên thông thường) và Tên tài nguyên thực đơn(tên menu tài nguyên). Để lại các giá trị mặc định và nhấp vào Hoàn thành.

Sau vài giây, cửa sổ sau sẽ xuất hiện:

Cửa sổ tương tự sẽ xuất hiện trên thiết bị hoặc trình mô phỏng của bạn. Trình mô phỏng hoạt động như một thiết bị và sẽ mất một chút thời gian để tải.

Đây đã là một ứng dụng. Anh ấy còn thiếu sót rất nhiều, nhưng bây giờ anh ấy có thể chuyển sang bước tiếp theo.

Cấu trúc dự án và tập tin

Cửa sổ hiển thị các tập tin dự án.

Menu thả xuống (ảnh chụp màn hình bên dưới) có một số bộ lọc cho tệp. Những cái chính là Project và Android.

Bộ lọc Dự án sẽ hiển thị tất cả các mô-đun ứng dụng - mỗi dự án chứa ít nhất một mô-đun. Các loại mô-đun khác bao gồm mô-đun từ thư viện của bên thứ ba hoặc mô-đun từ các ứng dụng Android khác (chẳng hạn như ứng dụng Android Wear, Android TV). Mỗi mô-đun có tập hợp các đặc điểm riêng, bao gồm tệp gradle, tài nguyên và tệp nguồn (tệp java).

Ghi chú. Nếu dự án không mở, hãy nhấp vào tab Dự án ở phía bên trái của bảng điều khiển, như trong ảnh chụp màn hình. Theo mặc định, bộ lọc Android được cài đặt để nhóm các tệp theo loại cụ thể. Ở cấp cao nhất, bạn sẽ thấy các thư mục sau:

  • biểu hiện
  • Tập lệnh Gradle

Các phần sau đây mô tả chi tiết từng thư mục này, bắt đầu bằng các tệp kê khai.

Tổng quan về AndroidManifest.xml

Mọi ứng dụng Android đều có tệp AndroidManifest.xml, nằm trong thư mục bảng kê khai. Tệp XML này cho hệ thống của bạn biết về các yêu cầu của ứng dụng. Sự hiện diện của tệp này là bắt buộc vì nó cho phép hệ thống Android tạo ra một ứng dụng.

Mở thư mục tệp kê khai và AndroidManifest.xml. Nhấp đúp chuột sẽ mở tập tin.

Các thẻ kê khai và ứng dụng là cần thiết cho bảng kê khai và chỉ xuất hiện một lần.

Mỗi thẻ cũng xác định một tập hợp các thuộc tính, cùng với tên của phần tử. Ví dụ: một số thuộc tính trong ứng dụng có thể như thế này:

android:icon, android:label và android:theme

Trong số những thứ khác, những thứ sau đây có thể xuất hiện trong bảng kê khai:

  • quyền sử dụng: Yêu cầu quyền đặc biệt được cấp cho ứng dụng để hoạt động chính xác. Ví dụ: một ứng dụng phải yêu cầu người dùng cấp quyền truy cập mạng - trong trường hợp bạn thêm quyền android.permission.INTERNET.
  • hoạt động: Báo cáo một hoạt động chịu trách nhiệm một phần về logic và giao diện người dùng trực quan. Bất kỳ hoạt động nào được cung cấp trong ứng dụng đều phải được thêm vào bảng kê khai - hệ thống sẽ không nhận thấy hoạt động chưa được đánh dấu và hoạt động đó sẽ không được hiển thị trong ứng dụng.
  • dịch vụ: Thêm dịch vụ mà bạn định sử dụng để triển khai các hoạt động lâu dài hoặc liên lạc API nâng cao với các ứng dụng khác. Một ví dụ trong trường hợp này là một cuộc gọi mạng qua đó ứng dụng nhận được dữ liệu. Không giống như hoạt động, dịch vụ không có giao diện người dùng.
  • bộ thu: Với bộ thu tin nhắn quảng bá, ứng dụng sẽ nhận được tín hiệu về tin nhắn hệ thống hoặc tin nhắn từ các ứng dụng khác, ngay cả khi các thành phần ứng dụng khác không chạy. Một ví dụ về tình huống như vậy là pin có mức sạc thấp và hệ điều hành thông báo về điều đó.

Bạn có thể tìm thấy danh sách đầy đủ các thẻ trong tệp kê khai trên trang web Nhà phát triển Android.

Cài đặt tệp kê khai

Thêm thuộc tính sau vào hoạt động:

android:screenOrientation=”chân dung”. để giới hạn màn hình chỉ ở chế độ dọc. Nếu điều này không được thực hiện, màn hình, tùy thuộc vào vị trí của thiết bị, sẽ ở chế độ ngang hoặc dọc. Sau khi thêm thuộc tính, tệp kê khai sẽ trông giống như ảnh chụp màn hình.

Tạo và chạy ứng dụng. Nếu bạn đang thử nghiệm trên thiết bị của mình, hãy lật nó lại, đảm bảo màn hình không chuyển sang chế độ ngang nếu bạn đã hạn chế khả năng này trong tệp AndroidManifest.

Tổng quan về lớp

Hãy chuyển sang Gradle. Gradle biến một dự án Android thành một APK có thể cài đặt trên các thiết bị. Tệp build.gradle có trong tập lệnh Gradle, ở hai cấp độ: mô-đun và dự án.

Mở tệp build.gradle (Mô-đun: ứng dụng). Bạn sẽ thấy cài đặt lớp mặc định:

áp dụng plugin: "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.AndroidJUnitRun ner") buildTypes (phát hành (minifyEnabled falseproguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"))) phụ thuộc (biên dịch fileTree(dir: "libs", include: ["*.jar"])androidTestCompile( " com.android.support.test.espresso:espresso-core:2.2.2", (loại trừ nhóm: "com.android.support", mô-đun: "support-annotations")) biên dịch "com.android.support:appcompat - v7:25.1.0"biên dịch"com.android.support:design:25.1.0"testCompile "junit:junit:4.12")

Chúng ta hãy nhìn vào các thành phần chính:

  • áp dụng plugin: 'com.android.application' áp dụng plugin Android ở cấp độ gốc và cung cấp các tác vụ cấp cao nhất cần thiết để xây dựng ứng dụng.
  • Bên cạnh phần android(…) là các tùy chọn cài đặt như targetSdkVersion. SDK mục tiêu cho ứng dụng của bạn phải ở cấp API mới nhất. Một thành phần quan trọng khác là minSDKVersion (xác định phiên bản SDK tối thiểu phải được cài đặt trên thiết bị để ứng dụng chạy). Ví dụ: nếu phiên bản SDK là 14 thì ứng dụng sẽ không thể chạy trên thiết bị đó vì trong trường hợp cụ thể này, phiên bản được hỗ trợ tối thiểu là 15.
  • Thành phần cuối cùng là phụ thuộc (…). Cần lưu ý biên dịch 'com.android.support:appcompat-v7:VERSION' và biên dịch 'com.android.support:design:VERSION'. Chúng cung cấp sự hỗ trợ và khả năng tương thích các tính năng của API mới và cũ.

Ngoài các thư viện tương thích với Android, bạn có thể thêm thư viện của bên thứ ba vào thành phần phụ thuộc(...). Ví dụ: Thư viện hoạt ảnh chứa các hiệu ứng giao diện người dùng. Tìm các phần phụ thuộc, sau đó thêm hai dòng sau xuống:

phụ thuộc ( ... biên dịch "com.daimajia.easing:library:2.0@aar" biên dịch "com.daimajia.androidanimations:library:2.2@aar")

Tại đây bạn có thể thêm các phụ thuộc của bên thứ ba. Thư viện được tự động tải xuống và tích hợp vào Android Studio. Nhấp vào Đồng bộ hóa ngay để tích hợp các phần phụ thuộc này vào ứng dụng của bạn.

Quá trình đồng bộ hóa mất vài giây. Các bản cập nhật của Gradle xuất hiện trong tab Tin nhắn ở bảng dưới cùng.

Đây là tất cả các cài đặt bạn cần trong Gradle bây giờ. Những thao tác như vậy sẽ thêm hình ảnh động vào ứng dụng.

Nhập tập tin

Khi phát triển một ứng dụng Android, việc tích hợp với các tài nguyên khác là rất quan trọng: hình ảnh, phông chữ tùy chỉnh, âm thanh, video, v.v. Những tài nguyên này được nhập vào Android Studio và đặt trong các thư mục thích hợp, cho phép hệ điều hành chọn đúng tài nguyên cho ứng dụng. ứng dụng. Ứng dụng Fortune Ball của chúng tôi sẽ cần nhập hình ảnh vào các thư mục có thể vẽ. Các thư mục này có thể chứa hình ảnh hoặc các tệp XML có thể vẽ đặc biệt (tức là bạn có thể vẽ các hình bằng mã XML và sử dụng chúng trong bố cục của mình).

Trong Android Studio, chuyển từ Android sang Project

Mở thư mục res (app > src > main). Nhấp chuột phải vào thư mục res, chọn Mới > Thư mục tài nguyên Android.

Một cửa sổ có tên Thư mục tài nguyên mới sẽ xuất hiện.

Từ danh sách thả xuống Loại tài nguyên, chọn tùy chọn có thể vẽ. Trong danh sách Vòng loại có sẵn, chọn Mật độ, sau đó nhấp vào nút được đánh dấu trong ảnh chụp màn hình.

Trong cửa sổ tiếp theo, chọn XX-Mật độ cao từ danh sách Mật độ. Bấm vào đồng ý.

Lặp lại mọi thứ để tạo các thư mục drawable-xhdpi, drawable-hdpi và drawable-mdpi. Chọn X-Mật độ cao, cao và trung bình tương ứng từ danh sách Mật độ.

Mỗi thư mục có mã định danh mật độ (ví dụ: xxhdpi, xhdpi, hdpi) chứa các hình ảnh được liên kết với mật độ hoặc độ phân giải cụ thể. Ví dụ: thư mục drawable-xxhdpi chứa hình ảnh có mật độ cao, nghĩa là thiết bị Android có màn hình độ phân giải cao sẽ vẽ hình ảnh từ thư mục này. Hình ảnh sẽ đẹp trên tất cả các thiết bị Android, bất kể chất lượng màn hình. Bạn có thể tìm thêm thông tin về mật độ màn hình trong tài liệu Android.

Khi đã tạo xong tất cả các thư mục "đã vẽ", bạn có thể quay lại nội dung đã giải nén trong thư mục và sao chép (cmd + C) hình ảnh từ mỗi thư mục và đặt (cmd + V) vào thư mục Android Studio tương ứng.

Khi bạn đã đặt các tập tin, bạn sẽ thấy cửa sổ Sao chép. Chọn OK.

Xem trước bố cục động và chế độ xem XML

Tạo bố cục mà người dùng có thể tương tác là một phần quan trọng của quy trình. Trong Android Studio, điều này có thể được thực hiện trong trình chỉnh sửa bố cục. Mở content_main.xml từ res/layout. Trong tab Thiết kế, bạn có thể di chuyển các thành phần giao diện (nút, trường văn bản).

Ở bên phải Thiết kế có tab Văn bản cho phép bạn chỉnh sửa XML trực tiếp trong bố cục.

Trước khi tạo giao diện, bạn cần xác định một số giá trị. Mở strings.xml trong tab res/values ​​​​và thêm thông tin sau:

Đề xuất câu hỏi mà bạn có thể trả lời “có” hoặc “không”, sau đó nhấp vào quả bóng ma thuật.

strings.xml chứa tất cả các chuỗi xuất hiện trong ứng dụng. Việc tách các dòng này thành các tệp riêng biệt giúp việc quốc tế hóa dễ dàng hơn vì Bạn chỉ cần một tệp chuỗi cho mỗi ngôn ngữ được yêu cầu trong ứng dụng. Ngay cả khi bạn không có ý định dịch ứng dụng của mình sang các ngôn ngữ khác, việc sử dụng tệp chuỗi vẫn luôn được khuyến khích.

Mở dimens.xml trong res/values ​​​​và thêm thông tin sau:

15sp20sp

dimens.xml chứa các giá trị thứ nguyên, các khoảng giới hạn cho bố cục, kích thước văn bản, v.v. Bạn nên lưu dữ liệu này vào một tệp để có thể sử dụng nó để tạo bố cục trong tương lai.

Quay lại content_main.xml và thay thế toàn bộ nội dung của tệp bằng đoạn mã sau:

Mã khá lớn này tạo ra bố cục cho một ứng dụng có tên FortuneBall. Ở cấp cao nhất, bạn đã thêm Bố cục tương đối (bố cục tương đối xác định vị trí của các thành phần con so với thành phần cha). Bố cục tương đối có thể được kéo dài để phù hợp với kích thước của thành phần chính.

Đánh dấu tương đối thêm hai đoạn văn bản, một hình ảnh và một nút. Tất cả những chi tiết này sẽ hiển thị theo thứ tự chúng được thêm vào. Nội dung của chúng có thể được đọc dưới dạng strings.xml (văn bản) và drawable (hình ảnh).

Trong khi cập nhật content_main.xml, hãy lưu ý rằng cửa sổ Xem trước sẽ cập nhật giao diện người dùng:

Lưu ý: nếu cửa sổ xem trước không hiển thị, trong tab Văn bản, hãy nhấp vào nút Xem trước trong bảng chỉnh sửa đánh dấu ở bên phải.

Tạo và khởi chạy.

Và bây giờ bạn đã tạo xong bố cục ứng dụng. Nhưng ở giai đoạn này nó chỉ là một hình ảnh đẹp - việc nhấp vào nút sẽ không dẫn đến điều gì cả.

Kết hợp hoạt động và chế độ xem

Bạn có thể sử dụng các tệp java nằm trong app/src/main/java để thiết lập các kết nối logic trong ứng dụng.

Mở MainActivity.java và thêm dữ liệu này vào dữ liệu hiện có:

Nhập java.util.Random;nhập android.view.View;nhập android.widget.Button;nhập android.widget.ImageView;nhập android.widget.TextView; nhập com.daimajia.androidanimations.library.Techniques;nhập com.daimajia.androidanimations.library.YoYo;

Năm mục nhập đầu tiên trỏ đến các lớp tương ứng trong mã của bạn: Random, View, Button, ImageView và TextView. Hai lần nhập sau đây cho biết rằng bạn sẽ sử dụng hai lớp từ thư viện, bao gồm. build.gradle cho hoạt ảnh. Trong MainActivity.java, trong lớp MainActivity, hãy thêm:

Chuỗi FortuneList = ("Đừng tin vào nó","Hỏi lại sau","Bạn có thể tin tưởng vào nó","Không còn nghi ngờ gì nữa","Triển vọng không tốt lắm","Chắc chắn là như vậy","Dấu hiệu chỉ vào có","Chắc chắn có","Có","Nguồn của tôi nói KHÔNG"); TextView mFortuneText;Button mGenerateFortuneButton;ImageView mFortuneBallImage;

Trong đoạn mã ngắn này, bạn đã đặt 4 biến cho hoạt động. Dòng đầu tiên là các dòng xác định các trạng thái có thể có, ba dòng còn lại là các thành phần giao diện người dùng mà bạn đã tạo trong bố cục/đánh dấu.

Bây giờ thay thế nội dung của phương thức onCreate() bằng nội dung sau:

// 1:super.onCreate(savedInstanceState);// 2:setContentView(R.layout.activity_main);Thanh công cụ thanh công cụ = (Thanh công cụ) findViewById(R.id.toolbar);setSupportActionBar(thanh công cụ);// 3:mFortuneText = (TextView) findViewById(R.id.fortuneText);mFortuneBallImage = (ImageView) findViewById(R.id.fortunateImage);mGenerateFortuneButton = ( Cái nút) findViewById(R.id.fortuneButton); // 4:mGenerateFortuneButton.setOnClickListener(mới Xem.OnClickListener() (@Overridepublic void onClick( Xem lượt xem) (// 5:int chỉ mục = mới Ngẫu nhiên().nextInt(fortuneList.length);mFortuneText.setText(fortuneList);// 6:YoYo.with(Techniques.Swing).duration(500).playOn(mFortuneBallImage);)));

  • Kiểm tra xem hoạt động đã sẵn sàng chưa (triển khai siêu lớp).
  • Chỉ định rằng bố cục cho hoạt động này được thể hiện bằng bố cục bạn đã tạo trước đó, hãy kiểm tra thanh công cụ.
  • Điền giá trị của ba biến bạn đã tạo trước đó vào các thành phần dạng xem của bố cục bằng phương thức findViewById. Giá trị id giống như trong bố cục XML.
  • Thêm OnClickListener trên nút. Đây là một lớp đơn giản đóng gói (đóng gói) chức năng mà một lần bấm nút gọi.
  • Chọn một tùy chọn tùy chỉnh từ FortuneList cho ứng dụng này và cập nhật văn bản bói để hiển thị nó.
  • Sử dụng thư viện của bên thứ ba để thêm phần phụ thuộc vào tệp lớp và do đó thêm hoạt ảnh vào ứng dụng.

Gần như đã sẵn sàng. Nhưng bạn cần phải loại bỏ nút nổi. Đi đến res/layout và mở hoạt động_main.xml.

Tệp bố cục này chứa liên kết đến content_main.xml mà bạn đã chỉnh sửa trước đó. Nó xác định nội dung theo mặc định (thanh công cụ và nút hành động nổi). Tuy nhiên, trong ứng dụng cụ thể này (Fortune Ball), nút nổi là không cần thiết. Do đó, hãy xóa khối mã sau khỏi tệp xml:

Không còn nút nổi ở góc dưới bên phải nữa.

Đặt một câu hỏi (Tài sản của tôi là gì?) - nhấn nút. Kiểm tra ứng dụng.

Màn hình Android

Android Studio chứa rất nhiều công cụ. Mở tab Android Monitor ở cuối cửa sổ Android Studio.

Ở đây bạn sẽ tìm thấy nhiều tùy chọn cho nhà phát triển.

  • Nút camera và phát ở bên trái cho phép bạn chụp ảnh màn hình và quay video.
  • Kính lúp mở ra một số tùy chọn bổ sung, chẳng hạn như phân tích bộ nhớ của ứng dụng.
  • Trình kiểm tra bố cục cung cấp giao diện trực quan để xác định lý do tại sao giao diện của ứng dụng trông theo một cách nhất định.

LogCat cung cấp cái nhìn tổng quan chi tiết về các thông báo hệ thống với khả năng đi sâu vào dữ liệu ứng dụng cụ thể hoặc thậm chí sử dụng thanh tìm kiếm để lọc thông báo nếu chúng không chứa các ký tự cụ thể.

Đảm bảo bạn đã chọn Chỉ hiển thị ứng dụng đã chọn ở góc trên cùng bên phải như trong ảnh chụp màn hình ở trên. Bây giờ chỉ có tin nhắn của ứng dụng của bạn mới hiển thị.

Trong MainActivity.java, thêm phần sau vào danh sách nhập của bạn:

Nhập android.util.Log;

Ở cuối onCreate() trong MainActivity.java thêm dòng sau:

Log.v("THẺ ỨNG DỤNG FORTUNE","onCreateCalled");

Log.v gọi hai tham số - thẻ và tin nhắn. Trong trường hợp này, thẻ được xác định là “THẺ ỨNG DỤNG FORTUNE” và thông báo được xác định là “onCreateCalled”.

Chạy ứng dụng để xem thông báo tường trình trong bảng Logcat.

Lọc nội dung của LogCat, nhập onCreateCalled vào thanh tìm kiếm phía trên bảng điều khiển:

Sau đó xóa văn bản tìm kiếm để xem lại tất cả các thông điệp tường trình.

Một tính năng hữu ích khác là logcat, đó là khả năng xem các thông báo lỗi. Thêm một lỗi vào ứng dụng hoạt động hoàn hảo của bạn để xem mọi thứ hoạt động như thế nào.

Đi tới MainActivity.java và thay đổi dòng sau trong onCreate():

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

Chạy chương trình. Nhấp vào nút May mắn của tôi là gì? Không hoạt động!

Bạn sẽ sửa lỗi như thế nào nếu bạn không biết có lỗi? Logcat sẽ giúp với điều này.

Chuyển đến bảng Logcat - nó trông giống như thế này:

Ở đây có rất nhiều dòng chữ màu đỏ. Trong trường hợp này, vấn đề nằm ở dòng 50 trong tệp MainActivity.java. LogCat đã biến liên kết này thành siêu liên kết màu xanh lam. Nếu bạn nhấn nó, bạn có thể tìm ra vấn đề là gì.

Bằng cách thay đổi mFortuneText = (TextView) findViewById(R.id.fortuneText), bạn đã tạo một biến nhưng không chỉ định giá trị của nó - do đó có ngoại lệ con trỏ null. Quay lại và thay đổi mã, chạy ứng dụng. Lần này mọi thứ hoạt động trơn tru. Logcat là một công cụ hữu ích để tìm lỗi.

Chia sẻ bài viết này:

Những bài viết liên quan

Tạo chương trình của riêng bạn cho thiết bị di động là một nhiệm vụ khó khăn, có thể được thực hiện bằng cách sử dụng các shell đặc biệt để tạo chương trình cho Android và có các kỹ năng lập trình cơ bản. Hơn nữa, việc lựa chọn môi trường tạo ứng dụng di động cũng không kém phần quan trọng, vì chương trình viết chương trình trên Android có thể đơn giản hóa đáng kể quá trình phát triển và thử nghiệm ứng dụng của bạn.

Android Studio là một môi trường phần mềm tích hợp được tạo bởi Google. Nếu chúng ta xem xét các chương trình khác, Android Studio sẽ được so sánh thuận lợi hơn với các chương trình tương tự do tổ hợp này được điều chỉnh để phát triển ứng dụng cho Android, cũng như thực hiện nhiều loại thử nghiệm và chẩn đoán khác nhau. Ví dụ: Android Studio bao gồm các công cụ để kiểm tra tính tương thích của ứng dụng bạn đã viết với các phiên bản Android và nền tảng khác nhau, cũng như các công cụ để thiết kế ứng dụng di động và xem các thay đổi gần như ngay lập tức. Điều ấn tượng nữa là sự hỗ trợ cho các hệ thống kiểm soát phiên bản, bảng điều khiển dành cho nhà phát triển và nhiều mẫu thiết kế cơ bản tiêu chuẩn cũng như các thành phần tiêu chuẩn để tạo ứng dụng Android. Ngoài vô số lợi ích, bạn cũng có thể thêm thực tế là sản phẩm được phân phối hoàn toàn miễn phí. Nhược điểm là môi trường chỉ có giao diện tiếng Anh.

Studio RAD


Phiên bản mới của RAD Studio, được gọi là Berlin, là một công cụ chính thức để phát triển các ứng dụng đa nền tảng, bao gồm các chương trình di động, bằng ngôn ngữ Object Pascal và C++. Ưu điểm chính của nó so với các môi trường phần mềm tương tự khác là nó cho phép phát triển rất nhanh thông qua việc sử dụng các dịch vụ đám mây. Những phát triển mới trong môi trường này cho phép bạn xem trong thời gian thực kết quả thực hiện chương trình và tất cả các quy trình xảy ra trong ứng dụng, điều này cho phép bạn nói về tính chính xác của quá trình phát triển. Bạn cũng có thể linh hoạt chuyển đổi từ nền tảng này sang nền tảng khác hoặc sang dịch vụ máy chủ. Nhược điểm của RAD Studio Berlin là giấy phép phải trả phí. Nhưng sau khi đăng ký, bạn có thể nhận được phiên bản dùng thử miễn phí của sản phẩm trong 30 ngày. Giao diện môi trường là tiếng Anh.

Eclipse là một trong những nền tảng phần mềm nguồn mở phổ biến nhất để viết ứng dụng, bao gồm cả ứng dụng di động. Một trong những ưu điểm chính của Eclipse là một bộ API khổng lồ để tạo các mô-đun chương trình và sử dụng phương pháp RCP, cho phép bạn viết hầu hết mọi ứng dụng. Nền tảng này cũng cung cấp cho người dùng các thành phần của IDE thương mại như một trình soạn thảo thuận tiện với tính năng tô sáng cú pháp, trình gỡ lỗi hoạt động ở chế độ phát trực tuyến, trình điều hướng lớp, trình quản lý tệp và dự án, hệ thống kiểm soát phiên bản và tái cấu trúc mã. Đặc biệt thú vị là cơ hội cung cấp SDK cần thiết cho việc viết chương trình. Nhưng để sử dụng Eclipse bạn cũng sẽ phải học tiếng Anh.

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 pháp.

Đườ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.