文©邱士豪 老師
Android Studio是一款強大的整合開發環境(IDE),專門為Android平台的應用開發而設計。它由Google推出,基於JetBrains公司的IntelliJ IDEA軟件進行擴展,旨在提供一個一體化的開發環境給Android開發者。以下是Android Studio的一些關鍵特點和功能,本篇將提供詳細的Android studio教學,介紹其為何成為Android應用開發的首選工具。
選擇Android Studio的十大理由:為什麼它是開發者的首選?
代碼編輯:
Android Studio提供了一個功能豐富的程式碼編輯器,包括語法高亮、程式碼自動完成、程式碼重構、即時的程式碼分析和錯誤提示等功能,大大提高了程式碼編寫的效率和質量。
模擬器和設備管理:
內建的模擬器讓開發者能夠在多種Android設備和配置上測試他們的應用,而不需要實際擁有這些設備。此外,它還支持直接將應用安裝到連接的Android設備上進行測試。
性能工具:
Android Studio集成了多種性能分析工具,如Android Profiler,它幫助開發者監控應用的CPU、內存和網絡使用情況,從而可以更容易地識別和解決性能問題。
版面設計編輯器:
提供了一個視覺化的介面,允許開發者拖放元件來設計應用的UI,同時也可以直接編輯XML代碼,非常方便地構建出直觀美觀的用戶界面。
Gradle集成:
Android Studio使用Gradle作為其官方構建系統,這使得自動化構建過程、依賴管理和版本控制變得更加簡單。
版本控制系統集成:
Android Studio支持Git、Subversion、Mercurial等多種版本控制系統,讓代碼的版本控制變得更加高效和直觀。
多語言支持:
雖然Android應用主要是使用Java和Kotlin開發的,但Android Studio也支持C/C++和其他語言,通過Android NDK進行原生開發。
插件和擴展:
通過支持插件,Android Studio可以擴展新的功能和工具,社區和Google官方都提供了豐富的插件資源,以滿足不同開發者的需求。
即時布局預覽:
開發者可以在編輯UI元素時即時預覽布局在不同設備和屏幕尺寸上的效果,這樣可以快速調整和優化
UI設計。
Google Cloud Platform集成:
方便地將Google的雲服務,如Firebase和Google App Engine集成到應用中,提供強大的後端支持和分析功能。
Android studio教學介紹 | Hedgehog新功能
本篇Android Studio教學使用的為最新版本的Hedgehog,其新功能如下:
增強的Compose預覽:
提供更好的工具支持,包括動態預覽和即時互動功能,讓開發者更輕鬆地設計和測試UI。
性能優化:
對IDE進行了性能優化,提高了應用編譯和運行時的速度,讓開發過程更加流暢。
新的調試功能:
引入了更先進的調試工具,包括布局檢查器的增強功能和更詳細的性能分析數據。
改進的版本控制系統集成:
對Git等版本控制系統的支持更加完善,提供了更多自動化和協同工作的功能。
以上這些只是部分亮點,若是想獲得更完整和最新的資訊,建議可查看
Android Developers官方網站以獲取更多資訊。
Android studio教學 | 9步驟完成安裝
1. 前往Android Studio官方網站
首先,打開Android開發者官方網站,尋找並下載最新版本的
Android Studio。
2. 詳閱條款及細則
勾選我已詳閱並同意上述條款及細則,點選「下載Android Studio Hedgehog | 2023.1.1 Patch 2 的 Windows」。
3. 啟動安裝程序
下載完成後,找到並運行Android Studio的安裝文件,準備開始安裝。
4. 安裝前確認
視窗跳出引導畫面後,點擊「Next>」。
5.安裝Android虛擬機
勾選「Android Virtual Device」後,點擊「Next>」。
6. 確認路徑
確認資料夾的路徑後,點選「Next>」。
7. 開始安裝
選擇好所有選項後,點擊「Install」開始執行安裝。
8. 確認安裝細節
可透過「Show details」查看細節,確認完成後點選「Next>」。
9. 完成安裝
安裝完成後,最後點擊「Finish」即完成安裝流程。
Android studio教學 | 建立第一個專案
在前面的Android Studio教學和介紹中,我們分享了Android Studio的特色、新功能以及安裝步驟。相信您已經迫不及待想要建立新專案了,現在,就讓我們深入探討其界面和功能,繼續您的學習之旅吧!
1. 建立新專案
開啟Android Studio後,點選「New Project」。
2. 選擇版面
點選左邊選項「Phone and Table」,並選擇「Empty Views Activity」。
3. 填寫專案資訊
- Name專案名稱,這裡填的是 "MyProject"。
- Package name應用的唯一識別符號,這裡是 "com.example.myproject"。
- Save location(保存位置)專案在電腦上的儲存位置,這裡是 "C:\Users\xvpow\AndroidStudioProjects\MyProject″
- Language(語言)你開發應用時選擇使用的程式語言,可以選擇 Java 或 Kotlin,這裡選擇的是 Java。
- Minimum SDK(最小SDK)應用支持的最低 Android SDK 版本,這裡選擇的是 API 24(Android 7.0 Nougat),旁邊的提示告訴你,選擇這個版本意味著你的應用將可以運行在大約 96.3% 的 Android 設備上。
- Build configuration language(構建配置語言)用於設定構建腳本的語言,可以選擇傳統的 Groovy 或是新的 Kotlin DSL(build.gradle.kts),這裡選擇的是 Kotlin DSL。
輸入完畢後,點選「Finish」後,即可開啟專案。
開啟專案後畫面如下:
Android studio教學 | 介面與功能介紹
專案結構功能
Android Studio 中的專案結構窗格,這個窗格通常在 IDE 的左側,用來導航和管理你的專案文件和資源。以下是各個項目的功能:
這是應用程式模組,所有與應用相關的程式碼、資源文件通常都在這個目錄下。
這裡包含了 AndroidManifest.xml 文件,它是所有 Android 應用程式的必要文件,聲明了應用的基本資訊,比如支持的設備配置、應用所需的權限等。
這個目錄包含了所有的 Java 源代碼文件。在這個例子中,它有一個包 com.example.myproject,這個包中包含了一個 MainActivity,這是應用的主要進入點。
-
com.example.myproject (androidTest):
這裡放置的是針對 Android 平台的測試代碼,用於進行應用的儀器測試。
-
com.example.myproject (test):
這個目錄用於存放單元測試代碼,這些測試不需要 Android 設備或模擬器。
這個資源目錄包含所有非代碼資源,如布局(layout)、繪圖(drawable)和值(values)等。
存放應用中使用的圖片和其他圖形文件。
包含定義用戶界面布局的 XML 文件。
用於存放不同解析度的應用ICON。
包含各種值,如字串、顏色和尺寸等,這些值可以在應用的其他地方被重用。
存放其他的 XML 文件,可能是用於配置應用組件的。
這裡包含了所有的 Gradle 腳本,用於自動化的建置過程,配置依賴項和其他建置時設定。
這個結構窗格讓開發者可以方便地訪問和管理應用的組件。透過這個窗格讓開發者可以快速導航到專案中的任何部分,進行開發、測試和資源管理等工作。
左欄圖示功能介紹
這個選項用來顯示專案的文件樹,讓開發者可以看到專案中所有的文件和文件夾,包括源代碼、資源文件、庫依賴等。
這是 Android Studio 的一個功能,它提供了一個集中的地方來查看和管理專案中使用的所有資源,比如圖片、佈局文件、色彩定義等。資源管理器使得對這些資源的添加、刪除、修改和查看變得更加容易。
這個面板用來顯示構建過程中的信息,包括錯誤、警告和其他構建日誌。
它用來顯示 Android 設備上的實時日誌信息,這對於監控應用的行為和調試問題非常有用。
這個面板列出了專案中的問題,例如錯誤、警告和建議,可以幫助開發者快速定位和解決代碼問題。
這是一個分析工具,可能提供了應用的質量報告,例如性能、穩定性等方面的洞察,有助於提高應用質量。
這個面板提供了一個內置的終端機視窗,讓開發者可以直接在 IDE 中執行命令行操作。
這個面板是與版本控制系統(如 Git)的互動介面,可以讓開發者查看版本歷史記錄、提交更改、管理分支等。
Android studio教學 | 建立虛擬機與運行程式碼
1. 確認是否需建立虛擬主機
若下方紅色方框內顯示「No Devices」,則須建立虛擬機。
2. 建立虛擬機,勾選紅色區塊
3. 點選「Create virtual device」
4. 依下圖點選,最後按下「Next」
5. 選擇System Image
筆者的電腦是Intel 所以選擇x86 Images
安裝Android Studio時已安裝虛擬器如下圖。
6. 最後點選「Next」
7. 輸入AVD Name
於AVD Name輸入「My Phone API 34」後,點選「Finish」。
8. 確認虛擬主機名稱
確定原本的「No Devices」變為「My Phone API 34」後,點選

