Android - Ví dụ về Hello World

Hãy để chúng tôi bắt đầu lập trình thực tế với Android Framework. Trước khi bắt đầu viết ví dụ đầu tiên bằng Android SDK, bạn phải đảm bảo rằng bạn đã thiết lập đúng môi trường phát triển Android của mình như đã giải thích trong hướng dẫn Thiết lập Android - Môi trường . Tôi cũng cho rằng bạn có một chút kiến ​​thức làm việc với Android studio.

Vì vậy, chúng ta hãy tiến hành viết một Ứng dụng Android đơn giản sẽ in "Hello World!".

Tạo ứng dụng Android

Bước đầu tiên là tạo một Ứng dụng Android đơn giản bằng Android studio. Khi bạn nhấp vào biểu tượng Android studio, nó sẽ hiển thị màn hình như hình dưới đây

Bạn có thể bắt đầu phát triển ứng dụng của mình bằng cách gọi bắt đầu một dự án studio android mới. trong khung cài đặt mới nên hỏi Tên ứng dụng, thông tin gói và vị trí của dự án.−

Sau khi nhập tên ứng dụng, nó sẽ được gọi là chọn các yếu tố hình thức mà ứng dụng của bạn chạy, ở đây cần chỉ định SDK tối thiểu, trong hướng dẫn của chúng tôi, tôi đã khai báo là API23: Android 6.0 (Mashmallow) -

Cấp độ cài đặt tiếp theo phải chứa lựa chọn hoạt động cho thiết bị di động, nó chỉ định bố cục mặc định cho Ứng dụng.

Ở giai đoạn cuối, nó sẽ là công cụ phát triển mở để viết mã ứng dụng.

Giải phẫu ứng dụng Android

Trước khi chạy ứng dụng của mình, bạn nên biết một số thư mục và tệp trong dự án Android -

Sr.No. Thư mục, Tệp & Mô tả
1

Java

Cái này chứa .javacác tệp nguồn cho dự án của bạn. Theo mặc định, nó bao gồm tệp nguồn MainActivity.java có lớp hoạt động chạy khi ứng dụng của bạn được khởi chạy bằng biểu tượng ứng dụng.

2

res/drawable-hdpi

Đây là thư mục dành cho các đối tượng có thể vẽ được, được thiết kế cho các màn hình có mật độ cao.

3

res/layout

Đây là thư mục dành cho các tệp xác định giao diện người dùng của ứng dụng của bạn.

4

res/values

Đây là một thư mục dành cho các tệp XML khác nhau chứa tập hợp các tài nguyên, chẳng hạn như các định nghĩa về chuỗi và màu sắc.

5

AndroidManifest.xml

Đây là tệp kê khai mô tả các đặc điểm cơ bản của ứng dụng và xác định từng thành phần của ứng dụng.

6

Build.gradle

Đây là tệp được tạo tự động chứa compileSdkVersion, buildToolsVersion, applicationId, minSdkVersion, targetSdkVersion, versionCode và versionName

Phần sau sẽ giới thiệu tổng quan ngắn gọn về các tệp ứng dụng quan trọng.

Tệp hoạt động chính

Mã hoạt động chính là một tệp Java MainActivity.java. Đây là tệp ứng dụng thực tế cuối cùng được chuyển đổi thành tệp thực thi Dalvik và chạy ứng dụng của bạn. Sau đây là mã mặc định được tạo bởi trình hướng dẫn ứng dụng cho Hello World! ứng dụng -

package com.example.helloworld;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }
}

Ở đây, R.layout.activity_main đề cập đến tệp activity_main.xml nằm trong thư mục res / layout . Phương thức onCreate () là một trong nhiều phương thức được tìm khi một hoạt động được tải.

Tệp kê khai

Bất kỳ thành phần nào bạn phát triển như một phần của ứng dụng của mình, bạn phải khai báo tất cả các thành phần của nó trong tệp kê khai.xml nằm ở thư mục gốc của thư mục dự án ứng dụng. Tệp này hoạt động như một giao diện giữa Hệ điều hành Android và ứng dụng của bạn, vì vậy nếu bạn không khai báo thành phần của mình trong tệp này, thì nó sẽ không được Hệ điều hành xem xét. Ví dụ: tệp kê khai mặc định sẽ giống như tệp sau:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tutorialspoint7.myapplication">

   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
      
      <activity android:name=".MainActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>

