您好,我是碼農飛哥,感謝您閱讀本文,歡迎一鍵三連哦。
本文會重點介紹如何創建第一個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視圖。然后,你就能看到如下文件。
- 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>
- app->manifests->AndroidMainifest.xml
清單文件描述了應用的基本特性並定義了每個應用組件,是整個項目的配置資源,里面配置的內容包括當前應用程序所在的包,應用程序中的Activity,應用程序的訪問權限等等。
- Gradle Scripts -> build.gradle
這里是gradle構建項目的文件,一個針對項目Project:HelloWorld,一個針對應用模塊Project:HelloWorld.app。每個模塊均有自己的build.gradle文件。但此項目當前僅有一個模塊,所以只有一個針對應用模塊。
Android Studio的調試
學會用Android Studio進行代碼調試是開發者的一項必備技能。
設置斷點
雙擊需要添加斷點的代碼行的左側。出現如下紅點說明斷點設置成功。
調試
斷點設置好之后,還需要在調試模式下運行,才能是斷點生效。點擊下圖的小烏龜進入調試模式。
運行之后可以看到Debugger和Console兩個tab頁面,Debugger頁面主要是用來記錄方法的調用棧以及查看運行時的變量的值。Console則是控制台。
總結
本文首先詳細介紹了如何創建第一個Android應用程序,接着介紹了如何用Android Studio進行調試。
我是碼農飛哥,再次感謝您讀完本文。
全網同名【碼農飛哥】。不積跬步,無以至千里,享受分享的快樂
我是碼農飛哥,再次感謝您讀完本文。