วันพุธที่ 29 มิถุนายน พ.ศ. 2554

iPhone: WWDC 2011 Session Videos

iPhone: WWDC 2011 Session Videos
วีดีโอของการประชุมสัมมาเชิงวิชาการของ Apple ประจำปี 2011 ได้ถูกรวบรวมไว้เป็นวีดีโอแบบแบ่งเป็นหมวดหมู่ เพื่อนๆ สามารถล็อกอินเข้าไปในเว็บไซต์ https://developer.apple.com/videos/wwdc/2011 ด้วย Apple ID เพื่อดูวีดีโอต่างๆ ครับ



วันอังคารที่ 28 มิถุนายน พ.ศ. 2554

AD@Y: Request for your Comments

AD@Y:  Request for your Comments 1/2011
บล็อค adaydesign ก้อเปิดมาได้สักครึ่งปีแล้วนะครับ มียอดคนเข้าอ่านประมาณหมื่นกว่าๆ ก็น่าจะมีคนรู้จักบ้างนิดหน่อย ถึงเวลาแล้วที่ผมต้องทำการสอบถามและปรับปรุง คุณภาพเพื่อให้การบริการในบล็อคนี้มีคุณภาพและโดนใจผู้อ่านมายิ่งขึ้น

ดังนั้นๆ เพื่อนที่แวะเข้ามาเยี่ยมบล็อคเพื่อหาความรู้หรือผ่านมาเฉยๆ รบกวนตอบแบบสอบถามให้หน่อยนะครับ เพราะคำตอบของเพื่อนๆ จะทำให้บล็อคนี้มีการปรับปรุงให้ดียิ่งขึ้นได้โดนใจครับ

วันจันทร์ที่ 27 มิถุนายน พ.ศ. 2554

iPhone: Basic UITableView Example using Custom Class

iPhone: Basic UITableView Example using Custom Class


บทความนี้เป็นบทความที่ต่อเนื่องจากบทความที่แล้วที่พูดถึงการเริ่มใช้งาน UITableView โดยการแสดงผลรายชื่อสีและกดที่ชื่อของสีเพื่อเปลี่ยนสีพื้นหลังของวิว (iPhone: Basic UITableView Example) ในบทความนี้ก็จะคล้ายๆ กันครับในฟังก์ชั่นคือแสดงรายชื่อของสีและกดชื่อของสีเพื่อเปลี่ยนสีพื้นหลัง แต่ว่าเราจะมาลองสร้างเป็นคลาสเพื่อเรียกใช้งานกันดีกว่าครับ จะได้ปูพื้นฐานเพื่อนำไปใช้ในเรื่องอื่นๆ ด้วย



วันศุกร์ที่ 24 มิถุนายน พ.ศ. 2554

iPhone: Basic UITableView Example

iPhone: Basic UITableView Example
จากบทความก่อนๆ ที่เกี่ยวกับ UITableView คงทำให้เพื่อนๆ เข้าใจโครงสร้างและระบบของตัว UITableView มาบ้างแล้วนะครับ ต่อมาในบทความนี้ผมจะพามาลองเล่นกับ UITableView ในการใช้งานจริงกันเลยว่า เราจะจัดการการแสดงผลของข้อมูลบนเทเบิลวิวได้อย่างไร


วันพฤหัสบดีที่ 23 มิถุนายน พ.ศ. 2554

iPhone: Configuration Xib file of UITableView with using XCode4 (2)

iPhone: Configuration Xib file of UITableView with using XCode4 (2)
เรามาต่อกันกับเนื้อหาที่เหลือของส่วนการแนะนำการปรับแต่งค่าของ UITableView ใน Interface Builder ได้แก่ส่วนของ การปรับแต่ง View, TableView Size, ScrollView Size, Outlets และ Reference Outlets เรามาเริ่มลุยกันต่อเลยครับ

5. ในส่วนของการปรับแต่ง View โอเค View ในที่นี้หมายถึงส่วนการแสดงผลเทเบิลวิว (TableView) ทั้งหมด ตัวอย่างเช่นการกำหนดสีพื้นหลัง การกำหนดความโปร่งแสงของเทเบิลวิว เป็นต้น


วันพุธที่ 22 มิถุนายน พ.ศ. 2554

Flex Mobile: Building a mobile employee directory sample with Flex and Flash Builder