Ở đây các thẻ <application> ... </application> bao gồm các thành phần liên quan đến ứng dụng. Thuộc tính android: icon sẽ trỏ đến biểu tượng ứng dụng có sẵn dưới res / drawable-hdpi . Ứng dụng sử dụng hình ảnh có tên ic_launcher.png nằm trong các thư mục có thể vẽ được

Thẻ <activity> được sử dụng để chỉ định một hoạt động và thuộc tính android: name chỉ định tên lớp đủ điều kiện của lớp con Hoạt động và thuộc tính android: label chỉ định một chuỗi để sử dụng làm nhãn cho hoạt động. Bạn có thể chỉ định nhiều hoạt động bằng thẻ <activity>.

Các actioncho bộ lọc ý định được đặt tên là android.intent.action.MAIN để chỉ ra rằng hoạt động này đóng vai trò là điểm nhập cho ứng dụng. Cáccategoryđối với bộ lọc ý định được đặt tên là android.intent.category.LAUNCHER để chỉ ra rằng ứng dụng có thể được khởi chạy từ biểu tượng trình khởi chạy của thiết bị.

Các @string đề cập đến strings.xml tập tin giải thích dưới đây. Do đó, @ string / app_name đề cập đến chuỗi app_name được xác định trong tệp string.xml, là "HelloWorld". Theo cách tương tự, các chuỗi khác được điền vào ứng dụng.

Sau đây là danh sách các thẻ mà bạn sẽ sử dụng trong tệp kê khai của mình để chỉ định các thành phần ứng dụng Android khác nhau -

  • phần tử <activity> cho các hoạt động

  • các phần tử <service> cho các dịch vụ

  • Phần tử <receiver> cho máy thu phát sóng

  • Các phần tử <provider> dành cho nhà cung cấp nội dung

Tệp chuỗi

Các strings.xmltệp nằm trong thư mục res / values và nó chứa tất cả văn bản mà ứng dụng của bạn sử dụng. Ví dụ: tên của các nút, nhãn, văn bản mặc định và các loại chuỗi tương tự đi vào tệp này. Tệp này chịu trách nhiệm về nội dung văn bản của chúng. Ví dụ, một tệp chuỗi mặc định sẽ giống như tệp sau:

<resources>
   <string name="app_name">HelloWorld</string>
   <string name="hello_world">Hello world!</string>
   <string name="menu_settings">Settings</string>
   <string name="title_activity_main">MainActivity</string>
</resources>

Tệp bố cục

Các activity_main.xmllà một tệp bố cục có sẵn trong thư mục res / layout , được ứng dụng của bạn tham chiếu khi xây dựng giao diện của nó. Bạn sẽ thường xuyên sửa đổi tệp này để thay đổi bố cục ứng dụng của mình. Đối với "Hello World!" ứng dụng, tệp này sẽ có nội dung sau liên quan đến bố cục mặc định -

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_centerVertical="true"
      android:padding="@dimen/padding_medium"
      android:text="@string/hello_world"
      tools:context=".MainActivity" />
      
</RelativeLayout>

Đây là một ví dụ về RelativeLayout đơn giản mà chúng ta sẽ nghiên cứu trong một chương riêng biệt. Các TextView là một điều khiển Android dùng để xây dựng các giao diện đồ họa và nó có các thuộc tính khác nhau như android: layout_width , android: layout_height vv mà đang được sử dụng để thiết lập chiều rộng và chiều cao vv .. của nó Các @string đề cập đến file strings.xml nằm ở thư mục res / values. Do đó, @ string / hello_world đề cập đến chuỗi hello được xác định trong tệp string.xml, là "Hello World!".

Chạy ứng dụng

Hãy cố gắng chạy Hello World!ứng dụng chúng tôi vừa tạo. Tôi cho rằng bạn đã tạo raAVDtrong khi thiết lập môi trường. Để chạy ứng dụng từ Android studio, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào

biểu tượng Chạy từ thanh công cụ. Android studio cài đặt ứng dụng trên AVD của bạn và khởi động nó và nếu mọi thứ đều ổn với thiết lập và ứng dụng của bạn, nó sẽ hiển thị sau cửa sổ Trình mô phỏng -

Xin chúc mừng!!! bạn đã phát triển Ứng dụng Android đầu tiên của mình và bây giờ chỉ cần tiếp tục làm theo từng bước phần còn lại của hướng dẫn để trở thành Nhà phát triển Android tuyệt vời. Tất cả những gì tốt nhất.