Presentation is loading. Please wait.

Presentation is loading. Please wait.

Android Studio 程式設計基礎 靜宜大學資管系 楊子青

Similar presentations


Presentation on theme: "Android Studio 程式設計基礎 靜宜大學資管系 楊子青"— Presentation transcript:

1 Android Studio 程式設計基礎 靜宜大學資管系 楊子青

2 Android App 四種型態 Activity (活動):本課程重點 Service (背景服務)
可在背景不斷的工作,直到停止或是系統無法提供資源為止。通常運用在後台播放音樂、定時檢查更新資料,或是執行很久的工作,例如上傳及下載檔案 Content Provider (內容提供者) 管理中央資料存放庫的存取權,供其他應用程式使用,例如拍照存檔的照片可在FB分享 Broadcast Receiver (廣播接收端) 處理系統送來的通知,例如電力不足、螢幕關閉

3 1. Android App 的主角:Activity

4 視覺設計 + 程式邏輯

5 視覺設計 + 程式邏輯

6 Build視覺設計與程式碼 自動

7 2. Activity的基本程式邏輯

8 建立一專案 TextExample 選擇 Empty activity,填入自己的Package name

9 onCreate(): MainActivity第一件要做的事
此專案之套件Package 呼叫父類別進行初始設定 載入畫面Layout

10 資源的 ID 10

11 R.Java (編譯器自動生成之R類別,內含所有資源的ID)
先執行程式 Run → Run ‘App’ 左上角樹狀結構App 按滑鼠右鍵 → Show in Explore app/build/generated/not_namespaced_r_class_sources/developDebug/processDevelopDebugResources/r/your/project/package/R.java

12 在R.java,查詢activity_main

13 Layout: activity_main.xml

14 3. 基本元件 ConstraintLayout TextView 元件:
之前的版面設計,主要是使用LinearLayout或RelativeLayout,缺點是Layout層級太多,造成設計更動上的困難,也較耗資源 為了將Layout扁平化,Android 2.3 (API level 9)開始支援ConstraintLayout (類似iOS的AutoLayout) TextView 元件: 用來顯示一段文字,可稱為『文字標籤』 預設顯示 “Hello world!" 字串。

15 先改成LinearLayout 先將android.support.constraint.ConstraintLayout選起來,輸入L,選擇LinearLayout

16 改成LinearLayout (垂直) 按Design (以畫面顯示)

17 元件的佈局與屬性設定

18 常見的屬性類型

19 TextView元件:設定TextSize屬性
sp (scale-independent pixels):可隨顯示/字型大小,調整大小。例如手機可設定小、適中、大、超大等字型,用sp會自動調整大小。通常用於設定字型大小。 dp (density-independent pixels):在不同的解析度/不同尺寸螢幕,同一dp大小相當。通常用於設定元件大小。1dp=1/160inch。

20 values資源的strings.xml

21 於strings.xml自行定義一個message字串

22 建立一個EditText元件(可讓使用者 輸入文字內容)

23 設定EditText元件的text屬性為@string/message (對應到strings.xml的message字串)

24 優點:易於維護及多國語言

25 翻譯為多國語言→在行動裝置 執行,並切換不同語言環境

26 4. Button元件

27 findViewById() 方法

28 新增Button元件及設定屬性

29 MainActivity.java程式碼 public class MainActivity extends AppCompatActivity { int size=30; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void bigger(View v){ TextView txv = (TextView) findViewById(R.id.txv); size++; txv.setTextSize(size);

30 執行結果

31 如果字體小於40,才可變大 public void bigger(View v){
TextView txv = (TextView) findViewById(R.id.txv); if (size<40){ size++; txv.setTextSize(size); } 自行練習:設定一個縮小字體的按鈕,呼叫smaller事件,如果字體超過30可變小

32 用程式更改按鈕的Clickable屬性 public void bigger(View v){
TextView txv = (TextView) findViewById(R.id.txv); if (size<40){ size++; txv.setTextSize(size); } else{ Button btn = (Button) findViewById(R.id.button); btn.setClickable(false);

33 用程式更改按鈕顯示與否屬性 可見 不可見 (但是還是佔畫面位置) 隱藏 setVisibility(View.VISIBLE)
setVisibility(View.INVISIBLE) 隱藏 setVisibility(View.GONE)

34 5. EditText (文字輸入) 元件 getText():取得使用者輸入的文字 setText():設定 TextView 顯示的文字

35 增加「輸入完畢」Button

36 Hi方法程式碼 public void Hi(View v){
EditText edt = (EditText) findViewById(R.id.editText); TextView txv = (TextView) findViewById(R.id.txv); txv.setText(edt.getText() + ",歡迎您使用本App!"); }

37 執行結果

38 參考資料 施威銘主編,Android App程式設計教本之無痛起步 - 使用Android Studio開發環境,旗標出版社,2015年。


Download ppt "Android Studio 程式設計基礎 靜宜大學資管系 楊子青"

Similar presentations


Ads by Google