您好,我是碼農飛哥,感謝您閱讀本文,歡迎一鍵三連哦。

本文會重點介紹如何建立第一個Android應用,以及如何使用Android Studio進行除錯


乾貨滿滿,建議收藏,需要用到時常看看。小夥伴們如有問題及需要,歡迎踴躍留言哦~ ~ ~。

前言

上一篇文章我們介紹了Android Studio的安裝以及Android SDK的目錄結構。這篇文章將介紹如何使用Android Studio建立第一個Android應用,重點介紹Android Studio的目錄結構。

建立第一個Android應用

首先,讓我們來建立第一個Android應用。在歡迎頁面點選New Project按鈕。



進入下一個介面之後選中Basic Activity 按鈕,建立一個基本檢視的Android應用。



接著進入下一個介面,在這個介面中可以填寫專案名,包名等等。這裡我新建了一個名為HelloWorld專案。



設定完成之後點選Finish 按鈕。即可完成第一個Android專案的建立。應用載入完成之後專案HelloWorld的目錄結構如下圖所示:



程式載入沒問題之後,就可以設定一個模擬器,操作步驟如下圖所示,這裡我設定了Nexus S API 30和Pixel2 API 30 兩個模擬器,每個模擬的尺寸都不相同。





設定好模擬器之後,如果只需要執行專案的話則點選下圖左邊的按鈕,如果要對程式碼進行除錯(debug模式)的話則需要點選下圖右邊的按鈕。



執行結果如下圖所示:

Android應用的目錄結構

說完了Android應用程式的建立之後,接下來就來看下這個HelloWold 應用程式的目錄結構吧。



如果Project視窗沒有出現,則依次選擇 View->Tool Windows->Project。選擇好視窗之後,從該視窗的下拉列表中選擇Android檢視。然後,你就能看到如下檔案。

  1. app-> java->com.jay.helloworld->MainActivity

    這是主Activity。它是應用的入口,當您構建和執行應用時,系統會啟動此Activity的例項並載入其佈局,

public class MainActivity extends AppCompatActivity { private AppBarConfiguration appBarConfiguration;
private ActivityMainBinding binding; @Override
protected void onCreate(Bundle savedInstanceState) {
// 呼叫父類的onCreate方法
super.onCreate(savedInstanceState); binding = ActivityMainBinding.inflate(getLayoutInflater());
// 呼叫setContentView方法顯示檢視介面
setContentView(binding.getRoot());
// 設定對工具欄ToolBar的支援
setSupportActionBar(binding.toolbar); NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main);
appBarConfiguration = new AppBarConfiguration.Builder(navController.getGraph()).build(); NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
// 點選事件
binding.fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
·······省略部分程式碼
}

MainActivity 繼承於AppCompatActivity,並重寫了onCreate方法,AppCompatActivity類是Android Studio中預設的構建自定義Activity的模板類。

這裡其實還涉及到FirstFragment和SecondFragment兩個Fragment。它們兩個是用來控制圖7中的點選按鈕的。

4. app->res->layout->activity_main.xml

此XML檔案定義了activity介面(UI)的佈局,整體佈局都是採用CoordinatorLayout佈局,這個佈局是support v7系統新增的佈局,具有便於協調子佈局的特點,該佈局是增強版的FrameLayout佈局,它通常與ToolBar和FloatingActionButton合用。

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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=".MainActivity"> <com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Theme.HelloWorld.AppBarOverlay"> <androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/Theme.HelloWorld.PopupOverlay" /> </com.google.android.material.appbar.AppBarLayout> <include layout="@layout/content_main" /> <com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginEnd="@dimen/fab_margin"
android:layout_marginBottom="16dp"
app:srcCompat="@android:drawable/ic_dialog_email" /> </androidx.coordinatorlayout.widget.CoordinatorLayout>

其中ToolBar是圖7中顯示HelloWorld的藍色工具欄,具有承載系統選單的功能。FloatingActionButton是圖7中右下側的郵箱圖示的按鈕。

<include layout="@layout/content_main" />

這行程式碼將content_main.xml 的佈局嵌入activity_main佈局中。content_main.xml的程式碼為:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"> <fragment
android:id="@+id/nav_host_fragment_content_main"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:defaultNavHost="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/nav_graph" />
</androidx.constraintlayout.widget.ConstraintLayout>
  1. app->manifests->AndroidMainifest.xml

    清單檔案描述了應用的基本特性並定義了每個應用元件,是整個專案的配置資源,裡面配置的內容包括當前應用程式所在的包,應用程式中的Activity,應用程式的訪問許可權等等。

  2. Gradle Scripts -> build.gradle

    這裡是gradle構建專案的檔案,一個針對專案Project:HelloWorld,一個針對應用模組Project:HelloWorld.app。每個模組均有自己的build.gradle檔案。但此專案當前僅有一個模組,所以只有一個針對應用模組。

Android Studio的除錯

學會用Android Studio進行程式碼除錯是開發者的一項必備技能。

設定斷點

雙擊需要新增斷點的程式碼行的左側。出現如下紅點說明斷點設定成功。

除錯

斷點設定好之後,還需要在除錯模式下執行,才能是斷點生效。點選下圖的小烏龜進入除錯模式。



執行之後可以看到Debugger和Console兩個tab頁面,Debugger頁面主要是用來記錄方法的呼叫棧以及檢視執行時的變數的值。Console則是控制檯。

總結

本文首先詳細介紹瞭如何建立第一個Android應用程式,接著介紹瞭如何用Android Studio進行除錯。

我是碼農飛哥,再次感謝您讀完本文

全網同名【碼農飛哥】。不積跬步,無以至千里,享受分享的快樂

我是碼農飛哥,再次感謝您讀完本文