CĂN BẢN
INTENTS
GIAO DIỆN
CÁC KHÁI NIỆM
VÍ DỤ
TÀI LIỆU
HỌC LẬP TRÌNH ANDROID
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Cấu trúc thư mục Project Android

Trong bài này chúng ta sẽ tìm hiểu cấu trúc thư mục của một project Android gồm có những gì, để từ đó có thể áp dụng vào những ứng dụng mà sau này mình sẽ xây dựng. Tuy nhiên vì mỗi người một ý nên cấu trúc có thể khác nhau, nhưng cơ chế các component thì không có gì khác.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Cấu trúc chuẩn trên Android Studio

Để phát triển các ứng dụng Android thì bạn cần một IDE, và Android Studio là IDE chính thức được Google cung cấp miễn phí. Nó đã được tích hợp môi trường phát triển nên bạn chỉ việc sử dụng mà không cần quan tâm gì thêm.

Khi thiết lập môi trường phát triển Android và tạo một ứng dụng bằng Android Studio thì bạn sẽ nhận được cấu trúc thư mục project sẽ giống như hình dưới đây.

1 png

Cấu trúc project của bạn có thể khác với minh họa trên. Để xem cấu trúc file thực tế của project, chọn Project từ menu dropdown nằm ở góc trên bên trái (mặc định chọn Android).

Bài viết này được đăng tại [free tuts .net]

2. Giải thích ý nghĩa các thưc mục

Project của ứng dụng Android sẽ chứa nhiều loại app modules, source code files và resource files khác nhau. Ta sẽ khám phá tất cả các thư mục và file ở dưới đây.

Thư mục Java

Thư mục này sẽ chứa tất cả các file mã nguồn java ( .java ) mà chúng ta sẽ tạo trong quá trình phát triển ứng dụng, bao gồm cả mã JUnit test code. Bất cứ khi nào tạo bất kỳ project / ứng dụng mới nào, file lớp MainActivity.java sẽ tự động tạo trong package là com.tutlane.helloworld, giống như dưới đây.

2 png

Thư mục res (Resources)

Đây là một thư mục quan trọng sẽ chứa tất cả các resource không phải code, chẳng hạn như ảnh bitmap, UI strings, XML layouts như hiển thị bên dưới.

3 png

Thư mục res (Resources) sẽ chứa một số loại thư mục khác :

Thư mục drawable (res/drawable)

Nó sẽ chứa các dạng ảnh khác nhau. Tốt nhất là nên thêm tất cả các hình ảnh vào thư mục drawable ngoại trừ các biểu tượng ứng dụng / laucher.

Thư mục layout (res/layout)

Thư mục này sẽ chứa tất cả các file XML layout đã sử dụng để xác định Giao diện người dùng của ứng dụng. Sau đây là cấu trúc của thư mục layout.

4 png

Thư mục Mipmap (res / mipmap)

Thư mục này sẽ chứa các biểu tượng ứng dụng / laucher được sử dụng để hiển thị trên màn hình chính. Các loại biểu tượng sẽ có tỷ trọng khác nhau như hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi, để sử dụng dựa trên kích thước của thiết bị.

Sau đây là cấu trúc của thư mục mipmap.

5 png

Thư mục values (res/values)

Thư mục này sẽ chứa một số file XML khác nhau, chẳng hạn như strings, colors, styles . Sau đây là cấu trúc của thư mục values.

6 png

Thư mục Manifests

Thư mục này sẽ chứa một file Manifest ( AndroidManifest.xml ) cho ứng dụng Android . File manifest này sẽ chứa thông tin về ứng dụng , chẳng hạn như android version, access permissions, metadata, v.v. và các component của ứng dụng. File manifest sẽ hoạt động như một trung gian giữa hệ điều hành Android và ứng dụng .

Sau đây là cấu trúc của thư mục mainfests.

7 png

Gradle Scripts

