Home » IT tech » Programming

Category: Programming

iOS -2. Objective-C 프로그래밍 기본

2.1. Objective-C C언어의 문법을 모두 사용할 수 있다. 스몰 토크 언어의 문법을 사용할 수 있다. 다중상속을 지원하지 않는다. 프로토콜을 정의하여 사용할 수 있다. 클래스 확장이 가능하다. 동적 형 변환(Dynamic Typing)을 지원한다. 2.2. 파일 확장자 2.3. 오브젝트와 메소드 메소드 호출 Objective-C에서도 인자가 존재하지 않는 메서드가 존재할 수도 있으며, 그 경우에는 [오브젝트 메서드명]; 위와 같은 표현식을 사용한다. …

Read more

iOS -1. iOS 개발 프로세스

1.1. iOS 개발 환경 구축 iOS 애플리케이션을 개발하기 위해서는 iOS가 설치된 단말과 iOS SDK, 매킨토시(PC)가 필요하다. iOS SDK : iOS 애플리케이션 개발 툴인 Xcode에 포함되어 배포되며, Apple사의 개발자 페이지 (https://developer.apple.com/Xcode/index.php)에서 다운 받을 수 있다. 1.2. 애플리케이션 빌드 및 테스트 개발한 iOS용 애플리케이션을 iOS 기기에 설치하여 실행하기 위해서는 1년에 $99를 지불하는 애플 개발자 프로그램(Apple Developer Program)에 …

Read more

Android -16. 근거리 통신

16.1. NFC NFC는 핸드폰 안에 들어가는 RFID 기술의 총체. RFID는 무선 주파수를 이용해 통신을 하는 기술. 교통카드의 id 값을 가져오는 샘플. 테스트는 해당 액티비티를 띄우고 교통카드를 갖다 대어 id가 뜨는지 확인한다. <step14/NfcSample> [php] nfcAdapter = NfcAdapter.getDefaultAdapter(this); (1) Intent intent = new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); (2) pIntent = PendingIntent.getActivity(this, 0, intent, 0); (3) @Override protected void onResume() …

Read more

Android -15. 위치기반 서비스

15.1. 구글맵 연동 (1) 라이브러리 추가 New -> other -> Android Project from Existing Code 그림 54. 구글 맵 연동 1 sdk 경로/extras/google/google_play_services 그림 55. 구글 맵 연동 2 Project 오른쪽 클릭 -> Properties 그림 56. 구글 맵 연동 3 Android -> Library에 Is Library를 체크 그림 57. 구글 맵 연동 4 AndroidTutorial Project 오른쪽 …

Read more

Android -14. 멀티미디어 처리

14.1. 오디오 재생 MediaPlayer 클래스는 오디오/비디오 파일 재생과 스트림을 제어 할 수 있다. <step12/AudioPlaySample> [php] public void audioPlay() { if(player != null) { (1) player.stop(); player.release(); player = null; } else { // 객체 생성 player = new MediaPlayer(); (2) } try { // 음악 path 설정 // 지금처럼 프로젝트 내에 있을 때는 player.create(this, R.raw.filename); …

Read more

Android -13. 데이터베이스 처리

SQLiteDatabase라는 DATABASE 를 제공해 주고 있다. 만약 DATA를 저장해서 사용하게 되는 경우가 생길 경우 SQLiteDatabase 와 DatabaseHelper(DB생성 및 관리를 도와준다.) 를 사용해서 좀더 편리하게 DATABASE를 관리 할 수 있다. <step11/DBHelper> [php] public class DBHelper extends SQLiteOpenHelper{ (1) private static final int DATABASE_VERSION = 1; private static final String DATABASAE_NAME = "contactsdb"; private static final String …

Read more

Android -12. Preference와 파일 처리

12.1. Preference Preference는 화면 이동 시 간에 발생하는 데이터 손실을 방지하기 위해 사용되는 자료형. <stemp10/PreferenceSample> [php] // 프리퍼런스 생성 pref = getSharedPreferences(PREF_NAME, 0); // 0은 읽기/쓰기 모두 가능하다 (1) prefEdit = pref.edit(); (2) … 생략 // 프리퍼런스에 데이터 저장 prefEdit.putBoolean("checkBoxValue", true); (3) prefEdit.putString("name", preferenceSampleName.getText().toString()); (4) prefEdit.putString("email", preferenceSampleEmail.getText().toString()); prefEdit.commit(); (5) … 생략 // 프리퍼런스로부터 값을 가져온다 …

Read more

Android -11. Thread와 Handler

11.1. Thread <step9/ThreadSample> [php] Thread changeTextView1 = new Thread(start1); Thread changeTextView2 = new Thread(start2); // activity가 종료되면 쓰레드도 종료시킴 changeTextView1.setDaemon(true); (1) changeTextView2.setDaemon(true); changeTextView1.start(); (2) … 생략 private Runnable start1 = new Runnable() { public void run() { final int total = 150; while(count1 < total) { try { // UI 작업은 handler에서 처리, 핸들러로 메세지를 …

Read more

Android -10. 2D 그래픽 처리 및 애니메이션

10.1. 2D 그래픽 처리 – 도형 <step8/ GraphicSample> [php] setContentView(new GraphicSampleView(GraphicSample.this)); [/php] <step8/ GraphicSampleView> [php] public GraphicSampleView(Context context) { super(context); mPaint = new Paint(); // 페인트 객체 생성 mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon9); mRect = new Rect(10, 10, 100, 100); // 사각형 생성 mRectF = new RectF(110, 10, 200, 100); } … 생략 // 실제 그리기를 …

Read more

Android -9. 선택 위젯 및 커스텀 뷰

9.1. Fragment 프래그먼트는 태블릿과 같은 큰 화면을 가지는 단말에서 애플리케이션이 화면을 더 효율적으로 활용할 수 있도록 도와준다. 기존에는 애플리케이션 화면을 구성하는 큰 틀이 액티비티(Activity) 하나였고, 이 안을 여러 뷰로 구성하여 정보를 표시하고, 상호작용을 수행했었다. 그런데, 뷰만을 사용해서 다양한 내용을 보여주기는 매우 어려웠다. 특히 전체적인 UI 틀은 고정되어 있으면서 특정 부분만 변화하며 다른 내용을 표시하도록 하려면 …

Read more