Flex Mobile: Building a mobile employee directory sample with Flex and Flash Builder
ลิ้งนี้เป็นตัวอย่างการเขียน Flex Mobile เพื่อแสดงรายการและรายละเอียดของพนักงาน ซึ่งเราจะได้ศึกษาเกี่ยวกับ การเริ่มต้นสร้างโปรเจค การใช้งาน UI ต่างๆ การเขียนติดต่อกับฐานข้อมูล SQLite เป็นต้น ผมจึงนำลิ้งมาฝากเอาไว้ นั้นเอง กดเข้าไปอ่านได้ที่ Building a mobile employee directory sample with Flex and Flash Builder


Reference

 

adaydesign :)

วันจันทร์ที่ 20 มิถุนายน พ.ศ. 2554

Code iPhone: Sort an Array of Custom Object using NSSortDescriptor

Code iPhone: Sort an Array of Custom Object using NSSortDescriptor

[sourcecode langauge="objc"]
+(NSArray*)sortArray:(NSArray*)arrayIn withKey:(NSString*)key ascending:(BOOL)asc{
NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc]
initWithKey:key ascending:asc] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray = [arrayIn sortedArrayUsingDescriptors:sortDescriptors];

return sortedArray;
}
[/sourcecode]

Detail

Reference

adaydesign :)

iPhone: Sort an Array of Custom Object

iPhone: Sort an Array of Custom Object
บทความนี้จะพูดถึงการเรียงลำดับสมาชิกในอาเรย์ที่เป็นคลาสที่เราสร้างเองนะครับ โดยการเรียงนั้นสามารถเรียงจากค่า Property ได้เลย โดยเป็นค่า Property ที่มีคลาสที่สามารถเปรียบเทียบกันได้อยู่แล้วเช่น NSString, NSInteger, int, float, double, long เป็นต้นครับ


วันอาทิตย์ที่ 19 มิถุนายน พ.ศ. 2554

iPhone: Configuration Xib file of UITableView with using XCode4

iPhone: Configuration Xib file of UITableView with using XCode4
ต่อจากบทความที่แล้ว (iPhone: UITableView Tutorial) ที่กล่าวถึงพื้นฐานการใช้งาน UITableView ในบทความนี้นำเสนอเรื่องการปรับแต่ง UITableView จากไฟล์ .xib ด้วย Interface Builder ซึ่ง Interface Builder ของ XCode4 จะถูกรวมอยู่ใน XCode4 อยู่แล้ว ไม่ได้แยกออกเป็นโปรแกรมต่างหากเหมือน XCode3 ดังนั้นเราจะมาศึกษากันดูว่า การปรับแต่ง UITableView นั้นสามารถทำอะไรได้บ้าง

เริ่มกันเลยนะครับ ก่อนอื่นให้เพื่อนๆ คลิกไปที่ ไฟล์ RootViewController.xib ก่อนนะครับ (กดเฉยๆ ไม่ต้อง double click นะ) เมื่อกดไฟล์ .xib แล้ว จะปรากฏ Interface Builder ด้านขวาของ Project Navigator นะครับ หากเรามาถึงหน้า Interface Builder กันแล้ว สิ่งที่จะพูดถึงในบทความนี้คือ File's Owner และ Table View ตามลำดับนะครับ

วันพุธที่ 15 มิถุนายน พ.ศ. 2554

AD@Y: The Number of Visitors have been more than 10,000 people

AD@Y: The Number of aDaydesign's Blog Visitors ave been more than 10,000 people
เก็บบันทึกสถิตเอาไว้ครับ ตอนนี้มีคนเข้ามาเยี่ยมชมเกิน 10,000 (หนึ่งหมื่น) คนแล้ว หลังจากเปิดเว็บมาประมาณ 6 เดือนโน้น มียอดรวมผู้เข้าชมทั้งหมด 10,186 คน มีบทความทั้งหมด 190 บทความ

สถิติจาก WordPress (update 15/6/2011)



วันอาทิตย์ที่ 12 มิถุนายน พ.ศ. 2554

iPhone: UITableView Tutorial

