C# ดึงข้อมูล JSON จาก WEB API

C# ดึงข้อมูล JSON จาก Web API หากพูดถึง Web API ที่ให้บริการในการดึงข้อมูลบ้างอย่างที่เราต้องการ สมัยนี้ format ข้อมูลที่ได้จากการเรียกใช้งาน Web API ที่นิยมเป็นส่วนใหญ่ก็จะอยู่ในรูปแบบ JSON (JavaScript Object Notation) ที่มีโครงการข้อมูลที่รองรับความซับซ้อนหลายชั้น ซึ่งในบทความนี้ผมจะลองใช้ C# ในการดึงข้อมูล Web API ที่เป็น JSON แปลงมาเป็น Object Class  เพื่อนำมาใช้งาน ซึ่งตัวอย่างนี้จะทำการสร้าง Window Application ดึงข้อมูลจาก typicode.com ที่ให้บริการทดสอบสร้างแบบจำลองการสร้าง web response ต่างๆ ทำให้ข้ามขั้นตอนการสร้าง Web Service ที่จะ response ข้อมูลออกมาเป็น JSON ได้เลยครับ เรามาเริ่มกันเลยดีกว่า โดยผมทำการสร้าง New Project เป็น Windows Forms Application ที่มีชื่อว่า FetchJSON จากนั้นทำการสร้างปุ่มเพื่อคลิกใช้งาน API ที่เราต้องการดึงข้อมูลแบบ JSON จากนั้นก็ double click ที่ปุ่มเพื่อเขียนโค้ด Event เมื่อทำการคลิกปุ่มโดยมีจะทำการดึงข้อมูลจาก URL นี้ครับ http://jsonplaceholder.typicode.com/posts ซึ่งมีโค้ดดังต่อไปนี้ [sourcecode language=”C#”] private void btnFetch_Click(object sender, EventArgs e) { string URL = “http://jsonplaceholder.typicode.com/posts”; WebClient wc = new WebClient(); string json = wc.DownloadString(URL); Console.WriteLine(json); } [/sourcecode] เมื่อลองรันโปรแกรมดูก็จะได้ผลลัพธ์เหมือนกับที่เราเรียก URL ผ่าน Web Browser เลยโดยผลลัพธ์ในโค้ดนั้นจะเก็บในตัวแปร json แล้วRead More →

แนวคิดและการสร้าง PREFAB ไว้ใช้งานใน UNITY GAME ENGINE

