CĂN BẢN
INTENTS
GIAO DIỆN
CÁC KHÁI NIỆM
VÍ DỤ
TÀI LIỆU
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:

Cách ẩn thanh tiêu đề và hiển thị toàn màn hình trong Android

Cách ẩn thanh tiêu đề và hiển thị toàn màn hình trong Android

Cách dùng file File R.java trong Android

Cách dùng file File R.java trong Android

File AndroidManifest.xml trong Android

File AndroidManifest.xml trong Android

Giới thiệu Dalvik Virtual Machine trong Android  (DVM)

Giới thiệu Dalvik Virtual Machine trong Android (DVM)

FrameLayout trong Android

FrameLayout trong Android

Trong các UI Layout, FrameLayout là loại Layout đơn giản nhất, xem ngay tại đây

TableLayout trong Android

TableLayout trong Android

Trong bài này chúng ta sẽ tìm hiểu TalbeLayout trong Android

Relative Layout trong Android

Relative Layout trong Android

Trong bài này chúng ta sẽ tìm hiểu RelativeLayout trong Android

LinearLayout trong Android

LinearLayout trong Android

Ở bài trước chúng ta đã tìm hiểu sơ qua về các loại layout trong…

UI Layout trong Android

UI Layout trong Android

Trong bài này chúng ta sẽ tìm hiểu về UI Layout trong Android

View và ViewGroup trong Android

View và ViewGroup trong Android

Các thành phần cơ bản để xây dựng giao diện người dùng (UI) trong Android…

Intent Filters trong Android

Intent Filters trong Android

Trong bài này chúng ta sẽ tìm hiểu về Intent Filter trong Android

Explicit Intents trong Android

Explicit Intents trong Android

Trong bài này chúng ta sẽ tìm hiểu một loại Intent mới trong Android đó…

Implicit Intents trong Android

Implicit Intents trong Android

Trong bài này chúng ta sẽ tìm hiểu Implicit Intent trong Android

Giới thiệu Intent trong Android

Giới thiệu Intent trong Android

Trong Android, Intent là những tin nhắn không đồng bộ cho phép các component

Fragment trong Android

Fragment trong Android

Trong bài này chúng ta sẽ tìm hiểu một khái niệm mới trong lập trình…

Services trong Android

Services trong Android

Trong bài này chúng ta sẽ tìm hiểu Services trong Android.

Broadcast Receiver trong Android

Broadcast Receiver trong Android

Bài này sẽ tìm hiểu Broadcast Receiver trong Android.

Content Providers trong Android

Content Providers trong Android

Bài này chúng ta sẽ tìm hiểu về content provider trong Android, nó đóng vai…

Activity trong Android

Activity trong Android

Trong Android, Activity biểu thị một màn hình đơn với giao diện người dùng (UI)…

Component trong một ứng dụng Android

Component trong một ứng dụng Android

Top