iPhone: UITableView Tutorial
วันนี้เรามาเริ่ม Tutorial ง่ายๆ ของ UITableView กันดีกว่า เนื่องจาก UITableView นั้นเป็น View ที่ถูกใช้มากที่สุดเลยก็ว่าได้ หากเราใช้  UITableView เป็นแล้วหละก็สามารถเขียนแอพรายการอาหาร หรือรายการอะไรสักอย่างขึ้นได้อย่างไม่ยากเลยครับ

ในเนื้อหาบทความชุด UITableView Tutorial ผมจะนำเสนอบทเรียนตั้งแต่การเริ่มต้นด้วยการใช้ UITableView จนไปถึงการประยุกต์ใช้ UITableView เพื่อแสดงผลแบบซับซ้อนต่างๆ ด้วยครับ

ตัวอย่าง Application ที่นำ UITableView ไปใช้



iPhone: Zoom Image with UIScrollView

iPhone: Zoom Image with UIScrollView
เรายังอยู่กับเรื่องของ UIScrollView อยู่นะครับ บทความนี้จะนำเสนอเรื่องของการย่อ/ขยายภาพ กันนะครับว่ามีวิธีทำยังไง จะว่ากันไปแล้วนั้นวิธีการเขียนโปรแกรม ย่อ/ขยายภาพ มีวิธีการทำอยู่เยอะพอสมควร แล้วแต่เทคนิคของแต่ละคนครับ บ้างคนก็ชอบอะไรง่ายๆ ก้อใช้ UIScrollView แต่บางคนชอบลงลึกก็ใช้ Touch Event หรือไม่ก้อเขียนเองทั้งหมดเลย ไม่ใช้ API ที่มีให้ แต่บทความนี้เราเอาเรื่องอะไรที่ง่ายๆ ก่อนดีกว่าครับ มาเริ่มกันเลย

หลักๆ ของการใช้งาน ย่อ/ขยาย (zoom) ภาพคือ การใส่ภาพ UIImageView ลงใน UIScrollView และเซ็ตค่า max min zoom scale ให้กับ UIScrollView จากนั้น ไปที่ delegate function viewForZoomingInScrollView ของ UIScrollView เพื่อ return UIImageView ออกมา เป็นอันเสร็จครับ เรามาไล่ดูกันทีละขั้นนะครับ

WP7: Windows Phone 7 Guide for Android Application Developers

WP7: Windows Phone 7 Guide for Android Application Developers
Microsoft ได้ทำคู่มือการพัฒนาแอพพลิเคชั่นบน Windows Phone 7 สำหรับนักพัฒนาแอพพลิเคชั่นบน Android ขึ้นมาเพื่อดึงดูดให้นักพัฒนา Android แอพหันมาพัฒนาแอพบน Windows Phone 7 กัน โดยเป็นการเทียบฟังก์ชั่นของแอนดรอยว่า หากนำมาเขียนบน Windows Phone 7 แล้วมันคือฟังก์ชั่นไหน คลาสไหนและใช้อย่างไร เพื่อทำให้นักพัฒนา Android แอพ ได้เข้าใจหลักการของ Windows Phone 7 ได้ง่ายขึ้น โดยอาศัยความรู้เดิมของเขาเอง และคู่มือนี้มีชื่อว่า Windows Phone 7 Guide for Android Application Developers ลองเข้าไปศึกษากันนะครับ



ที่มา: thaidroid update (11/6/2011)

วันเสาร์ที่ 11 มิถุนายน พ.ศ. 2554

AD@Y: Apple has rejects adaydesign's blog App

AD@Y: Apple has rejects adaydesign's blog App

อันนี้เป็นปัญหาส่วนตัวครับ เก็บเอาไว้เป็นบทเรียนเพื่อไม่ให้พลาดอีกจากการโดน Apple ปฏิเสธการอัพโหลดแอพขึ้น app store ...

โปรดอ่าน App Store Review Guideline ก่อนนะครับ (ปกติเขาก็ต้องอ่านนั้นหละ แต่ผมไม่เคยอ่าน จึงทำให้เกิดเหตุการนี้ขึ้นมา)
12.3: Apps that are simply web clippings, content aggregators, or a collection of links, may be rejected

ตามหัวข้อที่ 12 เรื่อง Scraping and aggregation ข้อย่อยที่ 3 กล่าวเอาไว้ว่า หากแอพนั้นมีเพียงการเปิดเว็บ แสดงเนื้อหาจากลิ้ง อาจจะถูกปฏิเสธได้

