【 Xamarin Visual Studio 2015 】 如何 檢查 Xamarin 版本 How to check Xamarin version
其實很簡單
當你開啟了,但又很難想在哪看到的!! (真的..我打從以為下指令或哪個 tool 裡面可以看到)
解決說明:
開啟 「Visual Studio 2015 」
功具列表最右邊 點選「說明」 (英文版:Help)
就會跳出一個新視窗 「關於 Microsoft Visual Studio」 (英文版:About Microsoft Visual Studio)
請拉捲軸在「已安裝的產品」往下拉就會看到 Xamarin 版本
畫面如下:
2017年1月25日 星期三
【 Xamarin Visual Studio 2015 】簡單說明 Visual Studio 外掛(擴充) Xamarin IDE 工具 開發 APP 架構
【 Xamarin Visual Studio 】簡單說明 Visual Studio 的擴充 Xamarin IDE 工具 開發 APP 架構
1.Xamarin.IOS
可以Windows 開發,透過 Mac(蘋果電腦) 瀏覽畫面
2.Xamarin.Android
可以Windows 開發
3.Xamarin.Forms
優點:同時開發 Android 、IPhone(IOS) APP
缺點:不支援太多底層原生元件
4.Xamarin.Mac
可以透過Visual Studio 在 Mac(蘋果電腦) 開發 App
官方說明網址:
https://developer.xamarin.com/guides/cross-platform/getting_started/requirements/#Windows_Requirements
1.Xamarin.IOS
可以Windows 開發,透過 Mac(蘋果電腦) 瀏覽畫面
2.Xamarin.Android
可以Windows 開發
3.Xamarin.Forms
優點:同時開發 Android 、IPhone(IOS) APP
缺點:不支援太多底層原生元件
4.Xamarin.Mac
可以透過Visual Studio 在 Mac(蘋果電腦) 開發 App
官方說明網址:
https://developer.xamarin.com/guides/cross-platform/getting_started/requirements/#Windows_Requirements
【 Xamarin Visual Studio 2015 Update 3 】2017-01 安裝 故障 排除 問題 解決( AVD SDK ) 無法執行 Cannot start or work Android SDK Manager ...
軟體工具: Visual Studio 2015 (Update 3) on Xamarin (4.2.2.11)
【 Xamarin Visual Studio 】2017-01 故障 排除 問題 解決( AVD SDK ) 無法執行 Cannot start or work Android SDK Manager ...
初始安裝好 Xamarin Visual Studio 軟體環境 如下:
1.Java Development Kit Location
版本:jdk1.7.0_55
2.Android SDK Location
3.Android NDK Location<--- p=""> 下載點:https://developer.android.com/ndk/downloads/index.html
Google 打關鍵字連結: Android NDK Downloads
出現編譯問題:
【問題一】
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2072,3): error : java.lang.UnsupportedClassVersionError: com/android/dx/command/Main :
Unsupported major.minor version 52.0
解決:這個問題顯示是 java sdk 太舊 ,無法編輯, 你要升級 java sdk 1.8 版 以上
Java Sdk 下載點
網址::http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
當你選安裝:Windows x64 \ 195.51 MB \jdk-8u121-windows-x64.exe 版本--->
<--- p="">
---> 安裝好之後要在你的 Xamarin 選項裡面設定 Android SDK Location 然定你安裝好的java sdk 路徑
開一個範本APP專案後,發現 佈署沒有 AVD 的東西,此時請你先
點選 工具(T)\Android\Android Emulator Manager ,先開啟一個AVD 模擬器
此時在開始那邊就會突然顯示出來你的模擬器名稱
<--- p="">附上 Java 版本對照表如下:--->
J2SE 8 = 52
J2SE 7 = 51
J2SE 6.0 = 50
J2SE 5.0 = 49
JDK 1.4 = 48
JDK 1.3 = 47
JDK 1.2 = 46
<--- p="">--->
JDK 1.1 = 45
<--- p="">
---> <--- p="">【問題二】--->
<--- p="">在執行 Android 模擬器時,跳出 以下 Alert 訊息,是指 可以 修改 CPU Intel Atom (x86) ,透過 HXAM 的 Hyper-V 執行 Android 模擬器,可以變快--->
<--- p="">--->
---> PS.如果您是 Windows 7 就打消此念頭,因為Windows 7 沒有 Hyper-V ,只有Windows 10 才有
<--- p="">
---> <--- p="">
....待續
--->
【 Xamarin Visual Studio 】2017-01 故障 排除 問題 解決( AVD SDK ) 無法執行 Cannot start or work Android SDK Manager ...
初始安裝好 Xamarin Visual Studio 軟體環境 如下:
1.Java Development Kit Location
版本:jdk1.7.0_55
2.Android SDK Location
3.Android NDK Location<--- p=""> 下載點:https://developer.android.com/ndk/downloads/index.html
Google 打關鍵字連結: Android NDK Downloads
出現編譯問題:
【問題一】
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2072,3): error : java.lang.UnsupportedClassVersionError: com/android/dx/command/Main :
Unsupported major.minor version 52.0
解決:這個問題顯示是 java sdk 太舊 ,無法編輯, 你要升級 java sdk 1.8 版 以上
Java Sdk 下載點
網址::http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
當你選安裝:Windows x64 \ 195.51 MB \jdk-8u121-windows-x64.exe 版本--->
<--- p="">
---> 安裝好之後要在你的 Xamarin 選項裡面設定 Android SDK Location 然定你安裝好的java sdk 路徑
開一個範本APP專案後,發現 佈署沒有 AVD 的東西,此時請你先
點選 工具(T)\Android\Android Emulator Manager ,先開啟一個AVD 模擬器
此時在開始那邊就會突然顯示出來你的模擬器名稱
<--- p="">附上 Java 版本對照表如下:--->
J2SE 8 = 52
J2SE 7 = 51
J2SE 6.0 = 50
J2SE 5.0 = 49
JDK 1.4 = 48
JDK 1.3 = 47
JDK 1.2 = 46
<--- p="">--->
JDK 1.1 = 45
<--- p="">
---> <--- p="">【問題二】--->
<--- p="">在執行 Android 模擬器時,跳出 以下 Alert 訊息,是指 可以 修改 CPU Intel Atom (x86) ,透過 HXAM 的 Hyper-V 執行 Android 模擬器,可以變快--->
<--- p="">--->
Running an x86 based Android Virtual Device(AVD) is 10x faster. We strongly recommend creating a new AVD.
<--- p="">---> PS.如果您是 Windows 7 就打消此念頭,因為Windows 7 沒有 Hyper-V ,只有Windows 10 才有
<--- p="">
---> <--- p="">
....待續
--->
2016年12月24日 星期六
2016年12月9日 星期五
【IIS Windows 10 】Windows 10 在 iis 上 重新安裝 Framework 指令 powershell
2016年10月20日 星期四
【ASP.MVC】私房菜 MVC 30 招
第一招 (2016/10/23):
Html.AntiForgeryToken 自動 在 X-Frame-Options 中加上:SAMEORIGIN"
說明:禁止其它網站使用 Iframe 崁入
針對:X-Frame-Options 說明請參考以下網址:
網址:https://developer.mozilla.org/zh-TW/docs/HTTP/X-Frame-Options
第二招 (2016/10/25):
jQuery Validation 驗證表單
說明:找出尚有錯誤訊息,禁止 form.Submit()
針對:$("form").data("validator").errorList.length
網址:http://www.codeproject.com/Tips/539167/Modify-jQuery-validation-settings-using-MVC-unobtr
第三招(SQL ELMAH_Error)
ELMAH Utc 轉 Local Time
SELECT CONVERT(datetime,
SWITCHOFFSET(CONVERT(datetimeoffset,
ELMAH_Error.TimeUtc),
DATENAME(TzOffset, SYSDATETIMEOFFSET())))
AS ColumnInLocalTime
FROM ELMAH_Error
第四招( IIS SSL 443 PORT)
說明:明明設定了 443 port 確無法顯示正常的 一個鎖的狀態
針對:因為你的網站頁面上面, including 外站資料 ,比如IMAGE 圖檔或 JavaScript 檔案
案例如下:
待續...
Html.AntiForgeryToken 自動 在 X-Frame-Options 中加上:SAMEORIGIN"
說明:禁止其它網站使用 Iframe 崁入
針對:X-Frame-Options 說明請參考以下網址:
網址:https://developer.mozilla.org/zh-TW/docs/HTTP/X-Frame-Options
第二招 (2016/10/25):
jQuery Validation 驗證表單
說明:找出尚有錯誤訊息,禁止 form.Submit()
針對:$("form").data("validator").errorList.length
網址:http://www.codeproject.com/Tips/539167/Modify-jQuery-validation-settings-using-MVC-unobtr
第三招(SQL ELMAH_Error)
ELMAH Utc 轉 Local Time
SELECT CONVERT(datetime,
SWITCHOFFSET(CONVERT(datetimeoffset,
ELMAH_Error.TimeUtc),
DATENAME(TzOffset, SYSDATETIMEOFFSET())))
AS ColumnInLocalTime
FROM ELMAH_Error
第四招( IIS SSL 443 PORT)
說明:明明設定了 443 port 確無法顯示正常的 一個鎖的狀態
針對:因為你的網站頁面上面, including 外站資料 ,比如IMAGE 圖檔或 JavaScript 檔案
案例如下:
錯誤內容 including 其它網站 圖片或 js 檔,引發無法驗證成ssl 檔案 |
正確網址 |
待續...
2016年9月6日 星期二
【ASP NET.MVC, C# 】 Class to Json returun String to html 解析 String to obj
【ASP NET.MVC, C# 】Class to Json returun String to html 解析 String to obj
Action
return Json(save_result, "text/html", JsonRequestBehavior.AllowGet);
Html
JSON.parse(data.result);
Action
return Json(save_result, "text/html", JsonRequestBehavior.AllowGet);
Html
JSON.parse(data.result);
【Jquery】jQuery Upload File 元件
使用:jquery.fileupload-validate.js 卻錯訊息
錯誤訊息:Cannot call method 'push' of undefined
是因為少了:jquery.fileupload-process.js
把它加入就可以了,要放在 validate 之前引用
錯誤訊息:Cannot call method 'push' of undefined
是因為少了:jquery.fileupload-process.js
把它加入就可以了,要放在 validate 之前引用
2016年8月27日 星期六
【ASP.MVC】JSON 使用 前後台對應
【Action】
方法1
var d = Context.CodeTree
.Select(o => new { o.Name, o.Value });
方法2
var result = from o in Context.CodeTree
.Select
(
o => new { o.Name, o.Value }
)
select o;
方法3
IEnumerable Studentitems =
db.Student.Where(c => c.StudentCategoryID == CategoryID)
.AsEnumerable().Select(c => new SelectListItem()
{
Text=c.Name,
Value=c.StudentID.ToString()
});
SelectList StudentID = new SelectList(Studentitems, "Value", "Text");
方法1
return Content(JsonConvert.SerializeObject(result), "application/json");
方法2
ViewBag.result = JsonConvert.SerializeObject(result);
方法3
return Json(StudentID, JsonRequestBehavior.AllowGet);
【View】
var q = '@Html.Raw(ViewBag.result)'
方法1
var d = Context.CodeTree
.Select(o => new { o.Name, o.Value });
方法2
var result = from o in Context.CodeTree
.Select
(
o => new { o.Name, o.Value }
)
select o;
方法3
IEnumerable
db.Student.Where(c => c.StudentCategoryID == CategoryID)
.AsEnumerable().Select(c => new SelectListItem()
{
Text=c.Name,
Value=c.StudentID.ToString()
});
SelectList StudentID = new SelectList(Studentitems, "Value", "Text");
方法1
return Content(JsonConvert.SerializeObject(result), "application/json");
方法2
ViewBag.result = JsonConvert.SerializeObject(result);
方法3
return Json(StudentID, JsonRequestBehavior.AllowGet);
【View】
var q = '@Html.Raw(ViewBag.result)'
【ASP.MVC】驗証
數字:"^[0-9]*$"。
n位的數字:"^\d{n}$"。
至少n位的數字:"^\d{n,}$"。
m~n位的數字:。"^\d{m,n}$"
零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
非零的正整數:"^\+?[1-9][0-9]*$"。
非零的負整數:"^\-[1-9][]0-9"*$。
長度為3的字符:"^.{3}$"。
由26個英文字母組成的字符串:"^[A-Za-z]+$"。
由26個大寫英文字母組成的字符串:"^[AZ]+$"。
由26個小寫英文字母組成的字符串:"^[az]+$"。
由數字和26個英文字母組成的字符串:"^[A-Za-z0-9]+$"。
由數字、26個英文字母或者下劃線組成的字符串:"^\w+$"。
驗證用戶密碼:"^[a-zA-Z]\w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數字和下劃線。
驗證是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。
只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
驗證Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
驗證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
驗證電話號碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX- XXXXXXXX "、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
驗證身份證號(15位或18位數字):"^\d{15}|\d{18}$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。
ModelState.AddModelError方法是給View返回一個錯誤消息,最終交給@Html.ValidationSummary顯示。
n位的數字:"^\d{n}$"。
至少n位的數字:"^\d{n,}$"。
m~n位的數字:。"^\d{m,n}$"
零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
非零的正整數:"^\+?[1-9][0-9]*$"。
非零的負整數:"^\-[1-9][]0-9"*$。
長度為3的字符:"^.{3}$"。
由26個英文字母組成的字符串:"^[A-Za-z]+$"。
由26個大寫英文字母組成的字符串:"^[AZ]+$"。
由26個小寫英文字母組成的字符串:"^[az]+$"。
由數字和26個英文字母組成的字符串:"^[A-Za-z0-9]+$"。
由數字、26個英文字母或者下劃線組成的字符串:"^\w+$"。
驗證用戶密碼:"^[a-zA-Z]\w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數字和下劃線。
驗證是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。
只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
驗證Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
驗證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
驗證電話號碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX- XXXXXXXX "、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
驗證身份證號(15位或18位數字):"^\d{15}|\d{18}$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。
ModelState.AddModelError方法是給View返回一個錯誤消息,最終交給@Html.ValidationSummary顯示。
2016年8月21日 星期日
【ASP.NET MVC 5 完全攻略】 這本書我自己的評語
對於【ASP.NET MVC 5 完全攻略】 這本書我自己的評語是:
初學者去看,會看不太懂書中要傳遞的詳細說明,
我本身是從今年開始學ASP.MVC 起初是看不懂書中要傳達的意思,
漸漸有了MVC基礎之後,在回頭看這本書,裡面寫的很細,
用途及用法及說明也有很多範例,只是範例用法也要看好幾次,
才會看得懂它的意思,我覺得書中並沒有傳達的很清楚圖像式,
書是直接切入細節說明,會讓初學者跳的太快,讓人翻一下就丟在陪邊,
PS.以上個人感覺說明,書的內容因人而異
初學者去看,會看不太懂書中要傳遞的詳細說明,
我本身是從今年開始學ASP.MVC 起初是看不懂書中要傳達的意思,
漸漸有了MVC基礎之後,在回頭看這本書,裡面寫的很細,
用途及用法及說明也有很多範例,只是範例用法也要看好幾次,
才會看得懂它的意思,我覺得書中並沒有傳達的很清楚圖像式,
書是直接切入細節說明,會讓初學者跳的太快,讓人翻一下就丟在陪邊,
PS.以上個人感覺說明,書的內容因人而異
2016年8月19日 星期五
【Jquery】DataTable套件 套用 language url 問題
$(document).ready(function () {
var table = $('#example').DataTable({
"language": {
"url": "tw.json"
}
});
});
照官網怎麼套繁體中文「Chinese-traditional.json」都有問題,結果就把檔案下來,用本機端去試,然後再然的「副檔名」改成 json 就搞定了...
繁體 官網說明:https://datatables.net/plug-ins/i18n/Chinese-traditional
官網:https://datatables.net/
大陸:http://datatables.club/
var table = $('#example').DataTable({
"language": {
"url": "tw.json"
}
});
});
照官網怎麼套繁體中文「Chinese-traditional.json」都有問題,結果就把檔案下來,用本機端去試,然後再然的「副檔名」改成 json 就搞定了...
繁體 官網說明:https://datatables.net/plug-ins/i18n/Chinese-traditional
官網:https://datatables.net/
大陸:http://datatables.club/
2016年8月18日 星期四
【LINQ】SELECT 兩個 欄位 tw column (第三種:Lambda select )
public IQueryable CompanyList()
{
IQueryable result = null;
result = from o in Context.Company
.Select
(
o => new { o.CodeName ,o.CodeValue}
)
select o;
return result;
}
解析後:
{SELECT
1 AS [C1],
[Extent1].[CodeName] AS [CodeName],
[Extent1].[CodeValue] AS [CodeValue]
FROM (
SELECT
[Company].[Id] AS [CodeTreeId],
[Company].[CodeName] AS [CodeName],
[Company].[CodeValue] AS [CodeValue],
[Company].[Sort] AS [Sort],
FROM [dbo].[Company] AS [Company]) AS [Extent1]}
{
IQueryable result = null;
result = from o in Context.Company
.Select
(
o => new { o.CodeName ,o.CodeValue}
)
select o;
return result;
}
解析後:
{SELECT
1 AS [C1],
[Extent1].[CodeName] AS [CodeName],
[Extent1].[CodeValue] AS [CodeValue]
FROM (
SELECT
[Company].[Id] AS [CodeTreeId],
[Company].[CodeName] AS [CodeName],
[Company].[CodeValue] AS [CodeValue],
[Company].[Sort] AS [Sort],
FROM [dbo].[Company] AS [Company]) AS [Extent1]}
【LINQ】Select 兩個 欄位 two column (第二種:更好解法 linq select new)
【LINQ】Select 兩個 欄位 two column (第二種:更好解法 linq select new)
【範例1】
public IQueryable CompanyList()
{
IQueryable result = null;
var q = from o in Context.Company
select new
{
o.CodeName,
o.CodeValue,
};
result = q.ToList().AsQueryable();
return result;
}
解析:
{System.Collections.Generic.List`1[<>f__AnonymousType0`2[System.String,System.String]]}
【範例2】
public IEnumerable CompanyList()
{
IEnumerable result = null;
var q = from o in Context.Company
select new
{
o.CodeName,
o.CodeValue,
};
result = q.ToList();
return result;
}
解析:
result = Count = 3
提供給 dropdownlist 或 radiobox 或 checkbox 使用
【範例1】
public IQueryable CompanyList()
{
IQueryable result = null;
var q = from o in Context.Company
select new
{
o.CodeName,
o.CodeValue,
};
result = q.ToList().AsQueryable();
return result;
}
解析:
{System.Collections.Generic.List`1[<>f__AnonymousType0`2[System.String,System.String]]}
【範例2】
public IEnumerable CompanyList()
{
IEnumerable result = null;
var q = from o in Context.Company
select new
{
o.CodeName,
o.CodeValue,
};
result = q.ToList();
return result;
}
解析:
result = Count = 3
提供給 dropdownlist 或 radiobox 或 checkbox 使用
【LINQ】Select new two column 只撈兩個欄位,再轉回CLASS 類型 (第一種)
【LINQ】Select new two column 只撈兩個欄位,再轉回CLASS 類型 (第一種)
以下這樣做法太麻煩了
public IQueryable CompanyList()
{
IQueryable result = null;
result = (from o in Context.Company
orderby o.Sort ascending
select new
{
CodeName = o.CodeName,
CodeValue = o.CodeValue,
}
).ToList()
.Select(x => new Company
{
CodeName = x.CodeName,
CodeValue = x.CodeValue,
}).AsQueryable();
return result;
}
{System.Linq.Enumerable+WhereSelectListIterator`2[<>f__AnonymousType0`2[System.String,System.String],Dcn.SqlClient.Company]}
以下這樣做法太麻煩了
public IQueryable
{
IQueryable
result = (from o in Context.Company
orderby o.Sort ascending
select new
{
CodeName = o.CodeName,
CodeValue = o.CodeValue,
}
).ToList()
.Select(x => new Company
{
CodeName = x.CodeName,
CodeValue = x.CodeValue,
}).AsQueryable();
return result;
}
{System.Linq.Enumerable+WhereSelectListIterator`2[<>f__AnonymousType0`2[System.String,System.String],Dcn.SqlClient.Company]}
2016年7月31日 星期日
2016年7月23日 星期六
【初嚐美食】荷亞輕食館輔大店 (非廣告文)
訂閱:
文章 (Atom)