您好,我是碼農飛哥,感謝您閱讀本文,歡迎一鍵三連哦,
本文會重點介紹如何創建第一個Android應用,以及如何使用Android Studio進行除錯
干貨滿滿,建議收藏,需要用到時常看看,小伙伴們如有問題及需要,歡迎踴躍留言哦~ ~ ~,
文章目錄
- 前言
- 創建第一個Android應用
- Android應用的目錄結構
- Android Studio的除錯
- 設定斷點
- 除錯
- 總結
- Java知識圖譜
前言
上一篇文章我們介紹了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進行除錯,
Java知識圖譜
因為學習安卓需要良好的Java基礎,這里推薦一下CSDN最新出的Java知識圖譜,屬實不錯! 《Java知識圖譜》,尺寸 870mm x 560mm,展開后有一張辦公桌大小,也可以折疊成一本書的尺寸,有興趣的小伙伴可以了解一下------掃描下圖中的二維碼即可購買,

我本人也已經用上了,感覺非常好用,圖譜桌上放,知識心中留,
我是碼農飛哥,再次感謝您讀完本文,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/301794.html
標籤:其他
上一篇:AVPlayer音頻和視頻播放