iPhone: UIScrollView Delegate for Slide Photo Gallery

iPhone: UIScrollView Delegate for Slide Photo Gallery
บทความที่ 3 แล้วนะครับสำหรับเรื่องของ UIScrollView เป็นอย่างไรบ้างครับ สำหรับบทความสองบทความแรกพอจะเข้าใจหลักการของ UIScrollView แล้วหรือยังครับ หากยังไม่ค่อยเข้าใจเท่าไร เรามาศึกษาในลำดับต่อไปกันดีกว่า ในบทความนี้จะนำเสนอเรื่องของการใช้งาน UIScrollViewDelegate สำหรับการแสดงผลว่าเราเลื่อนมาถึงภาพที่เท่าไรแล้ว นะครับ ในบทความนี้จะใช้โค้ดเดิมจากบทความ iPhone: Slide Photo Gallery (2) เพื่อต่อยอดในบทความนี้ครับ


วันศุกร์ที่ 10 มิถุนายน พ.ศ. 2554

iPhone: Slide Photo Gallery (2)

iPhone: Slide Photo Gallery (2)
วันนี้จะมาต่อกันจากบทความเมื่อวานนะครับ เรื่องการทำ Slide Photo Gallery โดยที่เราไม่ต้องไปสร้าง UIView ที่ Interface Builder แล้วเอารูปใส่เองนะครับ ในบทความนี้จะนำเสนอวิธีเขียนโค้ดเพื่อสร้าง UIView และเขียนโค้ดเพื่อเอารูปเรียงใส่ UIView และนำมาแสดงที่ UIScrollView เหมือนบทความที่แล้วนะครับ โอเคเรามาเริ่มกันเลยดีกว่า


วันพฤหัสบดีที่ 9 มิถุนายน พ.ศ. 2554

iPhone: Slide Photo Gallery

iPhone: Slide Photo Gallery
บทความนี้นำเสนอ Tutorial ง่ายๆ สำหรับการสร้าง Slide Photo Gallery ซึ่งสามารถเขียนได้เพียงโค้ดไม่กี่บรรทัด หลักการของ Slide Photo Gallery คือการนำ UIView ที่มีภาพหลายๆ ภาพมาใส่ใน UIScrollView และเซ็ตให้ UIScrollView ไม่ให้แสดง scrollbar และเซ็ต paging ให้กับ UIScrollView วิธีทำเป็นอย่างไรนั้นติดตามได้เลยครับ



วันพุธที่ 8 มิถุนายน พ.ศ. 2554

iPhone: NSURLErrorDomain Code=-1002

iPhone: NSURLErrorDomain Code=-1002
เมื่อกี้ใส่ URL ผิดไปนิดเดียวทำให้เราเห็นเออเรอ ตัวนี้มาครับ มันคือ NSURLErrorDomain Code=-1002 ซึ่งมีหน้าตาอย่างตัวอย่างด้านล่างนี้

Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo=0x1b5c60 {NSErrorFailingURLStringKey=sarakham2011/xplog/upload.php, NSErrorFailingURLKey=sarakham2011/xplog/upload.php, NSLocalizedDescription=unsupported URL, NSUnderlyingError=0x3984460 "unsupported URL"}

สาเหตุ

NSErrorFailingURLStringKey=sarakham2011/xplog/upload.php
NSErrorFailingURLKey=sarakham2011/xplog/upload.php

คือเขียน URL ไม่ครบ หรือ URL ผิดพลาดไม่มี URL ที่ใส่เข้าไป เรามาดูวิธีการแก้ไขกัน

วันอังคารที่ 7 มิถุนายน พ.ศ. 2554

วันจันทร์ที่ 6 มิถุนายน พ.ศ. 2554

Code iPhone: Load Photo from Photos Album (Full Function)

Code iPhone: Load Photo from Photos Album (Full Function)

In .h file (header/@interface)

[sourcecode language="objc"]

#import <AssetsLibrary/AssetsLibrary.h>

typedef void (^ALAssetsLibraryAssetForURLResultBlock)(ALAsset *myasset);

typedef void (^ALAssetsLibraryAccessFailureBlock)(NSError *error);

//function

-(void)loadPhotoFromURL:(NSURL*)imgURL thumbnail:(BOOL)useThumbnail showIn:(UIImageView*)imView;

[/sourcecode]

Note! import existing framework: AssetsLibrary.framework