9. 點選Running Devices 如下紅色區塊
跳出「Hello World」即完成第一個專案的測試!
Android studio教學 | 外部套件OpenAI API & DALL-E 2
介紹OpenAI
OpenAI 是一家位於美國加州舊金山的人工智能(AI)研究機構,於2015年成立。它由幾位高影響力的科技業者和研究人員共同創立,包括伊隆•馬斯克(Elon Musk)和薩姆•奧特曼(Sam Altman),後者目前是公司的CEO。OpenAI 的宗旨是在保證人工智能對人類全面有益的前提下,推進和發展友善AI。
OpenAI 最初是以非營利組織的形式成立的,目的是進行無需考慮財務回報的純粹研究。然而,於2019年,OpenAI 轉型為一家 "有限利潤" 公司,OpenAI LP,這是為了吸引更多的資金來支持其研究,並與傳統的投資者合作。雖然如此,它仍舊承諾將利潤的上限設定為投資額的100倍。
OpenAI 的研究領域非常廣泛,包括深度學習、強化學習、機器學習的理論基礎、神經網絡的架構、自然語言處理以及計算機視覺等。OpenAI 通過公開發布研究成果、軟件、教程和資源來促進整個AI社區的進步。它為AI研究者提供了大量的開源資源,例如 Gym(一個用於發展和比較強化學習算法的工具包)和Universe(一個大型AI訓練平台)。
OpenAI 最著名的產品之一是
GPT(Generative Pre-trained Transformer)系列語言處理模型。這些模型在自然語言理解和生成方面取得了突破性進展,它們能夠寫作、翻譯、回答問題以及進行其他多種語言任務。
OpenAI API應用程式介面
OpenAI API 是由 OpenAI 提供的一個應用程式介面(API),它允許開發者、企業和其他用戶訪問 OpenAI 所開發的人工智慧模型,尤其是 GPT(Generative Pretrained Transformer)系列模型。這些 API 使得非 AI 專家也能夠輕鬆地整合先進的自然語言處理功能到他們的應用程式、產品或服務中。OpenAI API具有以下幾個特點,包括:
API 旨在使接入流程盡可能簡單,這意味著即使是沒有深度機器學習背景的開發者也能夠使用它。
GPT-4 是當前 OpenAI API 提供的最強大的模型之一,它具有強大的文本生成和理解能力,可以應用於聊天機器人、自動文本生成、語言翻譯、問答系統等多種場景。
API 提供了多種接入選項,包括不同規模和能力的模型,以適應不同的性能需求和成本限制。
OpenAI 致力於保護使用 API 的用戶的數據安全和隱私,並採取了一系列措施來管理和限制對敏感數據的訪問。
DALL-E 2 藝術創作模型
DALL-E 2 是 OpenAI 推出的一款最新的 AI 藝術創作模型,它是 DALL-E 的後續版本,原始的 DALL-E 是在 2021 年初推出的一個 AI 模型,得名於畫家達利(Salvador Dalí)和動畫角色 WALL-E。DALL-E 2 是一種生成對抗網絡(GAN),能夠生成高解析度、富有創意的圖像,僅僅通過描述性的文字提示。例如,如果你給它一個提示如"一個穿著海盜帽的鱷魚正在油畫課上畫畫",DALL-E 2 能夠創造出一個貼合這個描述的圖片。
DALL-E 2 相對於其前身,具有以下幾點優勢:
DALL-E 2 生成的圖像質量有顯著提升,更接近於照片真實感。
DALL-E 2 能夠生成更高解析度的圖像,這使得細節更加精緻,更適合打印或在高分辨率顯示器上查看。
DALL-E 2 在理解複雜的文字提示方面有所提升,能夠更好地捕捉用戶的意圖和創造出與提示更匹配的圖像。
DALL-E 2 不僅能夠創造全新的圖像,還能夠對現有圖像進行編輯和修飾。
它還能夠將一種藝術風格轉換成另一種,例如將一幅照片轉換成油畫或素描的風格。
筆者手繪的小雞圖:
我們使用DALL-E 2當中的文生圖的能力:
風格轉換成油畫
 |
