บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ รับทำแอนดรอยด์

การดึง Json มาใส่ Spinner (json parse to spinner)

รูปภาพ
      สวัสดีครับวันนี้มาแนะนำตัวอย่างการทำ Json ใส่ Spinner กัน ซึ่งก็เป็นส่วนหนึ่งของ โปรเจคแอนดรอยด์ โดยที่พูดกันง่ายๆก็คือการที่ ดึงข้อมูลจากฐานข้อมูลในฟิลนึงมาใส่ลงให้ Spinner นั้นเอง ซึ่งตัวิย่างนี้ก็ไม่ยากเลย และก็ไม่ง่ายด้วยครับ เนื่องจากผมได้ลองทำดูแล้ว ตอนแรกคิดว่าง่ายถึงงั้นง่ายมาก แต่พอเอาเข้าจริงๆ มันต้องประยุกต์ความรู้ที่มีเยอะพอสมควรนะครับ       โดยความรู้หลักที่แน่ๆ ก็ต้องเป็นเรื่อง JSON นั้นและการดึงข้อมูลจาก Web Service ซึ่งแน่นอนถ้าใครได้ลองไปค้นหาข้อมูลเกี่ยวกับ Spinner มานั้น จะเจอตัวอย่างแบบเพื่อข้อมูลเข้าใส่ Spinner เองเยอะมาก รวมไปถึงการแอดข้อมูลเอง เป็น Array บ้าง เป็น ArrayList บ้าง นั้นแหละครับเยอะมาก โดยที่ตัวอย่างนี้หลักการก็ต้องใช้ ArrayList เช่นกัน ประยุกต์กันไปครับ โดยที่ฐานข้อมูลของผมมีดังนี้  ผมต้องการจะดึง car_name ออกมาแสดงใน Spinner นั้นต้องทำยังไง       นั้นแหละครับที่แค่คิดอาจจะไม่ยากเลย แต่ตอนทำก็จะงงๆ โดยหลักการนั้นผมจะทำการประยุกต์ในส่วนของ Php นิดหน่อยครับ โดยที่ใช้โค้ดในส่วนน...

การทำอนิเมชั่นโดยใช้ ConstraintLayout ในแอนดรอยด์ (Android)

รูปภาพ
              สวัสดีครับ วันนี้จะเป็นบทความแรกของ แอนดรอยด์ (Android) ที่เขียนเป็น Kotlin ซึ่งจริงๆ ก็ยังไม่รู้เรื่องกับเจ้าภาษานี้มากเท่าไหร่นัก. วันนี้จะเป็นการทำอนิเมชั่น (Animation) ของ ConstrainLayout เลเอาท์แบบใหม่ของ แอนดรอยด์ ซึ่งถ้าสงสัยว่าอนิเมชั่นนี้เป็นอย่างไรก็สามารถดูได้ตามคลิปวิดีโอด้านล่างได้เลยครับ ผมว่ามันมีความเจ๋งอยู่ในการทำอนิเมชั่นแบบนี้  จึงได้นำมาซึ่งบทความในวันนี้นั้นเอง       ก่อนที่เราจะไปเข้าโค้ด เรามีดูในส่วนประกอบไฟล์อื่นๆก่อน ในตัวอย่างนี้จะมีการใช้ไฟล์ gradient.xml และ gradient_variant.xml ในโฟลเดอร์ drawable ซึ่ง 2 ไฟล์นี้ก็คือการทำภาพเลเอาท์ให้มันเบลอๆนั้นเอง หน้า xml 2 หน้าที่เบลอก็เพราะ 2 ไฟล์นี้นั้นแหละครับ gradient.xml <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android= "http://schemas.android.com/apk/res/android" android:shape= "rectangle" > <gradient android:angle= "90" android:endColor= "#00181818" android:...

การดักค่าใน EditText แบบ AlertDialog หรือ setError

