# 環境設置 ## 前情提要 - 大部份電腦的架構(由低層到高層) - CPU - RAM(嵌入式系統不一定) - 其他硬體 - 程式 - 工業控制電腦 嵌入式系統 - 比較單一,可能只有一種專門程式 - 直接控制硬體(組合語言等) - 一般電腦 - OS - 應用程式 ## 好的作業系統架構 - 良好的硬體控制 - 驅動程式等 - 良好的軟體平台 - API等 ## Android的普及率 作業系統有平台傾向,Android常被安裝於: - 手機 - 平板 - 機上盒 - 智慧電視 - 工控電腦 - 車用電腦 - 手錶 - 其他 *** ## Android的開發語言 - Google - Kotlin - Go - Dart - 可以跨平台 - MS - C# - 可以跨平台 - JavaScript(Oak) - Java *** ## 環境佈置:Android Studio - JDK - IDE+虛擬機2.7GB - 自訂安裝項目 - 設置JRE路徑 - SDK選擇跟路徑 - 裝英特爾的擴充,虛擬機畫面才不會頓 - 虛擬機記憶體配置 - 預設內存`1/8` - 預設記憶體`2048` - 推薦待考 - 裝好後再調整 - Customize - 可以調大字體 - 濾藍光 - Plugin - 有些外觀主題可以安裝 - 第一個專案 - 新增專案 - 開新專案 - 從版本控制新增 - 選模板 - 可以先試試基礎 - 程式設定 - package的命名 - 避免上架撞名 - 公司的域名通常是唯一的,所以建議用之倒寫 - 工作區 - 選擇語言 - 先選Java - 開發版本 - 選6,目前有95.6%裝置可運行 - 太向下相容功能又落後 - 是否使用相容性支援lib - 補充:到這裡可以調程式碼區字體大小、行距、自型、是否提升運算子易讀性等  *** ## 認識Android專案 來認識各個資料夾跟內容物: - Gradle:專案建置自動化工具 - app - manifests:放置結構檔、初始設定 - 補充:xml檔的結構 - 宣告 - 文件定義 - 根 - 本體 - 屬性 - java - MainActivity:即主程式 - Test - res:資源 - 除了原始碼以外其他可以增加美觀、方便操作、連結外部等促進程式性能的檔案,都稱之為資源檔 - 常見有圖片、提示音、腳本等 - drawable:向量圖檔 - layout:畫面 - Interface Build - menu - mipmap - navigation - values - 放置變數 - 搬出變數的好處 - 例如改語言 - xml - 還有其他的 *** ### Java複習 - 常見的Java程式 - Java的程式單位為class - 又分可執行的 - 又依照執行環境,進入點方法不同 - 非移動端OS - 服務器、雲端 - 即Servlet - 以上兩個之前學過不再贅述 - Android ```java= //Android都繼承了AppCompatActivity(屬於Activity這個家族) public class MainActivity extends AppCompatActivity { } ``` - 跟工具型的(型態等) - `static`被放在SRAM(相對為DRAM) - 用Powershell編譯Java程式 ```shell= javac test.java //編譯 java test //執行 ``` - Java物件導向的實踐過程(?) - 導包 - 用某類別宣告一個類別變數(尚不能使用) - 用new運算子建立實體 - 呼叫旗下建構子 ```java= Scanner x; x=new Scanner(System.in); //鍵盤,out則是螢幕 int t=x.nextInt(); //.後方不是方法就是屬性 ...println(t);//印出輸入的整數 ``` ```java= public class test { public static void main(String[] args) { Scanner x; x=new Scanner(System.in); //鍵盤,out則是螢幕 int t = x.nextInt(); test01(t); } static void test01(int times) { for(int i=0;i<times;i++) { System.out.println("第"+(i+1)+"次:hi"); //索引號是從0開始印 } } } ``` ### 認識一個Android APP的原始碼 ```java= //@+某串字:編譯器提示指令 @Override //on:當,後方為某事件 //onCreate建立 protected void onCreate(Bundle savedInstanceState) { //Bundle是一種類似Collection、Map的方法 super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } ``` - 高端的事件驅動系統 - 除非事件發生不然不運行 - 若發生,系統會去呼叫`事件處理函數` - 所以要先Override事件處理函數又稱`Call Back函數` - 如`onCreate`就屬於這種函數 - 建立虛擬裝置 - 注意解析度 - 可以選pixel 3a - 作業系統 - 有Google API可以使用Google地圖等功能 *** ### SDK Manger - Android6 - 選這些  - SDK Tools可以全裝 *** ## 基本Android App開發步驟 - 建立專案 - 原則上用預設為主,有需要再修改 - 撰寫主要Activity檔(Java程式) - 測試(模擬器或實機) - 針對問題除錯或修改 - Android APP的主要成份 - 畫面 - [手刻](/1IfQqDyrRUuvBjUhu-pgBg) - [Interface Build](/AoN5zeylSaWrPSlyd52PtA) - 運作邏輯 *** ## 備註 - 新專案建議另外開啟,不要覆蓋,SDK指向容易出問題...(每台電腦不同)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up