風格轉換成素描
 |
Android studio教學 | OpenAI文生圖專案
完整專案如下網址:
設定AndroidManifest.xml
1. 啟用網路權限
因為OpenAI需網路,所以必須於AndroidManifest啟用網路權限
開啟app→manifests→AndroidManifest.xml
2. 於application加入以下命令啟用網路權限
<uses-permission android:name="android.permission.INTERNET" />
完成後AndroidManifest.xml約如下
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<application
……..還有其他設定……..
3. 建立UI畫面
-
為了方便修改畫面,您可以放大點擊

編輯畫面到100%。這樣做可以讓您更容易地查看和編輯元件。
點選「LinearLayout」
ImageView功能為顯示圖片
Button功能為產生圖片
Plain Text功能為輸入文字
修改後如下:
imageView的id為imageView
editTextText的id為editTextText
button的id為button
產生OpenAI API的AccessToken
首先,您需要訪問
OpenAI官方網站並註冊一個帳號。如果您已經有帳號,只需登入即可。
創建API Key:
登入後,導航到API訪問管理界面。在OpenAI網站上,這通常可以通過訪問您的帳戶設置或直接訪問
API鍵管理頁面來完成。
在API鍵管理頁面,您可以看到一個創建新API鍵的選項。點擊創建(或類似的按鈕)