Trong Android, Gradle là công cụ build hệ thống và Gradle được tích hợp sẵn vào Android Studio, và được điều khiển một cách tự động thông qua Android Studio. Trong gradle có build.gradle (Project) build.gradle (Module) được sử dụng để build các cấu hình áp dụng cho tất cả các module ứng dụng hoặc dành riêng cho một mô-đun ứng dụng.

Sau đây là cấu trúc của Gradle Script .

8 png

Sau đây là các file quan trọng cần để triển khai một ứng dụng trong android studio.

File Android Layout (Activity_main.xml)

Giao diện người dùng của ứng dụng sẽ được thiết kế trong file này và nó sẽ có hai chế độ Design Text . Nó sẽ tồn tại trong thư mục layout. Cấu trúc của file activity_main.xml trong chế độ Design như dưới đây.

9 png

Ta có thể sửa đổi file activity_main.xml bằng cách sử dụng các chế độ Design Text. Nếu chúng ta chuyển sang chế độ Text, file activity_main.xml sẽ chứa code như dưới đây.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.tutlane.helloworld.MainActivity">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />


</android.support.constraint.ConstraintLayout>

File Android Main Activity (MainActivity.java)

File main activity trong ứng dụng Android là MainActivity.java và nó nằm trong thư mục java . File MainActivity.java sẽ chứa mã java để xử lý tất cả các activity liên quan đến ứng dụng .

Sau đây là mã mặc định file MainActivity.java của ứng dụng HelloWorld.

package com.tutlane.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);
    }
}

File Android Manifest (AndroidManifest.xml)

Nói chung, ứng dụng sẽ chứa nhiều activity và cần xác định tất cả các activity trong file AndroidManifest.xml . Trong file manifest, ta cần đề cập đến main activity cho ứng dụng bằng cách sử dụng các thuộc tính MAIN action và LAUNCHER category trong các intent filters (<intent-filter>). Trong trường hợp nếu ta không đề cập đến MAIN action và LAUNCHER category cho main activity, biểu tượng ứng dụng sẽ không xuất hiện trong danh sách ứng dụng của màn hình chính.

Sau đây là mã mặc định file AndroidManifest.xml của ứng dụng HelloWorld.

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        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 là các thư mục và file cần thiết để triển khai một ứng dụng trong android studio. Nếu bạn muốn xem cấu trúc file thực tế của project, chọn Project từ menu dropdown nằm ở góc trên bên trái (mặc định chọn Android).

Cùng chuyên mục:

Tìm hiểu về vòng đời của Activity trong Android

Tìm hiểu về vòng đời của Activity trong Android

AlarmManager trong Android

AlarmManager trong Android

Menu trong Android

Menu trong Android

Fragments trong Android

Fragments trong Android

SearchView trong Android

SearchView trong Android

TabLayout trong Android

TabLayout trong Android

ViewStub trong Android

ViewStub trong Android

Image Slider trong Android

Image Slider trong Android

Trình chuyển đổi hình ảnh (Image Switcher) trong Android

Trình chuyển đổi hình ảnh (Image Switcher) trong Android

ScrollView trong Android

ScrollView trong Android

ProgressBar trong Android

ProgressBar trong Android

Đồng hồ Analog và đồng hồ kỹ thuật số trong Android

Đồng hồ Analog và đồng hồ kỹ thuật số trong Android

Cách dùng TimePicker trong Android

Cách dùng TimePicker trong Android

Cách dùng DatePicker trong Android

Cách dùng DatePicker trong Android

Cách dùng SeekBar trong Android

Cách dùng SeekBar trong Android

Cách dùng WebView trong Android

Cách dùng WebView trong Android

Cách dùng RatingBar trong Android

Cách dùng RatingBar trong Android

Cách dùng ListView trong Android

Cách dùng ListView trong Android

AutoCompleteTextView trong Android

AutoCompleteTextView trong Android

Spinner trong Android

Spinner trong Android

Top