C# Get Hostname from string

今天公司的一個Project需要一個功能去取後網址上的Hostname

假設我們要取得Hostname的網址是這一個
http://blog.sharechiwai.com/2014/03/azure-mobile-services-error-not-a-whitelisted-origin/

解決方法十分簡單..
我們可以使用建立一個Uri Object

之後使用他的Host屬性來取得 這個網址的Hostname
如果這個字串不是網址的話..
在建立Uri Object
便會出現”UriFormatException“的錯誤
UriFormatException

E.G.

  string url = "http://blog.sharechiwai.com/2014/03/azure-mobile-services-error-not-a-whitelisted-origin/";
            Uri myUri = new Uri(url);
            string host = myUri.Host;
            // Show result
            MessageBox.Show(host);

他便會彈出 “blog.sharechiwai.com“了
blog.sharechiwai.com Url Pop-up

Hope you find it useful

Nokia X screenshot – 在NokiaX 手我機上如何擷取螢幕畫面

由于Nokia X 是以Android操作系統 4.1.2 為核心的
所以他的Take screenshot /擷取螢幕畫面 的功能和大部份的 Android 手機

按 “電源按鈕(Power Button)” + “降低音量鍵(Volume-)”
Nokia X How to Take Screenshot

Hope you find it useful
Nokia X Screenshot Taken

Reference:
Nexus 5 小提示 – 如何擷取螢幕畫面?
http://iamrogerli.blogspot.co.uk/2013/12/nexus-5.html

Nokia X UnBox – Nokia X 開箱

今天很幸運..可以得到Nokia 最新的Nokia X 手機
Nokia X Unbox

Nokia XNokia第一部以Android做核心加以改良的 [好似是 Android 4.1.2]
Nokia X software platform 手機
他的硬件規格是入門類型..
所以不要期望太高

  • Main camera sensor: 3 MP
  • Display size: 4″
  • Processor name: Qualcomm Snapdragon™ S4 Dual-core 1 GHz
  • Maximum talk time (3G): 10.5h
  • Maximum music playback time: 26h
  • Photo sharing: Twitter;Facebook;Send as email attachment;Share over Bluetooth
  • Display resolution: WVGA (800 x 480)
  • SIM card type: Micro SIM
  • Dual SIM: Dual Standby SIM
  • Charging connectors: Micro-USB
  • User data storage: In device, Memory card
  • RAM: 512 MB
  • Mass memory: 4 GB
  • Expandable memory card type: MicroSD
  • Maximum memory card size: 32 GB

詳情可以參考以下網址
http://www.nokia.com/global/products/phone/nokia-x/specifications/

Nokia X+
主要分別

  • 內存 升級到 768MB

Nokia XL
主要分別

  • 內存 升級到 768MB
  • 5 Mega PixelAuto Focus 後置鏡頭

一如以往..現在的手機包裝盒都很精緻…
由于有貼紙的關係..一打開還以為是一個給小朋友玩的假電話
Nokia X device [Red]

紅色的 Nokia X 殼… 可能太Sharp的關係
看起來有點似Lego 玩具..
手感/質感也有點像有電芯的Lego
Nokia X back

跟機配件

  • Nokia X Dual SIM [主手機]
  • High Efficiency Charger AC-20 [可能手機還沒有在英國推出..所以我的是歐洲差電頭]
  • Nokia Battery BN-01 1500 mAh [可能手機細..所以電磁用到第二天還可以用]
  • Nokia Stereo Headset WH-108 [很玩具的 head set]

What come with the box on Nokia X

開了外殼後 [前]
有兩張插入SIM 卡的位置 [Micro SIM]
一個Micro SD 卡位
Nokia X Device

開了外殼後 [背] 紅色得Sharp..
Nokia X Battery

電池 1500mah [可能還沒有插入SIM 卡...傾過Skype 和Download了 些App 用過了24小時還有電]
Nokia X Battery

第一次開機要選擇語言
Nokia X Language selection

之後便出現 Welcome screen 叫你Activate Device
Welcome to Nokia X

之後會出現小小的使用教學
Nokia X User Tutorial

可以開始使用了.. 是不是跟Windows Phone的介面差不多呢?
Nokia X UI

更多的圖可以到以我的相簿
http://sharechiwai.com/album/ps/72157643171329904

有空時會和大家分享更多有關Nokia X的 使用心得