วันอาทิตย์ที่ 5 มิถุนายน พ.ศ. 2554

iPhone: UIActionSheet Delegate

iPhone: UIActionSheet Delegate
จากบทความของ UIActionSheet ทั้ง 2 บทความที่เคยได้เขียนไปแล้วนั้น ทำให้เราได้เข้าใจหลักการการใช้งานและการประยุกต์ใช้ UIActionSheet ในบทความนี้จะพูดถึงการจัดการกดแต่ละปุ่มใน UIActionSheet กันนะครับว่าจะแยกการกดปุ่มแต่ละปุ่มได้อย่างไร และแต่ละฟังก์ชั่นมีความสำคัญอย่างไร มาดูกันครับ



วันเสาร์ที่ 4 มิถุนายน พ.ศ. 2554

iPhone: UIActionSheet (2)

iPhone: UIActionSheet (2)
ต่อจากเมื่อวานในเรื่องของ UIActionSheet นะครับ วันนี้จะเป็นเรื่องของการเพิ่มปุ่มบน UIActionSheet โดยที่ข้อมูลของเราอยู่ในรูปของ อาเรย์ (NSArray) จากเดิมนั้นเราสามารถใส่ปุ่มอื่นๆ ใน UIActionSheet ได้โดยการสติงไปโดยตรงได้เลย แต่หากข้อมูลเราเป็นอาเรย์หละ เราจะทำการเพิ่มปุ่มใน UIActionSheet อย่างไรมาดูกันครับ



วันศุกร์ที่ 3 มิถุนายน พ.ศ. 2554

iPhone: stringByReplacingOccurrencesOfString: withString: options: range:

iPhone: stringByReplacingOccurrencesOfString:withString:options:range:
การแทนที่ String ด้วย String เป็นฟังก์ชั่นที่เราใช้กันบ่อยมาก บทความนี้จะยกตัวอย่างของการแปลงหมายเลขโทรศัพท์ ธรรมดา ให้เป็นเบอร์โทรศัพท์ที่มีหมายเลขรหัสประเทศ +66 นำหน้า หลักการง่ายๆ คือ จะเปลี่ยนจากเลข 0 เป็น +66 นั้นเองครับ มาดูกันว่าทริคมันจะอยู่ตรงไหนบ้าง

ตัวอย่างที่ 1 เปลี่ยนจาก 021356678 เป็น +6621356678

[sourcecode language="obj-c"]

NSString *myDial = @"021356678";
NSLog(@"%@",[myDial stringByReplacingOccurrencesOfString:@"0" withString:@"+66"]);//+6621356678

[/sourcecode]

จากโค้ดตัวอย่างที่ 1 เป็นการใช้ฟังก์ชั่น stringByReplacingOccurencesOfString:@"ใส่สติงที่ต้องเปลี่ยนออก" withString:@"ใส่สติงที่ต้องการเปลี่ยนเข้า" โดยฟังก์ชั่นนี้จะใช้งานง่ายและเหมาะกับการเปลี่ยนทั้งหมดข้อความ แต่อาจจะเกิดปัญหาหากเป็นอย่างตัวอย่างที่ 2

iPhone: UIAction Sheet

iPhone: UIAction Sheet
หลังจากที่ไม่ได้เขียนบล็อคมานาน วันนี้มาเริ่มกันที่เรื่องง่ายเกี่ยวกับ UIAction Sheet กันดีกว่า UIAction Sheet คืออะไร? มันคือ UI ที่จะแสดงขึ้นมาคล้ายๆ Popup จากล่างขึ้นบน เช่นตอนเราจะกดส่งเมล์ เมื่อกดปุ่มเมล์ มันจะขึ้น UIAction แสดงปุ่ม Delete Draft, Send และ Cancel โดยจะมีปุ่ม Delete Draft เป็นปุ่มสีแดง แล้ว UIAction Sheet ใช้ทำอะไร? มันใช้เพื่อแสดงปุ่ม Option ย่อย จากปุ่มหลัก ทำให้ผู้ใช้เห็นเมนูย่อยและเลือกได้ทันที และมีสีแดงเตือนด้วย หากปุ่มนั้นเป็นปุ่มเช่น ลบข้อความ เป็นต้น เรามาดูวิธีการสร้างและการใช้งานกันดีกว่าครับ