SlideShare a Scribd company logo
2013.05.022013.05.02
Android apps development IAndroid apps development I
- How to build your first app.- How to build your first app.
Introduction ofIntroduction of
2013.05.022013.05.02
ContentContent
 UI & Environment Intro.UI & Environment Intro.
 Say Hello World!Say Hello World!
 Layout Intro.Layout Intro.
 Add the behaviorAdd the behavior

2013.05.022013.05.02
 srcsrc
•
javajava 原始碼原始碼
 res (resource)res (resource)
•
iconsicons
•
layoutlayout
•
string...etc.string...etc.
 libslibs 靜態函式庫靜態函式庫
Package ExplorerPackage Explorer
2013.05.022013.05.02
LayoutLayout
Let's see RAW content (.xml)Let's see RAW content (.xml)
2013.05.022013.05.02
Layout – res / layout / main.xmlLayout – res / layout / main.xml
2013.05.022013.05.02
Layout StructureLayout Structure
 ViewGroupViewGroup
●
A layout or container such asA layout or container such as RelativeLayoutRelativeLayout
oror LinearLayoutLinearLayout
 ViewView
●
A child of ViewGroup such asA child of ViewGroup such as buttonbutton oror texttext
fieldfield
2013.05.022013.05.02
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
Layout – View (TextView)Layout – View (TextView)
@ 代表一個 pointer ,指向真正的字串內容
2013.05.022013.05.02
Layout – res / values / strings.xmlLayout – res / values / strings.xml
for i18n purpose
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Hello World</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
</resources>
2013.05.022013.05.02
Add behaviorAdd behavior
Scenerio:
畫面上有一顆按鈕,當按下按鈕
後,在其下方出現預藏的文字。
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
1. Add a button
2. Hide the text
3. Make the button show text
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
1. Add a button1. Add a button
1-1. 利用滑鼠 曳新增一按鈕拖
1-2. 設定按鈕上的提示文字
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
2. Hide the text2. Hide the text
android:visibility="invisible"
 Just add the attribution to TextViewJust add the attribution to TextView
But how do I know what
attribution I can use?
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
2. Hide the text2. Hide the text
 Go toGo to android developer siteandroid developer site
•
ReferenceReference
•
android.wigetandroid.wiget
•
TextViewTextView
•
Inherited XML AttributesInherited XML Attributes
•
Attribute NameAttribute Name
•
android:visibilityandroid:visibility
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
Invisible
你看不到我,你看不到我
但是 ... 仍然佔據空間
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
3. Make the button show text3. Make the button show text
3-1. add the attribution to button3-1. add the attribution to button
android:onClick="android:onClick="showTextshowText""
3-2. write the code of3-2. write the code of showTextshowText
methodmethod
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
3. Make the button show text3. Make the button show text
3-1. add the attribution to button3-1. add the attribution to button
android:onClick="android:onClick="showTextshowText""
3-2. write the code of3-2. write the code of showTextshowText
methodmethod
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
3. Make the button show text3. Make the button show text
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_click_text"
android:onClick="showText" />
main.xml
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
3. Make the button show text3. Make the button show text
Main.java
public void showText (View view) {
// - 宣告元件
// - 操作元件
}
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
3. Make the button show text3. Make the button show text
Bridge to XML & JAVA
.xml .java
R.* 資源檔
findViewById
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
3. Make the button show text3. Make the button show text
findViewById example
// 在 Main.java 中宣告 UI 中的 button1
Button button = (Button) findViewById (R.id.button1);
// 在 Main.java 中宣告 UI 中的 TextView
TextView textView = (TextView) findViewById (R.id.tv1);
Main.java
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
3. Make the button show text3. Make the button show text
R.id.tv1 ?什麼東西?好像沒看過?
TextView 預設沒給定操作 id ,加上它吧!
main.xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button1"
android:id="@+id/tv1"
android:text="@string/hello_world"
android:visibility="invisible" />
2013.05.022013.05.02
Add behavior (cont.)Add behavior (cont.)
3. Make the button show text3. Make the button show text
Main.java
public void showText(View view) {
Button button = (Button) findViewById(R.id.button1);
TextView tv1 = (TextView) findViewById(R.id.tv1);
tv1.setVisibility(View.VISIBLE);
}
2013.05.022013.05.02
Again, how do I know
what method I can use?
Add behavior (cont.)Add behavior (cont.)
2013.05.022013.05.02
 Go toGo to android developer siteandroid developer site
•
ReferenceReference
•
android.wigetandroid.wiget
•
TextViewTextView
•
Inherited XML AttributesInherited XML Attributes
•
Related MethodRelated Method
•
setVisibility(int)setVisibility(int)
Add behavior (cont.)Add behavior (cont.)
2013.05.022013.05.02
Thanks!

More Related Content

Viewers also liked

Reload hair medica slideshare 6.3 (2)
Reload hair medica slideshare 6.3 (2)Reload hair medica slideshare 6.3 (2)
Reload hair medica slideshare 6.3 (2)
Laurie Reda
 
Top 10 liaison nurse interview questions and answers
Top 10 liaison nurse interview questions and answersTop 10 liaison nurse interview questions and answers
Top 10 liaison nurse interview questions and answers
tonychoper8006
 

Viewers also liked (17)

Votação do Deputado Estadual em Ijuí
Votação do Deputado Estadual em IjuíVotação do Deputado Estadual em Ijuí
Votação do Deputado Estadual em Ijuí
 
