6월, 2012의 게시물 표시

NSArray 에 내용 추가하기

NSMutableArray를 선언하고 초기화 후에 자료를 삽입해야 사용할 수 있다. 먼저 선언 부분이다. @property ( nonatomic , strong ) NSMutableArray *menuName; 그다음 m 파일에서 @synthesize 한다. @synthesize menuName = _menuName ; - ( void )viewDidLoad 에서 배열을 초기화 하고 자료를 삽입한다. 초기화와 할당을 한다. self . menuName = [[ NSMutableArray alloc ] init ]; 자료의 삽입은 이렇게 한다. [ self . menuName addObject :@"삽입할 자료"]; 삽입여부 확인은 로그를 찍는다. NSLog ( @"menuname count: %d" , [ self . menuName count ]); 중요한 점 : 추가 가능한 것으로 선언(Mutable), 초기화 및 할당(alloc, init) 위 두가지가 빠져서 삽질을 조금 하였습니다.

iOS 에서 JSON 결과 가져오기

이미지
iOS 5 부터 JSON을 처리하기 위한 NSJSONSerialization 이 추가되어 있습니다. 이를 활용하여 사용하는 방법입니다. 코드는 몇줄 되지 않습니다. 먼저 request를 작성합니다. NSURLReauest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"주소"]]; request 결과를 받기 위한 response를 작성합니다. NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; JSON 데이터를 받기 위한 NSArray를 선언합니다. NSError *jsonParsingError = nil; NSArray *receiveArray = [NSJSONSerialization JSONObjectWithData:response option:0 error:&jsonParsingError]; 루프를 돌면서 자료를 처리합니다. NSDictory *JSON_Data; for (int i=0; i < [receiveArray count]; i++) {   JSON_Data = [receiveArray objectAtIndex:i];   NSLog{"Name: %@, price:%@", [JSON_Data objectForKey:"@name"], [JSON_Data objectForKey:@"price"]); } 위와 같이 작성한 결과를 돌려보니 잘 나옵니다. 

MYSQL 에서 자료를 가져와 JSON으로 Return하는 PHP

Mysql 디비에서 자료를 검색하여 Json 형식으로 리턴해주는 PHP 웹모듈을 만들어 보았다. 먼저 쿼리문 SELECT name, price FROM table 디비 연결부분은 이렇게 $con = mysql_connect("localhost", "계정", "암호"); if (!$con) {   die('연결 안됨: '.mysql_error()); } else {   mysql_select_db("디비명"); } 결과를 받을 배열 선언 $return_array = array(); $result = mysql_query("쿼리문"); 루프 돌면서 결과를 배열에 삽입 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {   $row_array['name'] = $row['name'];   $row_array['price'] = $row['price'];   array_push($return_array, $row_array); } 배열을 Json 형식으로 출력 echo json_encode($return_array); mysql_free_result($result); mysql_close($con); 이렇게 작성하고 웹서버에 올리고 돌려 보았더니 잘나오네요.

Mysql 계정과 Database 만들기

1. mysqll을 root 권한으로 접속한다. # mysql -u root -p password: 암호를 입력한다. 2. 데이터베이스를 선택한다. mysql> use mysql; 3. user 테이블에 계정과 패스워드를 삽입한다. mysql> insert into user(host, user, password) values('localhost', '계정', password('암호')); 4. mysql db 테이블의 필드 수 확인 mysql> desc db; 5. db 테이블에서 사용할 db와 계정을 연결하고 필드 수만큼 접근권한을 부여한다. mysql> insert into db values('localhost', db명, 계정, 'Y'); 단, 'Y'는 desc db 결과로 나온 필드 수만큼 입력해야 한다. 6. 추가한 내용을 적용 mysql> flush privileges; 위와 같이 한 다음 생성한 계정으로 로그인 되면 성공이다.

UITableView에서 Cell을 선택하고 해제할 때