來生成一個新的API Key,並記錄下API Key備用。
開始寫撰寫程式碼
打開Gradle Scripts→build.gradle.kts(Module:app)文件。
向下滑動到指定的區域,將上述套件的依賴項添加到腳本中。
dependencies {
implementation ("com.github.bumptech.glide:glide:4.12.0")
annotationProcessor ("com.github.bumptech.glide:compiler:4.12.0")
implementation("io.github.namankhurpia:easyopenai:1.0.8")
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.11.0")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
點選Sync Now按鈕,開始部署套件
打開app→MainActivity.java,開始編輯程式碼。
建立一些屬性如下
public class MainActivity extends AppCompatActivity {
private ImageView imageView;//顯示圖片用
private EditText editText;//輸入文字用
private static final String accessToken = "填入產生OpenAI API的accessToken";
建立一個sendImagePrompt方法,用於傳送文本並生成圖片命令。
public void sendImagePrompt(ImageRequest imageRequest){
}
public void sendImagePrompt(ImageRequest imageRequest) {
try {
//呼叫EasyopenaiService
ImageResponse response = new EasyopenaiService(new DAOImpl()).
createImage(accessToken,
imageRequest);
//取得文生圖片的圖片網址
String url = response.data.get(0).getUrl();
//顯示url測試用
Log.d("Howard",url);
}catch(IOException ex){
Log.e("Howard",ex.toString()); //如有錯誤可顯示
}
}
//因為sendImagePrompt 會在新的執行續中運行所以必須運行在runOnUiThread
runOnUiThread(()->{
//呼叫Glide在imageView內顯示url的圖片
Glide.with(this)
.load(url)
.into(imageView);
//顯示提示訊息
Toast.makeText(this, "顯示圖片中..",
Toast.LENGTH_LONG).show(); });
完整程式碼如下
public void sendImagePrompt (ImageRequest imageRequest){
try{
//呼叫EasyopenaiService
ImageResponse response = new EasyopenaiService(
new DAOImpl()).
createImage(accessToken,
imageRequest);
//取得文生圖片的圖片網址
String url = response.data.get(0).getUrl();
Log.d("Howard",url);//顯示url測試用
//因為sendImagePrompt 會在新的執行續中運行所以必須運行在runOnUiThread
runOnUiThread(()->{
//呼叫Glide在imageView內顯示url的圖片
Glide.with(this)
.load(url)
.into(imageView);
//顯示提示訊息
Toast.makeText(this, "顯示圖片中..",
Toast.LENGTH_LONG).show();
});
}catch(IOException ex){
Log.e("Howard",ex.toString());//如有錯誤可顯示
}
}
注意必須在setContentView(R.layout.activity_main)後加入
//找出元件
imageView = findViewById(R.id.imageView);
editText = findViewById(R.id.editTextText);
editText.setText("dog");
Button btn = findViewById(R.id.button);
-
於Button的OnClickListener內添加以下程式碼
btn.setOnClickListener(v->{
//取得輸入的文生圖指令
String prompt = editText.getText().toString();
//設定傳給Open AI的 文生圖指令 與選擇dall-e-2模型
ImageRequest imageRequest = ImageRequest.builder()
.prompt(prompt)
.model("dall-e-2")
.build();
//開啟新的執行序,呼叫sendImagePrompt
new Thread(()->{
sendImagePrompt(imageRequest);
}).start();
Toast.makeText(this, "產生圖片中..",
Toast.LENGTH_LONG).show();
});
完整程式碼:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找出元件
imageView = findViewById(R.id.imageView);
editText = findViewById(R.id.editTextText);
editText.setText("dog");
Button btn = findViewById(R.id.button);
btn.setOnClickListener(v->{
//取得輸入的文生圖指令
String prompt = editText.getText().toString();
//設定傳給Open AI的 文生圖指令 與選擇dall-e-2模型
ImageRequest imageRequest = ImageRequest.builder()
.prompt(prompt)
.model("dall-e-2")
.build();
//開啟新的執行序,呼叫sendImagePrompt
new Thread(()->{
sendImagePrompt(imageRequest);
}).start();
Toast.makeText(this, "產生圖片中..",
Toast.LENGTH_LONG).show();
});
}
點選

運行程式碼產生如圖畫面,點選Button後會產生Dog圖片,如果想產生其他圖片可手動輸入文生圖指令。
Android studio教學 | 結語
透過本Android studio教學,我們一步步地探索了如何在Android應用中建立用戶界面,引入和配置外部套件,以及如何撰寫程式碼來實現特定的功能。這個過程不僅涵蓋了UI設計的基礎知識,也展示了如何在實際的開發過程中整合和應用第三方庫的技術。
閱讀完這個Android studio教學範例後,您應該對於Android開發有了更深入的了解,從設計和布局的基本概念,到程式碼撰寫和外部服務的呼叫。這些技能對於開發現代Android應用來說是非常重要的,無論是處理圖像、整合API,還是提高用戶體驗,都有著廣泛的應用。
當然,這只是Android開發旅程中的一小步。隨著技術不斷進步和開發工具的更新,還有無限的可能性等待著我們去探索。希望這個Android studio教學能夠作為您學習路上的一個跳板,鼓勵您繼續探索更多功能和技術,創建更加豐富和有趣的Android應用。
免費學習資源不漏接