Internet
InternetInternet
Internet
 
Reload hair medica slideshare 6.3 (2)
Reload hair medica slideshare 6.3 (2)Reload hair medica slideshare 6.3 (2)
Reload hair medica slideshare 6.3 (2)
 
Futbol
FutbolFutbol
Futbol
 
Proyecto integrado igss pedia modificado
Proyecto integrado igss pedia modificadoProyecto integrado igss pedia modificado
Proyecto integrado igss pedia modificado
 
Tecnicas visuales graficas
Tecnicas visuales graficasTecnicas visuales graficas
Tecnicas visuales graficas
 
Bab4masakan 091220042254-phpapp02
Bab4masakan 091220042254-phpapp02Bab4masakan 091220042254-phpapp02
Bab4masakan 091220042254-phpapp02
 
Presentación Carlos Carvajal- eCommerce Day Santiago 2015
Presentación Carlos Carvajal- eCommerce Day Santiago 2015 Presentación Carlos Carvajal- eCommerce Day Santiago 2015
Presentación Carlos Carvajal- eCommerce Day Santiago 2015
 
Dale dentido y dirección a tus propósitos. 1er aniversario de la Fundacion J...
Dale dentido y dirección a tus propósitos.  1er aniversario de la Fundacion J...Dale dentido y dirección a tus propósitos.  1er aniversario de la Fundacion J...
Dale dentido y dirección a tus propósitos. 1er aniversario de la Fundacion J...
 
Sara garcia
Sara garciaSara garcia
Sara garcia
 
Arte
ArteArte
Arte
 
GNL Cadena de valor
GNL Cadena de valorGNL Cadena de valor
GNL Cadena de valor
 
Human Centric Retail - Fujitsu
Human Centric Retail - FujitsuHuman Centric Retail - Fujitsu
Human Centric Retail - Fujitsu
 
Normas Ortográficas Básicas
Normas Ortográficas BásicasNormas Ortográficas Básicas
Normas Ortográficas Básicas
 
Top 10 liaison nurse interview questions and answers
Top 10 liaison nurse interview questions and answersTop 10 liaison nurse interview questions and answers
Top 10 liaison nurse interview questions and answers
 
Presentacio
PresentacioPresentacio
Presentacio
 
Fundamentos higiene y seguridad industrial
Fundamentos higiene y seguridad industrialFundamentos higiene y seguridad industrial
Fundamentos higiene y seguridad industrial
 

Similar to 2013.05.02 android-l1

Android howto hellowidget
Android howto hellowidgetAndroid howto hellowidget
Android howto hellowidget
Hiron Das
 
行動App開發管理實務 unit2
行動App開發管理實務 unit2行動App開發管理實務 unit2
行動App開發管理實務 unit2
Xavier Yin
 

Similar to 2013.05.02 android-l1 (20)

Android Custom views
Android Custom views   Android Custom views
Android Custom views
 
Android how to hellowidget
Android how to hellowidgetAndroid how to hellowidget
Android how to hellowidget
 
Android howto hellowidget
Android howto hellowidgetAndroid howto hellowidget
Android howto hellowidget
 
Ap quiz app
Ap quiz appAp quiz app
Ap quiz app
 
Beginning Native Android Apps
Beginning Native Android AppsBeginning Native Android Apps
Beginning Native Android Apps
 
Android apps development
Android apps developmentAndroid apps development
Android apps development
 
Django web framework
Django web frameworkDjango web framework
Django web framework
 
04 objective-c session 4
04  objective-c session 404  objective-c session 4
04 objective-c session 4
 
行動App開發管理實務 unit2
行動App開發管理實務 unit2行動App開發管理實務 unit2
行動App開發管理實務 unit2
 
Different types of sticker apps
Different types of sticker appsDifferent types of sticker apps
Different types of sticker apps
 
OroCommerce Storefront Design. Non-standard Layout Customisation.
OroCommerce Storefront Design. Non-standard Layout Customisation.OroCommerce Storefront Design. Non-standard Layout Customisation.
OroCommerce Storefront Design. Non-standard Layout Customisation.
 
Angularjs 2
Angularjs 2 Angularjs 2
Angularjs 2
 
Android Tutorial
Android TutorialAndroid Tutorial
Android Tutorial
 
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJSAngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
 
Lec005 android start_program
Lec005 android start_programLec005 android start_program
Lec005 android start_program
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Testing android apps with espresso
Testing android apps with espressoTesting android apps with espresso
Testing android apps with espresso
 
Yeoman AngularJS and D3 - A solid stack for web apps
Yeoman AngularJS and D3 - A solid stack for web appsYeoman AngularJS and D3 - A solid stack for web apps
Yeoman AngularJS and D3 - A solid stack for web apps
 
ANDROID USING SQLITE DATABASE ADMINISTRATORS ~HMFTJ
ANDROID USING SQLITE DATABASE ADMINISTRATORS ~HMFTJANDROID USING SQLITE DATABASE ADMINISTRATORS ~HMFTJ
ANDROID USING SQLITE DATABASE ADMINISTRATORS ~HMFTJ
 
Bootstrap with liferay
Bootstrap with liferayBootstrap with liferay
Bootstrap with liferay
 

Recently uploaded

Recently uploaded (20)

To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

2013.05.02 android-l1