셀을 선택했을 때 아래와 같은 메소드를 사용한다. -( void )tableView:( UITableView *)tableView didSelectRowAtIndexPath:( NSIndexPath *)indexPath {     // 셀을 선택했을 때     NSInteger row = [indexPath row ];     데이터리스트에서 선택된 row 값을 처리하면 된다. } 셀을 선택하면 배경색이 디폴트로 설정했을 때 파란색이 된다. 한번 더 선택하면 배경색이 기본색으로 바뀌면서 해제된다. 이때 사용되는 메소드가 아래와 같다. -( void )tableView:( UITableView *)tableView didDeselectRowAtIndexPath:( NSIndexPath *)indexPath {     // 셀 선택을 취소했을 때     NSInteger row = [indexPath row ];     데이터리스트에서 선택된 row값을 처리한다. } 

맥북 화면 캡쳐 방법

맥북의 화면 캡쳐 방법을 알아보자. 보통 윈도우는 스크린캡쳐 버튼을 클릭하면 클립보드에 캡쳐한 화면이 들어가고 이를 그래픽 관련 프로그램으로 붙여넣기 하여 사용한다. 하지만 맥북은 화면캡쳐 버튼이 없다. 전체 캡쳐 : Command + Shift + 3 영역 캡쳐 : Command + Shift + 4 전체 캡쳐를 하면 전체화면을 png 파일로 바탕화면에 저장한다. 영역 캡쳐를 하면 마우스 커서가 + 표시로 바뀌면서 좌표 숫자가 나타난다. 영역을 지정하면 영역화면을 png 파일로 바탕화면에 저장한다. 이 저장된 파일을 그래픽 도구로 수정하면 된다. Seashore 는 작고 강력한 프로그램이지만 기능이 많지는 않다.

UITableView 사용방법

이미지
1. 스토리보드에 테이블뷰를 추가한다. 2. 데이터소스와 델리게이트를 뷰콘트롤러와 연결한다.   아래와 같이 뷰콘트롤러와 연결한다. 이게 빠져서 한참을 헤매인 적이 있다. 3. 테이블뷰의 속성을 설정한다.   색 표시 된 곳의 설정을 해야 한다.   특히 Identifier의 값을 나중에 사용해야 하므로 유일한 값으로 설정하고   Style은 Subtitle로 설정한 이유는 이미지, 타이틀, 세부내역을 표시하기 위해서 이다. 4. 헤더파일을 설정한다. #import <UIKit/UIKit.h> @interface nemesisViewController : UIViewController < UITableViewDelegate , UITableViewDataSource > @property ( nonatomic , strong ) NSArray *menuImages; @property ( nonatomic , strong ) NSArray *menuName; @property ( nonatomic , strong ) NSArray *menuPrice; @end 적색으로 표시한 부분을 추가한다. 5. 변수 동기화 내용을 추가한다. @implementation nemesisViewController 바로 아래 적색글자를 추가한다. @synthesize menuImages = _menuImages ; @synthesize menuName = _menuName ; @synthesize menuPrice = _menuPrice ; 6. 시작 메소드에 값을 강제로 추가한다. - ( void )viewDidLoad {     [ super viewDidLoad ]; // Do any additional setup after loading the view, ty

[개요]아이패드와 RFID 리더 연결하기

이미지
일단 위와 같은 구성으로 연결하고자 합니다. 아이패드와 RedPark 케이블로 시리얼 신호를 잡을 수 있습니다. RFID 리더 역시 시리얼 지원이 구하기 가장 쉽습니다. 물론 아이패드에서 이를 활용하려면 SDK가 있어야 합니다. 양쪽의 시리얼은 별도의 젠더를 통해서 연결하고자 합니다. 리더에서 카드의 값을 읽어와서 그값으로 데이터베이스에서 정보를 조회한 후 그 정보를 기준으로 배정된 번호를 출력하는게 목적입니다. 이게 성공하면 배정된 번호를 출력하는 영수증 대신 아이패드가 대신하게 될 수 있습니다. [준비물] 맥북, 아이패드, RedPark 케이블, RFID Reader, RFID 카드 한 단계씩 진행하면서 정리하고자 합니다.

Arduino 책과 모듈 구입

이미지
이번에 구입한 아두이노 관련 책과 모듈. 아이패드와 연결하여 뭔가 할 수 있는게 뭔지 알아볼 예정 각종 센서와 아두이노와 연결하고 이를 아이패드와 연결 예정 첫번째로 RFID Reader를 아이패드와 연결해보자. 하나씩 진행하도록 하자...

RedPark 케이블 구입

이미지
아이폰용 커넥터와 시리얼 케이블을 연결하여 사용할 때 필요한 물건.. 근데 가격 압박이 좀 심하긴 하네요. 30-pin 와 RS-232 인터페이스를 제공합니다. 이를 이용하면 아이패드, 아이폰 등과 시리얼 케이블은 아두이노와 연결하고 아두이노와 각종 악세사리를 연결하면 주변기기를 제어할 수 있습니다. 최종 목표는 아이패드와 RFID Reader를 연결할 예정입니다. 이제 첫발을 내 딛게 되는데 자금 압박이 심하군요

스마트 앱을 활용한 유비쿼터스 체육센터 설계 및 구축에 관한 연구

Design & Implementation of Ubiquitous Sports Center Using Smart App 체육센터에서 사용하는 각종 기기들과 연동하여 아이폰 등 스마트 앱을 활용한 유비쿼터스 환경을 만들어 가는 방안을 제시하는 연구입니다. 논문 보기 목차 제 1장 서론   제1절 유비쿼터스 체육센터   제2절 구축 문제점   제3절 시스템 연동   제4절 제안하는 구축 방안 제 2장 배경   제1절 유비쿼터스   제2절 체육센터의 유비쿼터스 환경   제3절 스마트 폰   제4절 구축 시스템 환경     제1항 연계 기술     제2항 체육센터 업무 프로세스의 체계화     제3항 통합 서비스 개발     제4항 연구 및 투자     제5항 공공기관 역할   제5절 발전방향   제6절 미래의 체육센터 제3장 관련 연구   제1절 유헬스   제2절 웰니스   제3절 SNMP   제4절 WBEM   제5절 OMA DM 제4장 스마트 앱 활용 유비쿼터스 체육센터 설계   제1절 제안구조   제2절 요소기술     제1항 모바일 앱     제2항 원격 단말기 기술(OMA DM, Funambol)     제3항 Web Gateway(PHP)     제4항 데이터베이스(MYSQL)     제5항 무선 네트워크 환경 제5장 구현 및 검증   제1절 구현     제1항 스마트 폰     제2항 회원관리(웹, 회원관리, 데이터베이스)     제3항 기기제어(Funambol, 러닝머신)   제2절 검증     제1항 연동시험 및 시나리오 제6장 결론   제1절 결언 및 제안   제2절 Future Work 참고문헌 APPENDIX : 구현 Code