รูปภาพ
      สวัสดีครับ. วันนี้ผมจะมาพูดถึงเรื่องของ EditText นิดนึง. คงไม่มีใครไม่รู้จัก EditText นะครับ. ถ้าไม่รู้จักก็ไปดูตัวนี้เลยยย. EditText ก็คือ Wiget ตัวหนึ่งของ แอนดรอยด์ . หรือเรียกว่าเครื่องมือก็ได้. ที่ใช้ในการใส่ข้อความลงไป. โดยที่ EditText นั้นแน่นอนว่ามันสำคัญมากๆกับทุกโปรเจคในแอนดรอยด์. และในโปรแกรมทุกโปรแกรม. เพราะมันก็ต้องมีการใส่ค่าอะไรสักอย่างลงไปอย่างแน่นอน. ซึ่งในเมื่อมีการใส่ค่าแล้ว. เราก็ควรจะต้องมีการดักค่าลงนั้นด้วย. เพื่อป้องกันข้อมูลที่ไม่พึงประสงค์ต่างๆ. เช่น ให้ใส่ตัวเลข  แต่ดันไปใส่อักขระ เป็นต้น. แล้วถ้าข้อมูลนั้นๆผิดประเภทขึ้นมา. จะมีการแสดงผลหรือ Interaction ออกมายังไง       ในวันนี้ผมจะมานำเสนอด้วยกัน 2 แบบครับ นั้นคือ 1. AlerDialog และ 2. setError ซึ่งผมคิดว่าแบบนี้หลายคนก็น่าจะรู้จักอยู่แล้ว. แต่แบบ 2 เนี่ยผมก็เพิ่งรู้จักเหมือนกัน ไปดูกันเลยยยย AlertDialog       1. แบบ AlertDialog แบบนี้ก็คือแบบ pop up ขึ้นมานั้นเองโดยเราจะใช้คำสั่ง final AlertDialog . Builder ad = new AlertDi...

การใช้ Arrays.sort ในการเรียงลำดับอาเรย์ (Array) จากน้อยไปมาก

รูปภาพ
       สวัสดีครับ วันนี้ผมจะมาพูดถึงเรื่องของอาเรย์ (array) นิดหน่อยครับ เกี่ยวกับการเรียงลำดับตัวแปรจากน้อยไปมาก ซึ่งจะสามารถทำให้จัดการข้อมูลในอาเรย์นั้นได้ง่าย. ไปดูข้างล่างกันเลย ปล. บทความนี้จะเอาไปใช้กับจาวาในแอนดรอยด์ หรือจาวาในระบบอื่นก็ได้นะครับ        ถ้าสมมติผมมีลำดับอาเรย์ (Array) เป็นแบบนี้ int a[] = {1, 2, 3, 12, 15, 26, 22, 5, 5, 0}; ลำดับในอาเรย์ตัวนั้นๆ คือ a[] นั้นมันคงไม่สวยแน่นอน. ดังนั้นการจัดการอาเรย์โดยให้มันเรียงลำดับจากน้อยไปมากนั้นสามารถทำได้ง่ายมากด้วยการใช้คำสั่ง Array.sort() ซึ่งถ้าเป็นตัวอย่างนี้ก็ต้องใช้เป็น Array.sort(a);        ถ้าถามว่าผลลัพธ์จะเป็นยังไงนะหรอ. มันก็จะเรียงออกมาได้สวยงามมาก. ตามนี้ {0, 1, 2, 3, 5, 5, 12, 15, 22, 26} (ครบรึยังแอดมินไม่แน่ใจ เพราะไม่ได้เทส 555) ครับมันก็จะออกมาประมาณนั้น. เราสามารถเทสได้ง่ายๆ โดยการใช้ Log โดยจะต้องเทสลงในคำสั่ง For เพื่อให้มันวนค่าจนครบอาเรย์ทุกตัวได้ 1 2 3 for ( int i = 0 ; i < a . length ; i ++) { Log . d ...

ทำ NavigationDrawer แบบง่ายๆ

รูปภาพ
       สวัสดีครับ สำหรับวันนี้ก็จะมาทำตัวอย่าง NavigationDrawer แบบง่ายๆ ให้ทุกทุกคนดูนะครับ โดยที่การทำตัวอย่างนี้ จะมีประโยชน์มากๆในการทำแอพในหลายรูปแบบ และสามารถเอาไปประยุกต์และต่อยอดได้เยอะ โดยเฉพาะการนำไปใช้ในเรื่องของ Fragment , ระบบยูสเซอร์ และอื่นๆอีกมากมาย ในตัวอย่างนี้ ไฟล์ข้อมูลและซอสโค้ดอาจจะเยอะอยู่พอสมควร แต่โดยรวมแล้ว เข้าใจง่ายและไม่ต้องมีการประยุกต์อะไรมากมาย โอเคเราไปดูกันเลย        สำหรับ โปรเจคแอนดรอยด์ แล้ว  ถ้าขาด NavigationDrawer ไปนั้นก็ได้  แต่มันก็จะเหมือนขาดสีสันอะไรไป  โดยเฉพาะยิ่งท่าเป็นแอปขององค์กรที่มีฐานข้อมูลหรือระบบในระดับนึง  ตัว NavigationDrawer เนี่ยแหละจะทำให้จัดการข้อมูลทุกอย่างในแอปได้อย่างง่ายดาย  เพราะว่า Navigation ก็บอกอยู่แล้วว่าเป็นตัวนำทาง  ถ้ามีตัวนี้ก็กดแค่ 1 - 2 คลิก ก็สามารถไปยังหน้าที่เราต้องการได้เลยครับ  ถ้าออกแบบให้สวยแล้วด้วยก็จะดีงามมาก ไฟล์ Gradle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 a...