SlideShare a Scribd company logo
Windows 10
Universal Windows Apps
開發介紹
蔡孟儒 (Raymond)
台灣微軟 DX 資深協理
8x increase in purchases
through carrier billing
Updated ad SDK with video
ads and install tracking
Subscriptions
Affiliate referrals
一年內 Windows 10 免費升級
(Windows 7/8/8.1 適用)
Microsoft Office Division | Microsoft Confidential, For Internal Use Only
Microsoft Office Division | Microsoft Confidential, For Internal Use Only
Microsoft Office Division | Microsoft Confidential, For Internal Use OnlyMicrosoft Office Division | Microsoft Confidential, For Internal Use Only9
https://msdn.microsoft.com/zh-tw/library/67ef8sbd.aspx
https://dev.windows.com/zh-tw
在 MainPage.xaml 檔案中定義應
用程式的 UI。您可以使用 XAML
標記直接新增元素,或是使用
Visual Studio 提供的設計工具。
MainPage.xaml.cs 是
MainPage.xaml 的程式碼後置頁面。
其正是您新增應用程式邏輯和事件
處理常式的位置。
TextBlock
TextBox
TextBox
Button
TextBlock
XAML 設計頁面
XAML 程式碼
屬性
以 x:Name
幫控制項取個名字
double fBMI;
double fHeight;
double fWeight;
fHeight = Convert.ToDouble(textHeight.Text.ToString());
fWeight = Convert.ToDouble(textWeight.Text.ToString());
fBMI = fWeight / (fHeight * fHeight);
textBMI.Text = fBMI.ToString();
Tips: 請經常 Ctrl-Shift-B (Compile) 及 F5 作測試
fBMI = fWeight / ((fHeight * fHeight) /10000);
fBMI = fWeight / Math.Pow(fHeight / 100, 2);
try
{
double fBMI;
double fHeight;
double fWeight;
fHeight = Convert.ToDouble(textHeight.Text.ToString());
fWeight = Convert.ToDouble(textWeight.Text.ToString());
//fBMI = fWeight / ((fHeight * fHeight) /10000);
fBMI = fWeight / Math.Pow(fHeight / 100, 2);
textBMI.Text = fBMI.ToString();
}
catch(Exception)
{
await new MessageDialog("請確認輸入的身高體重要是整數或小數").ShowAsync();
}
資料交換語言
Javascript
文字格式 C語言
OK認證-游泳場所業
http://data.taipei.gov.tw/opendata/apply/NewDataContent?oid=7BB7304F-2DCB-483E-B3B3-7A4838E585E3
JsonValue jsonValue;
public string[] listArray;
public string[] telArray;
public string[] addrArray;
string strSelectedList = "";
string strSelectedAddress = "";
string strSelectedTel = "";
Geolocator geo = null;
string strDirFlg = "r";
private async Task GetJSON()
{
string strURI =
"http://data.taipei.gov.tw/opendata/apply/json/N0JCNzMwNEYtMkRDQi00ODNFLUIzQjMtN0E0ODM4RTU4N
UUz";
var http = new HttpClient();
http.MaxResponseContentBufferSize = Int32.MaxValue;
var response = await http.GetStringAsync(strURI);
jsonValue = JsonValue.Parse(response.ToString());
int arraySize = jsonValue.GetArray().Count;
this.listArray = new string[arraySize];
this.telArray = new string[arraySize];
this.addrArray = new string[arraySize];
for (int i = 0; i < arraySize; i++)
{
IJsonValue element = jsonValue.GetArray()[i];
string strName = element.GetObject().GetNamedString("name");
根據JSON資料結構的不同,要取
得裡面資料的方式就會不同。
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
await GetJSON();
for (int i = 0; i < listArray.Length; i++)
{
listBox1.Items.Add(listArray[i].ToString());
}
}
strSelectedList = listBox1.SelectedValue.ToString();
strSelectedAddress = addrArray[listBox1.SelectedIndex].ToString();
strSelectedTel = telArray[listBox1.SelectedIndex].ToString();
webView.Source = new Uri(Uri.EscapeUriString("https://maps.google.com/?q=" + strSelectedAddress));
<Button Content="路線規劃 (從目前位置)" HorizontalAlignment="Left" Margin="505,557,0,0"
VerticalAlignment="Top" Click="Button_Click_1" Width="333"/>
<RadioButton Content="開車" GroupName="group1" HorizontalAlignment="Left" Margin="380,528,0,0"
VerticalAlignment="Top" IsChecked="true" Checked="RadioButton_Checked_1"/>
<RadioButton Content="大眾運輸" GroupName="group1" HorizontalAlignment="Left" Margin="380,599,0,0"
VerticalAlignment="Top" Checked="RadioButton_Checked_2"/>
<RadioButton Content="步行" GroupName="group1" HorizontalAlignment="Left" Margin="380,563,0,0"
VerticalAlignment="Top" Checked="RadioButton_Checked_3"/>
if (strSelectedAddress.Length > 0)
{
if (geo == null)
{
geo = new Geolocator();
}
try
{
Geoposition pos = await geo.GetGeopositionAsync();
string strSADDR = pos.Coordinate.Point.Position.Latitude.ToString() + "," + pos.Coordinate.Point.Position.Longitude.ToString();
webView.Source = new Uri(Uri.EscapeUriString("https://maps.google.com/?num=1&saddr=" + strSADDR + "&q=" + strSelectedAddress + "&dirflg=" +
strDirFlg));
}
catch (Exception)
{
await new Windows.UI.Popups.MessageDialog("您的機器沒有定位服務(GPS)或目前服務是關閉的,請透過「設定」快速鍵重新開啟。 nYour location
services are currently turned off. Use the Settings charm to turn them back on.").ShowAsync();
}
}
private void RadioButton_Checked_1(object sender, RoutedEventArgs e)
{
strDirFlg = "d";
}
private void RadioButton_Checked_2(object sender, RoutedEventArgs e)
{
strDirFlg = "r";
}
private void RadioButton_Checked_3(object sender, RoutedEventArgs e)
{
strDirFlg = "w";
}
http://data.taipei.gov.tw/opendata/apply/json/N0JCNzMwN
EYtMkRDQi00ODNFLUIzQjMtN0E0ODM4RTU4NUUz
private async Task GetJSON()
{
string strURI =
"http://data.taipei.gov.tw/opendata/apply/json/N0JCNzMwNEYtMkRDQi00ODNFLUIzQjMtN0E0ODM4RTU4N
UUz";
var http = new HttpClient();
http.MaxResponseContentBufferSize = Int32.MaxValue;
var response = await http.GetStringAsync(strURI);
jsonValue = JsonValue.Parse(response.ToString());
int arraySize = jsonValue.GetArray().Count;
this.listArray = new string[arraySize];
根據JSON資料結構的不同,要取
得裡面資料的方式就會不同。
//string strURI =
"http://data.taipei.gov.tw/opendata/apply/json/N0JCNzMwNEYtMkRDQi00ODNFLUIzQjMtN0E0ODM4RTU4NU
Uz";
string strURI = "http://data.taipei/opendata/datalist/apiAccess?scope=resourceAquire&rid=201d8ae8-
dffc-4d17-ae1f-e58d8a95b162";
var http = new HttpClient();
http.MaxResponseContentBufferSize = Int32.MaxValue;
var response = await http.GetStringAsync(strURI);
JsonObject jsonObject = JsonObject.Parse(response.ToString());
int arraySize = jsonObject.GetNamedObject("result").GetNamedArray("results").Count;
根據JSON資料結構的不同,要取得
裡面資料的方式就會不同。
http://bit.ly/storelogomaker
Web Hybrid Native
App
技術困難度 低 低 高
效能 慢 中->快速 快速
支援原生功能 無 可
(各平台API支援度不同)
可
上架市集 無 可 可
離線 無 可 可
跨平台 可 可 無
http://www.gatesnotes.com/
http://www.gatesnotes.com
http://www.gatesnotes.com並將
而是創意
再加上永遠可以更好的使用者經驗 (UX)
Gaming Middleware experiences on Windows
Wherever your code was born, you can bring it to Windows
20150812 高中coding營 windows 10 app
20150812 高中coding營 windows 10 app
20150812 高中coding營 windows 10 app

More Related Content

What's hot

Basic crud operation
Basic crud operationBasic crud operation
Basic crud operation
zarigatongy
 
Hack ASP.NET website
Hack ASP.NET websiteHack ASP.NET website
Hack ASP.NET website
Positive Hack Days
 
4시간만에 따라해보는 Windows 10 앱 개발 샘플코드
4시간만에 따라해보는 Windows 10 앱 개발 샘플코드4시간만에 따라해보는 Windows 10 앱 개발 샘플코드
4시간만에 따라해보는 Windows 10 앱 개발 샘플코드
영욱 김
 
Excel Scripting
Excel Scripting Excel Scripting
Excel Scripting
G C Reddy Technologies
 
Active Record Query Interface (1), Season 2
Active Record Query Interface (1), Season 2Active Record Query Interface (1), Season 2
Active Record Query Interface (1), Season 2
RORLAB
 
Learning Java 4 – Swing, SQL, and Security API
Learning Java 4 – Swing, SQL, and Security APILearning Java 4 – Swing, SQL, and Security API
Learning Java 4 – Swing, SQL, and Security API
caswenson
 
The Ring programming language version 1.5.1 book - Part 27 of 180
The Ring programming language version 1.5.1 book - Part 27 of 180The Ring programming language version 1.5.1 book - Part 27 of 180
The Ring programming language version 1.5.1 book - Part 27 of 180
Mahmoud Samir Fayed
 
Visual Studio.Net - Sql Server
Visual Studio.Net - Sql ServerVisual Studio.Net - Sql Server
Visual Studio.Net - Sql Server
Darwin Durand
 
Javascript 2
Javascript 2Javascript 2
Javascript 2
pavishkumarsingh
 
Get excelsheet
Get excelsheetGet excelsheet
Get excelsheetmyrajendra
 
Jason parsing
Jason parsingJason parsing
Jason parsing
parallelminder
 

What's hot (12)

Basic crud operation
Basic crud operationBasic crud operation
Basic crud operation
 
Hack ASP.NET website
Hack ASP.NET websiteHack ASP.NET website
Hack ASP.NET website
 
4시간만에 따라해보는 Windows 10 앱 개발 샘플코드
4시간만에 따라해보는 Windows 10 앱 개발 샘플코드4시간만에 따라해보는 Windows 10 앱 개발 샘플코드
4시간만에 따라해보는 Windows 10 앱 개발 샘플코드
 
Excel Scripting
Excel Scripting Excel Scripting
Excel Scripting
 
Active Record Query Interface (1), Season 2
Active Record Query Interface (1), Season 2Active Record Query Interface (1), Season 2
Active Record Query Interface (1), Season 2
 
Quanlycanbo
QuanlycanboQuanlycanbo
Quanlycanbo
 
Learning Java 4 – Swing, SQL, and Security API
Learning Java 4 – Swing, SQL, and Security APILearning Java 4 – Swing, SQL, and Security API
Learning Java 4 – Swing, SQL, and Security API
 
The Ring programming language version 1.5.1 book - Part 27 of 180
The Ring programming language version 1.5.1 book - Part 27 of 180The Ring programming language version 1.5.1 book - Part 27 of 180
The Ring programming language version 1.5.1 book - Part 27 of 180
 
Visual Studio.Net - Sql Server
Visual Studio.Net - Sql ServerVisual Studio.Net - Sql Server
Visual Studio.Net - Sql Server
 
Javascript 2
Javascript 2Javascript 2
Javascript 2
 
Get excelsheet
Get excelsheetGet excelsheet
Get excelsheet
 
Jason parsing
Jason parsingJason parsing
Jason parsing
 

Similar to 20150812 高中coding營 windows 10 app

mobl
moblmobl
mobl
zefhemel
 
CouchDB on Android
CouchDB on AndroidCouchDB on Android
CouchDB on AndroidSven Haiges
 
Windows 8 JavaScript (Wonderland)
Windows 8 JavaScript (Wonderland)Windows 8 JavaScript (Wonderland)
Windows 8 JavaScript (Wonderland)
Christopher Bennage
 
Ajax for dummies, and not only.
Ajax for dummies, and not only.Ajax for dummies, and not only.
Ajax for dummies, and not only.
Nerd Tzanetopoulos
 
Android+ax+app+wcf
Android+ax+app+wcfAndroid+ax+app+wcf
Android+ax+app+wcf
Aravindharamanan S
 
Selenium interview questions and answers
Selenium interview questions and answersSelenium interview questions and answers
Selenium interview questions and answers
kavinilavuG
 
Vaadin7
Vaadin7Vaadin7
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instruments
Artem Nagornyi
 
Android ax app wcf
Android ax app wcfAndroid ax app wcf
Android ax app wcf
Aravindharamanan S
 
droidQuery: The Android port of jQuery
droidQuery: The Android port of jQuerydroidQuery: The Android port of jQuery
droidQuery: The Android port of jQuery
PhDBrown
 
Android is not just mobile
Android is not just mobileAndroid is not just mobile
Android is not just mobile
Kevin McDonagh
 
Scala on Your Phone
Scala on Your PhoneScala on Your Phone
Scala on Your Phone
Michael Galpin
 
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMohammad Shaker
 
Web Development Course - JQuery by RSOLUTIONS
Web Development Course - JQuery by RSOLUTIONSWeb Development Course - JQuery by RSOLUTIONS
Web Development Course - JQuery by RSOLUTIONS
RSolutions
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensions
erwanl
 
Vaadin 7 CN
Vaadin 7 CNVaadin 7 CN
Vaadin 7 CN
jojule
 
Developing your first application using FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWAREFIWARE
 
MongoDB.local Atlanta: MongoDB Mobile: Bringing the Power of MongoDB to Your ...
MongoDB.local Atlanta: MongoDB Mobile: Bringing the Power of MongoDB to Your ...MongoDB.local Atlanta: MongoDB Mobile: Bringing the Power of MongoDB to Your ...
MongoDB.local Atlanta: MongoDB Mobile: Bringing the Power of MongoDB to Your ...
MongoDB
 
Knockoutjs UG meeting presentation
Knockoutjs UG meeting presentationKnockoutjs UG meeting presentation
Knockoutjs UG meeting presentation
Valdis Iljuconoks
 

Similar to 20150812 高中coding營 windows 10 app (20)

mobl
moblmobl
mobl
 
CouchDB on Android
CouchDB on AndroidCouchDB on Android
CouchDB on Android
 
Windows 8 JavaScript (Wonderland)
Windows 8 JavaScript (Wonderland)Windows 8 JavaScript (Wonderland)
Windows 8 JavaScript (Wonderland)
 
Ajax for dummies, and not only.
Ajax for dummies, and not only.Ajax for dummies, and not only.
Ajax for dummies, and not only.
 
Android+ax+app+wcf
Android+ax+app+wcfAndroid+ax+app+wcf
Android+ax+app+wcf
 
.Net 3.5
.Net 3.5.Net 3.5
.Net 3.5
 
Selenium interview questions and answers
Selenium interview questions and answersSelenium interview questions and answers
Selenium interview questions and answers
 
Vaadin7
Vaadin7Vaadin7
Vaadin7
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instruments
 
Android ax app wcf
Android ax app wcfAndroid ax app wcf
Android ax app wcf
 
droidQuery: The Android port of jQuery
droidQuery: The Android port of jQuerydroidQuery: The Android port of jQuery
droidQuery: The Android port of jQuery
 
Android is not just mobile
Android is not just mobileAndroid is not just mobile
Android is not just mobile
 
Scala on Your Phone
Scala on Your PhoneScala on Your Phone
Scala on Your Phone
 
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhone
 
Web Development Course - JQuery by RSOLUTIONS
Web Development Course - JQuery by RSOLUTIONSWeb Development Course - JQuery by RSOLUTIONS
Web Development Course - JQuery by RSOLUTIONS
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensions
 
Vaadin 7 CN
Vaadin 7 CNVaadin 7 CN
Vaadin 7 CN
 
Developing your first application using FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWARE
 
MongoDB.local Atlanta: MongoDB Mobile: Bringing the Power of MongoDB to Your ...
MongoDB.local Atlanta: MongoDB Mobile: Bringing the Power of MongoDB to Your ...MongoDB.local Atlanta: MongoDB Mobile: Bringing the Power of MongoDB to Your ...
MongoDB.local Atlanta: MongoDB Mobile: Bringing the Power of MongoDB to Your ...
 
Knockoutjs UG meeting presentation
Knockoutjs UG meeting presentationKnockoutjs UG meeting presentation
Knockoutjs UG meeting presentation
 

More from Meng-Ru (Raymond) Tsai

Microsoft Generative AI and Medical case studies.
Microsoft Generative AI and Medical case studies.Microsoft Generative AI and Medical case studies.
Microsoft Generative AI and Medical case studies.
Meng-Ru (Raymond) Tsai
 
20211119 ntuh azure hpc workshop final
20211119 ntuh azure hpc workshop final20211119 ntuh azure hpc workshop final
20211119 ntuh azure hpc workshop final
Meng-Ru (Raymond) Tsai
 
202002 DIGI+Talent數位網路學院線上課程: 五大領堿先修課
202002 DIGI+Talent數位網路學院線上課程: 五大領堿先修課202002 DIGI+Talent數位網路學院線上課程: 五大領堿先修課
202002 DIGI+Talent數位網路學院線上課程: 五大領堿先修課
Meng-Ru (Raymond) Tsai
 
20190627 ai+blockchain
20190627 ai+blockchain20190627 ai+blockchain
20190627 ai+blockchain
Meng-Ru (Raymond) Tsai
 
20171024 文化大學 1 azure big data ai
20171024 文化大學 1 azure big data ai20171024 文化大學 1 azure big data ai
20171024 文化大學 1 azure big data ai
Meng-Ru (Raymond) Tsai
 
20171024 文化大學 2 big data ai
20171024 文化大學 2 big data ai20171024 文化大學 2 big data ai
20171024 文化大學 2 big data ai
Meng-Ru (Raymond) Tsai
 
20180126 microsoft ai on healthcare
20180126 microsoft ai on healthcare20180126 microsoft ai on healthcare
20180126 microsoft ai on healthcare
Meng-Ru (Raymond) Tsai
 
20170330 彰基 azure healthcare
20170330 彰基 azure healthcare20170330 彰基 azure healthcare
20170330 彰基 azure healthcare
Meng-Ru (Raymond) Tsai
 
4 module09 iot
4 module09 iot4 module09 iot
4 module09 iot
Meng-Ru (Raymond) Tsai
 
3 module06 monitoring
3 module06 monitoring3 module06 monitoring
3 module06 monitoring
Meng-Ru (Raymond) Tsai
 
2 module07 cognitive services and the bot framework
2 module07 cognitive services and the bot framework2 module07 cognitive services and the bot framework
2 module07 cognitive services and the bot framework
Meng-Ru (Raymond) Tsai
 
1 module04 dev ops
1 module04 dev ops1 module04 dev ops
1 module04 dev ops
Meng-Ru (Raymond) Tsai
 
20170123 外交學院 大數據趨勢與應用
20170123 外交學院 大數據趨勢與應用20170123 外交學院 大數據趨勢與應用
20170123 外交學院 大數據趨勢與應用
Meng-Ru (Raymond) Tsai
 
20160525 跨界新識力沙龍論壇 機器學習與跨業應用展望
20160525 跨界新識力沙龍論壇 機器學習與跨業應用展望20160525 跨界新識力沙龍論壇 機器學習與跨業應用展望
20160525 跨界新識力沙龍論壇 機器學習與跨業應用展望
Meng-Ru (Raymond) Tsai
 
20170108 微軟大數據整合解決方案- cortana intelligence suite
20170108 微軟大數據整合解決方案- cortana intelligence suite20170108 微軟大數據整合解決方案- cortana intelligence suite
20170108 微軟大數據整合解決方案- cortana intelligence suite
Meng-Ru (Raymond) Tsai
 
20160930 bot framework workshop
20160930 bot framework workshop20160930 bot framework workshop
20160930 bot framework workshop
Meng-Ru (Raymond) Tsai
 
20160930 bot framework workshop
20160930 bot framework workshop20160930 bot framework workshop
20160930 bot framework workshop
Meng-Ru (Raymond) Tsai
 
20160323 台大 微軟學生大使招生分享會
20160323 台大 微軟學生大使招生分享會20160323 台大 微軟學生大使招生分享會
20160323 台大 微軟學生大使招生分享會
Meng-Ru (Raymond) Tsai
 
20160304 blockchain in fsi client ready raymond
20160304 blockchain in fsi client ready raymond20160304 blockchain in fsi client ready raymond
20160304 blockchain in fsi client ready raymond
Meng-Ru (Raymond) Tsai
 
20151016 中興大學 big data + machine learning
20151016 中興大學 big data + machine learning20151016 中興大學 big data + machine learning
20151016 中興大學 big data + machine learning
Meng-Ru (Raymond) Tsai
 

More from Meng-Ru (Raymond) Tsai (20)

Microsoft Generative AI and Medical case studies.
Microsoft Generative AI and Medical case studies.Microsoft Generative AI and Medical case studies.
Microsoft Generative AI and Medical case studies.
 
20211119 ntuh azure hpc workshop final
20211119 ntuh azure hpc workshop final20211119 ntuh azure hpc workshop final
20211119 ntuh azure hpc workshop final
 
202002 DIGI+Talent數位網路學院線上課程: 五大領堿先修課
202002 DIGI+Talent數位網路學院線上課程: 五大領堿先修課202002 DIGI+Talent數位網路學院線上課程: 五大領堿先修課
202002 DIGI+Talent數位網路學院線上課程: 五大領堿先修課
 
20190627 ai+blockchain
20190627 ai+blockchain20190627 ai+blockchain
20190627 ai+blockchain
 
20171024 文化大學 1 azure big data ai
20171024 文化大學 1 azure big data ai20171024 文化大學 1 azure big data ai
20171024 文化大學 1 azure big data ai
 
20171024 文化大學 2 big data ai
20171024 文化大學 2 big data ai20171024 文化大學 2 big data ai
20171024 文化大學 2 big data ai
 
20180126 microsoft ai on healthcare
20180126 microsoft ai on healthcare20180126 microsoft ai on healthcare
20180126 microsoft ai on healthcare
 
20170330 彰基 azure healthcare
20170330 彰基 azure healthcare20170330 彰基 azure healthcare
20170330 彰基 azure healthcare
 
4 module09 iot
4 module09 iot4 module09 iot
4 module09 iot
 
3 module06 monitoring
3 module06 monitoring3 module06 monitoring
3 module06 monitoring
 
2 module07 cognitive services and the bot framework
2 module07 cognitive services and the bot framework2 module07 cognitive services and the bot framework
2 module07 cognitive services and the bot framework
 
1 module04 dev ops
1 module04 dev ops1 module04 dev ops
1 module04 dev ops
 
20170123 外交學院 大數據趨勢與應用
20170123 外交學院 大數據趨勢與應用20170123 外交學院 大數據趨勢與應用
20170123 外交學院 大數據趨勢與應用
 
20160525 跨界新識力沙龍論壇 機器學習與跨業應用展望
20160525 跨界新識力沙龍論壇 機器學習與跨業應用展望20160525 跨界新識力沙龍論壇 機器學習與跨業應用展望
20160525 跨界新識力沙龍論壇 機器學習與跨業應用展望
 
20170108 微軟大數據整合解決方案- cortana intelligence suite
20170108 微軟大數據整合解決方案- cortana intelligence suite20170108 微軟大數據整合解決方案- cortana intelligence suite
20170108 微軟大數據整合解決方案- cortana intelligence suite
 
20160930 bot framework workshop
20160930 bot framework workshop20160930 bot framework workshop
20160930 bot framework workshop
 
20160930 bot framework workshop
20160930 bot framework workshop20160930 bot framework workshop
20160930 bot framework workshop
 
20160323 台大 微軟學生大使招生分享會
20160323 台大 微軟學生大使招生分享會20160323 台大 微軟學生大使招生分享會
20160323 台大 微軟學生大使招生分享會
 
20160304 blockchain in fsi client ready raymond
20160304 blockchain in fsi client ready raymond20160304 blockchain in fsi client ready raymond
20160304 blockchain in fsi client ready raymond
 
20151016 中興大學 big data + machine learning
20151016 中興大學 big data + machine learning20151016 中興大學 big data + machine learning
20151016 中興大學 big data + machine learning
 

Recently uploaded

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
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...
Sri Ambati
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
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
FIDO Alliance
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
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
FIDO Alliance
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
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
Thijs Feryn
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 

Recently uploaded (20)

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
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...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
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
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
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
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
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
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 

20150812 高中coding營 windows 10 app

  • 1. Windows 10 Universal Windows Apps 開發介紹 蔡孟儒 (Raymond) 台灣微軟 DX 資深協理
  • 2.
  • 3.
  • 4.
  • 5. 8x increase in purchases through carrier billing Updated ad SDK with video ads and install tracking Subscriptions Affiliate referrals
  • 6. 一年內 Windows 10 免費升級 (Windows 7/8/8.1 適用)
  • 7. Microsoft Office Division | Microsoft Confidential, For Internal Use Only
  • 8. Microsoft Office Division | Microsoft Confidential, For Internal Use Only
  • 9. Microsoft Office Division | Microsoft Confidential, For Internal Use OnlyMicrosoft Office Division | Microsoft Confidential, For Internal Use Only9
  • 10.
  • 11.
  • 14.
  • 15.
  • 16. 在 MainPage.xaml 檔案中定義應 用程式的 UI。您可以使用 XAML 標記直接新增元素,或是使用 Visual Studio 提供的設計工具。 MainPage.xaml.cs 是 MainPage.xaml 的程式碼後置頁面。 其正是您新增應用程式邏輯和事件 處理常式的位置。
  • 17.
  • 19. XAML 設計頁面 XAML 程式碼 屬性 以 x:Name 幫控制項取個名字
  • 20.
  • 21.
  • 22. double fBMI; double fHeight; double fWeight; fHeight = Convert.ToDouble(textHeight.Text.ToString()); fWeight = Convert.ToDouble(textWeight.Text.ToString()); fBMI = fWeight / (fHeight * fHeight); textBMI.Text = fBMI.ToString(); Tips: 請經常 Ctrl-Shift-B (Compile) 及 F5 作測試
  • 23.
  • 24.
  • 25. fBMI = fWeight / ((fHeight * fHeight) /10000); fBMI = fWeight / Math.Pow(fHeight / 100, 2);
  • 26. try { double fBMI; double fHeight; double fWeight; fHeight = Convert.ToDouble(textHeight.Text.ToString()); fWeight = Convert.ToDouble(textWeight.Text.ToString()); //fBMI = fWeight / ((fHeight * fHeight) /10000); fBMI = fWeight / Math.Pow(fHeight / 100, 2); textBMI.Text = fBMI.ToString(); } catch(Exception) { await new MessageDialog("請確認輸入的身高體重要是整數或小數").ShowAsync(); }
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 39.
  • 40. JsonValue jsonValue; public string[] listArray; public string[] telArray; public string[] addrArray; string strSelectedList = ""; string strSelectedAddress = ""; string strSelectedTel = ""; Geolocator geo = null; string strDirFlg = "r";
  • 41.
  • 42. private async Task GetJSON() { string strURI = "http://data.taipei.gov.tw/opendata/apply/json/N0JCNzMwNEYtMkRDQi00ODNFLUIzQjMtN0E0ODM4RTU4N UUz"; var http = new HttpClient(); http.MaxResponseContentBufferSize = Int32.MaxValue; var response = await http.GetStringAsync(strURI); jsonValue = JsonValue.Parse(response.ToString()); int arraySize = jsonValue.GetArray().Count; this.listArray = new string[arraySize]; this.telArray = new string[arraySize]; this.addrArray = new string[arraySize]; for (int i = 0; i < arraySize; i++) { IJsonValue element = jsonValue.GetArray()[i]; string strName = element.GetObject().GetNamedString("name"); 根據JSON資料結構的不同,要取 得裡面資料的方式就會不同。
  • 43.
  • 44. protected async override void OnNavigatedTo(NavigationEventArgs e) { await GetJSON(); for (int i = 0; i < listArray.Length; i++) { listBox1.Items.Add(listArray[i].ToString()); } }
  • 45.
  • 46.
  • 47.
  • 48.
  • 49. strSelectedList = listBox1.SelectedValue.ToString(); strSelectedAddress = addrArray[listBox1.SelectedIndex].ToString(); strSelectedTel = telArray[listBox1.SelectedIndex].ToString(); webView.Source = new Uri(Uri.EscapeUriString("https://maps.google.com/?q=" + strSelectedAddress));
  • 50.
  • 51. <Button Content="路線規劃 (從目前位置)" HorizontalAlignment="Left" Margin="505,557,0,0" VerticalAlignment="Top" Click="Button_Click_1" Width="333"/> <RadioButton Content="開車" GroupName="group1" HorizontalAlignment="Left" Margin="380,528,0,0" VerticalAlignment="Top" IsChecked="true" Checked="RadioButton_Checked_1"/> <RadioButton Content="大眾運輸" GroupName="group1" HorizontalAlignment="Left" Margin="380,599,0,0" VerticalAlignment="Top" Checked="RadioButton_Checked_2"/> <RadioButton Content="步行" GroupName="group1" HorizontalAlignment="Left" Margin="380,563,0,0" VerticalAlignment="Top" Checked="RadioButton_Checked_3"/>
  • 52. if (strSelectedAddress.Length > 0) { if (geo == null) { geo = new Geolocator(); } try { Geoposition pos = await geo.GetGeopositionAsync(); string strSADDR = pos.Coordinate.Point.Position.Latitude.ToString() + "," + pos.Coordinate.Point.Position.Longitude.ToString(); webView.Source = new Uri(Uri.EscapeUriString("https://maps.google.com/?num=1&saddr=" + strSADDR + "&q=" + strSelectedAddress + "&dirflg=" + strDirFlg)); } catch (Exception) { await new Windows.UI.Popups.MessageDialog("您的機器沒有定位服務(GPS)或目前服務是關閉的,請透過「設定」快速鍵重新開啟。 nYour location services are currently turned off. Use the Settings charm to turn them back on.").ShowAsync(); } }
  • 53. private void RadioButton_Checked_1(object sender, RoutedEventArgs e) { strDirFlg = "d"; } private void RadioButton_Checked_2(object sender, RoutedEventArgs e) { strDirFlg = "r"; } private void RadioButton_Checked_3(object sender, RoutedEventArgs e) { strDirFlg = "w"; }
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59. http://data.taipei.gov.tw/opendata/apply/json/N0JCNzMwN EYtMkRDQi00ODNFLUIzQjMtN0E0ODM4RTU4NUUz private async Task GetJSON() { string strURI = "http://data.taipei.gov.tw/opendata/apply/json/N0JCNzMwNEYtMkRDQi00ODNFLUIzQjMtN0E0ODM4RTU4N UUz"; var http = new HttpClient(); http.MaxResponseContentBufferSize = Int32.MaxValue; var response = await http.GetStringAsync(strURI); jsonValue = JsonValue.Parse(response.ToString()); int arraySize = jsonValue.GetArray().Count; this.listArray = new string[arraySize]; 根據JSON資料結構的不同,要取 得裡面資料的方式就會不同。
  • 60. //string strURI = "http://data.taipei.gov.tw/opendata/apply/json/N0JCNzMwNEYtMkRDQi00ODNFLUIzQjMtN0E0ODM4RTU4NU Uz"; string strURI = "http://data.taipei/opendata/datalist/apiAccess?scope=resourceAquire&rid=201d8ae8- dffc-4d17-ae1f-e58d8a95b162"; var http = new HttpClient(); http.MaxResponseContentBufferSize = Int32.MaxValue; var response = await http.GetStringAsync(strURI); JsonObject jsonObject = JsonObject.Parse(response.ToString()); int arraySize = jsonObject.GetNamedObject("result").GetNamedArray("results").Count; 根據JSON資料結構的不同,要取得 裡面資料的方式就會不同。
  • 61.
  • 62.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69. Web Hybrid Native App 技術困難度 低 低 高 效能 慢 中->快速 快速 支援原生功能 無 可 (各平台API支援度不同) 可 上架市集 無 可 可 離線 無 可 可 跨平台 可 可 無
  • 70.
  • 71.
  • 73.
  • 75.
  • 76.
  • 78.
  • 80. Wherever your code was born, you can bring it to Windows

Editor's Notes

  1. Easy to discover, install, uninstall Mobile operator billing across all windows 10 devices Subscriptions, affiliate referrals, updated ad SDK with video ads and install tracking
  2. Slide 2 Because of the huge reach of Windows 10 which will be available with a Store in 242 markets, supporting 102 languages. Over 1.5 billion devices run Windows today, and these devices will have the opportunity to run Windows 10, because . . . as we’ve announced Windows 10 will be a free upgrade to users which will dramatically accelerate rapid adoption of Windows 10 especially for Windows 7 and Windows 8 user across phone, tablet and PC.