Have a good day..

Crystal Report Show page footer on first page only

今天要更新公司客戶的一個報告..
這個報告是用Crystal Report XI R2 寫的..
客戶想在Report首頁的Footer上加入他們的公司地址等的一些文字

由於只是需要方在首頁的Page Footer
所以解決方法也不太複雜

我們可以使用Section Expert 中的Suppress 再加一個簡單的Formula便可以解決

解決方法
Crystal ReportDesign Mode上 的邊邊上按右鍵..
之後選擇”Section Expert…
Crystal Report Section Expert...
Section Expert” Windows 便會彈出來
之後我們可以在”Sections:” 區域上選擇 “Page Footer” – 因為我們希望把資料/文字只顯示在 第一頁上
在右邊”Common tab” 入 按一下 “Suppress (No Drill-Down)“右方的 “Formula” 按鈕
在”Formula Editor – Suppress(No Drill Down)” Window上輪入 以下Formula

PageNumber >1

Crystal Report Section Expert Formula to show on First page footer only
這個意思是當Page Number大過1便Suppress 隱藏這個 Page Footer

Hope you find it useful

Azure Mobile Services – Error: Not a whitelisted origin

今天在測試Windows Azure Mobile Services 的時出現以下的錯誤
{“code”:401,”error”:”Error: Not a whitelisted origin: http://wagbc2014.azurewebsites.net”}
{
起初還以為 是Twitter/ Google / FaceBook OAuth/ Microsoft Account Oauth的問題
誰不知其實是Windows Azure Mobile Services的安全性設定問題..

解決方法十分簡單..
我們只需要登入Windows Azure Portal
https://manage.windowsazure.com
之後選擇”Mobile Services
-> 按一下你所使用的 Mobile Services 名稱
之後按”Configure/配置
在 “Configure/配置“版面上 的中間部
有一個 “cross-origin resource sharing (cors)“的部分
在這裡你可以設定Windows Azure Mobile Service容許那一個網址可以Make Request 到這個Mobile Services
只要在TextBox 內加入你會使用Windows Azure Mobile Services的網址
E.G.
Windows Azure cross-origin resource sharing (cors)
按”Save/儲存” 便可以了

Hope you find it useful

Android Studio – Add As Library Error – IncorrectOperationException: Must not change document outside command or undo-transparent action.

今天嘗試Android Studio上加入 Windows Azure Mobile ServicesSDK
當我嘗試把這個SDK加入成為LibraryAdd As Library“時出現了以下的錯誤…
又是和之前的問題一樣..把Android Studio 升級到 0.5.1便出現很多問題了..
IncorrectOperationException: Must not change document outside command or undo-transparent action. See com.intellij.openapi.command.WriteCommandAction or com.intellij.openapi.command.CommandProcessor: Must not change document outside command or undo-transparent action. See com.intellij.openapi.command.WriteCommandAction or com.intellij.openapi.command.CommandProcessor

做了一會research 之後找到了解決方法..

解決方法
我們可以自行在build.gradle上加入以下 compile files(“path/filename.jar”)的參考便可以了
E.G. 我的Windows Azure Mobile Services SDK Library 的位置是在這裡的 “libs\mobileservices-1.1.0.jar
Windows Azure Mobile Services Path on Android Studio
所以在build.gradle上我的設定便會是這樣

compile files('libs/mobileservices-1.1.0.jar')

Android Studio - build.gradle - Windows Azure Mobile Services SDK
加入了參考後便可以使用 Windows Azure Mobile Services SDK for Android
E.g.
Activity 上我可以加入以下的參考 com.microsoft.windowsazure.mobileservices

import com.microsoft.windowsazure.mobileservices.MobileServiceClient;
import com.microsoft.windowsazure.mobileservices.MobileServiceTable;
import com.microsoft.windowsazure.mobileservices.NextServiceFilterCallback;
import com.microsoft.windowsazure.mobileservices.ServiceFilter;
import com.microsoft.windowsazure.mobileservices.ServiceFilterRequest;
import com.microsoft.windowsazure.mobileservices.ServiceFilterResponse;
import com.microsoft.windowsazure.mobileservices.ServiceFilterResponseCallback;
import com.microsoft.windowsazure.mobileservices.TableOperationCallback;
import com.microsoft.windowsazure.mobileservices.TableQueryCallback;

Hope you find it useful