แนวคิดและการสร้าง Prefab ไว้ใช้งานใน Unity Game Engine Prefab หากแปลความหมายแล้วมันก็แปลว่า สำเร็จรูป ซึ่งใน Unity ก็คือ Game Object ที่มีคุณสมบัติที่เราสร้างไว้เป็นต้นแบบแล้วเอาไปใช้ได้ทันที และเมื่อแก้ไขต้นแบบตัวสำเร็จรูปที่เราเอาไปใช้ในฉากแต่ละฉากในเกมส์ ก็จะเปลี่ยนไปด้วย หากใครคิดไม่ออก ก็ตัวร้ายในเกมส์นั้นแหละครับ เราสร้างต้นแบบ prefab ขึ้นมา 1 อันแล้วก็ลากไปใน scene ได้เลยเหมือนเป็นกองทัพโคลนเลยที่เดียว นอกจากนี้เรายังสามารถใช้ script เพื่อกำหนดความแตกต่างของตัว prefab ให้เป็นตามเงื่อนไขของ เวลาหรือ level ของเกมส์ได้อีกตัว เรามาดูกันดีกว่า ว่าจะสร้าง Prefabs เบื้องต้นยังไง เริ่มแรกผมสร้าง Project ใน Unity ขึ้นมาใหม่ แล้วสร้าง Empty Object ขึ้นมาเพื่อทำวัตถุต้นแบบครับ จากนั้นก็ add คุณสัมบัติต่างๆที่เราต้องการอย่างในตัวอย่างผม add Circle Collider 2D และเปลี่ยนชื่อเป็น point จากนั้นผม add script เพื่อเป็นตัวกำหนดให้ Prefabs แต่ละอันมีคุณสมบัติ dynamic ตามเงื่อนไขใน script นั้นเอง หลังจากนั้นก็ add คุณสมบัติต่างๆเช่น Mesh Renderer และ Mesh Filter โดยเลือก Materials ของ Mesh Renderer เป็น Sprites-Default และ Mesh ของ Mesh Filter เป็น Sphere เพื่อที่ กล้องจะได้เห็นวัตถุที่เราสร้างขึ้นนั้นเอง ส่วนตรง Point Handler นั้นจะมี Opacity กับ C ที่เป็นสีต้องทำการเขียน Script ก่อนนะครับถึงจะมีให้เลือก ต้องจากนี้ก็ทำการ Edit Script โดยมีโค้ดดังนี้ [sourceRead More →

เขียน ASP.NET  ด้วย MVC เบื้องต้น ต้องยอมรับว่าการพัฒนา web application ในสมัยนี้ MVC Pattern ได้รับความนิยมกันมาก เท่าที่ผมรู้ MVC Pattern ถูกคิดค้นออกแบบมาในสมัย xerox คิดค้น GUI แรก แล้วใช้ concept mvc เพื่อรับคำสั่งและประมวลผลจากผู้ใช้ เมื่อเวลาผ่านไปก็ถูกนำมาใช้กับ web application ในตอนนี้ ซึ่งทาง asp.net ของ microsoft เองก็มีการออกรูปแบบ .net ให้รองรับ mvc แล้วซึ่งหลักการนั้นก็จะคล้ายๆๆกัน โดยมี Model ที่จะออกมาในแนว ORM (Object-relational mapping) ซึงทำให้เขียนโปรแกรมเชื่อมต่อ database ง่ายขึ้น ส่วนของ controller นั้นก็จะมีเหมือนกันเกือบทุกค่ายคือการ route เพื่อจัดการ url ที่เรียกเข้ามาและดุรูปแบบของการส่งข้อมูลว่าเป็น GET หรือ POST ส่วนในด้านของ View นั้น ASP.NET MVC จะใช้ Template Engine Razor ซึ่งก็ถือว่าใช้งานง่ายสะดวกและประหยัดเวลาในการพัฒนา web application ได้ เริ่มแรกผมนั้นจะใช้โปรแกรม Visual Studio Express 2013 แล้วทำการ new projection เป็น Web ในส่วนของ c# และเลือก .Net Framework 4.5 ตั้งชื่อตามรูปคือ mvcbasic       หลังจากนั้นก็เลือกเป็น Empty เลือกรูปแบบ MVC ถ้าหากต้องการ test ด้วยก็ check add unit test ไปเพื่ออนาคตอยากลอง test program ของเรา   เมื่อสร้างRead More →

ในบางครั้งในการใช้ข้อมูลจากฐานข้อมูลนั้นเมื่อทำการ query มาแล้วเราก็ต้องการเก็บข้อมูลไว้สักที 1 แล้วนำไปใช้เมื่อต้องการใน .net นั้นมีตัวแปรชนิด 1 ที่ชื่อว่า DataTable ซึ่งมันจะเปรียบเสมือนว่ามีข้อมูลเป็นตารางตามข้อมูลและเงื่อนไขที่เรากำหนดไว้ในตอน query ซึ่งใน .net นั้นจะมีการแปลงแบบอัตโนมัติกับแบบที่เราต้องเขียนคำสั่งในการวนลูปเพื่อแปลง Reader ให้ไปเป็น DataTable เริ่มแรกให้ทำการสร้างไฟล์ webform ขึ้นมาใหม่ก่อนจากนั้นทำการสร้าง GridView ขึ้นมา 2 อันเพื่อที่จะทำการกำหนดข้อมูลใน Grid โดย DataTable ทั้ง 2 แบบ จากนั้นก็ไปในส่วนของ code behind เพื่อทำการสร้างฟังก์ชั่น 2 อันที่มีชื่อว่า ReaderToDataTableAuto และ ReaderToDataTableManualRead More →

ASP.NET(C#) การเพิ่มข้อมูลลง Database ด้วยแบบ statement prepare หลังจากที่ดูตัวอย่างการดึงข้อมูลมาแสดงใน GridView แล้วมาครั้งนี้ดูการ insert หรือเพิ่มข้อมูลลงฐานข้อมูลบ้างว่ามีอะไร เริ่มแรกเหมือนทุกครั้งก็เปิด project หรือ website เริ่มต้น แล้วให้ทำการสร้างไฟล์ชื่อว่า prepare.aspx ตอนจากนั้นก็ให้ทำการสร้าง Label และ Textbox รวมไปถึง Button สร้างหน้า Form เพื่อเพิ่มข้อมูลในตาราง Shippers ในฐานข้อมูลตัวอย่าง Northwind โดการสร้าง Form นั้นจะลากจาก ToolBox หรือพิมโค้ดดังต่อไปนี้ก็ได้Read More →

จากบทความที่แล้ว ASP.net การใช้ GridView ครั้งนี้เรามาใช้ SqlDataReader กับ GridView กันบ้างโดยก่อนที่จะสามารถใช้ SqlDataReader ได้นั้นเราก็ต้องทำการเปิด Connection แล้วคำสั่งที่ใช้สำหรับดึงข้อมูลซะก่อนซึ่งข้อมูลในฐานข้อมูลนั้น ผมใช้เป็นข้อมูลตัวอย่าง Northwind เรามาเริ่มกันเลยดีกว่า ขั้นแรกผมทำการสร้างไฟล์ WebForm โดยตั้งชื่อว่า Query.aspx ดังรูป ต่อจากนั้นทำการเปิดไฟล์ Query.cs เพื่อทำการเขียนโค้ด โดยจำเป็นต้องมีการใช้ library สำหรับเชื่อมต่อฐานข้อมูล SQLServer โดยใช้คำสั่งRead More →

ภาษา C# การใช้ Thread ใน Window Application หาไปเกือบเดือนงานยุ่งจนค่อยมีเวลา หรือบ้างทีพอมีเวลาแต่ก็ไม่มีอารมณ์เขียนบทความ เพราะการเขียนบทความอะไรมันต้องอาศัยสมาธิและอารมณ์ในการเขียนบทความ ในครั้งนี้จะเป็นการใช้ thread ในภาษา C# โดยปกติแล้วเวลาเราเขียน window application ด้วย visual studio นั้นเวลาเราคลิกปุ่มแล้วก็จะไปทำงานอะไรสักอย่าง จะสังเกตเห็นว่าตัวโปรแกรมของเราจะดูค้างๆ มันเป็นแบบนี้เพราะ window form ก็ถือว่าเป็น task อันหนึ่ง แล้วเมื่อกดปุ่มทำงานอะไรสักอย่างมันก็ทำงานอีกอย่างถ้าเราไม่ใช้ thread มันก็ต้องรองานที่เกิดจากเรากดปุ่มเสร็จก่อน โปรแกรมเราก็จะกับมาทำงานไม่ค้างนั้นเอง Thread มันคืออะไร ? มันก็คือการแบ่งงานออกแบ่งส่วนๆ แยกกันทำงานของใครของมันนั้นเอง เมื่อเป็นแบบนี้แล้วเราก็สามารถทำให้โปรแกรมเราทำงานเสร็จได้เร็วขึ้นนั้นเอง เรามาเริ่มการเขียนโปรแกรม C# กันเลยดีกว่า ขั้นแรกก็เปิด visual studio 2010 ขึ้นมาแล้วเลือกเป็น c# แล้วก็ Window ApplicationRead More →

การทำอักษรเลื่อนใน xna 4.0 จากครั้งก่อนที่ผมเขียนเกมส์เล่นกับ xna ครั้งนี้เลยมาเขียนบทความจะการที่ผมได้ลองทำดู มันเป็นเรื่องเกี่ยวกับการสั่งให้ตัวอักษรเคลื่อนที่ขึ้นไปเหมือนกับการ แสดงข้อความหนังจบภาพยนตร์ เริ่มแรกเราก็สร้าง project xna game 4.0 ต่อมาก่อนจะวาดข้อความนั้นต้องทำการสร้าง font ก่อนนะครับ ให้ไปคลิกขวาที่ส่วนของ content แล้วเลือก new item ทำการเลือก Sprite Font เมื่อทำการเขียนโค้ดเพิ่มตามนี้ครับ ในส่วนของ class memberRead More →

private เป็นคำสงวนในภาษา C# ซึ่งเป็น member access modifier. Private access นั้นจะมีการกำหนดสิทธิในการเรียกใช้หรือเข้าถึงได้น้อยมาก ซึ่ง Private นั้นจะอนุญาตให้เฉพาะภายใน class เดียวกันเท่านั้น class อื่นจะไม่สามารถเรียกใช้ได้ ซึ่งจะทำให้เป็นข้อดีสำหรับการเขียนโปรแกรมแบบ oop ซึ่งจะเป็นการกำหนดให้ใช้ข้อมูลบ้างอย่างใช้ได้เฉพาะในคลาสเท่านั้นคลาสอื่นไม่สามารถเข้าถึงได้ดังนั้นจึงทำให้การเขียนโปรแกรมแบบ oop นั้นจะต้องมีพวก method get และ set เกิดขึ้นนั้นเอง เรามาดูโปรแกรม C# ที่จะแสดงตัวอย่างให้ดูกันดีกว่า โดยให้สร้าง console application ตั้งชื่อว่า privated แล้วพิมพ์โค้ดตามนี้ครับRead More →

คำว่า protected เป็น ?member access modifier อีกรูปแบบหนึ่ง ซึ่ง protected จะอนุญาตให้เฉพาะ object ที่สืบทอดมาเท่านั้นที่เข้าถึงและใช้งานได้ ซึ่งจากลักษณะการใช้งานดังกล่าวนั้นเป็นผลดีสำหรับการเขียนโปรแกรมแบบ OOP นั้นเองซึ่งเป็นการบังคับว่าจะต้องสืบทอดจาก class แม่เท่านั้นจะมีสิทธิเข้าถึงและใช้งานได้ เรามาดูตัวอย่างโปรแกรม C# กันดีกว่า เริ่มแรกให้สร้าง Console Application แล้วตั้งชื่อว่า protected จากนั้นแก้ไขไฟล์ Program.cs ตามนี้Read More →