Mobile(39)
-
[Xamarin.Android] Binding Java Library
Android에는 수많은 라이브러리가 존재합니다. Xamarin.Android는 이러한 Android를 위한 자바 라이브러리를 사용할 수 있는 2가지 방법을 제공합니다.Binding Library 생성 : 자바 라이브러리를 C# Wrapper로 감싸고 이를 C#에서 호출할 수 있습니다.Java Native Interface (JNI) 사용 : 자바 라이브러리 코드를 직접적으로 호출할 수 있습니다. 여기서는 Binding Library를 생성하고 자바 라이브러리나 어셈블리를 C# Wrapper로 감쌈 후 C#에서 사용하는 방법에 대해서 소개합니다. JNI에 대해 확인하시려면 Working with JNI를 참조하세요. Binding Library란? Xamarin.Android는 Managed Callab..
2017.06.22 -
[Xamarin.Forms] CustomRenderer 제작 시 참고사항
Xamarin.Forms에서 다른 페이지로 Navigation 되었다가 다시 돌아오는 등의 경우에 페이지가 이전 정보를 유지한채 다시 생성됩니다. 이 때 CustomRenderer가 어떤 기준으로 어떤 값을 유지하면서 재생성되는지 고려하면서 개발이 필요합니다. Element와 Control 모두 새롭게 생성 됩니다. 이 때 OnElementChanged 이벤트가 호출되므로 초기화가 필요합니다. BindableProperty에 저장된 값은 100% 유지가 됩니다. 그외 변수, 일반 Property, 이벤트 등은 모두 소실됩니다. 따라서 유지되어야 하는 정보는 BindableProperty에 저장해두어야 합니다. 다른 페이지로 이동하면서 기존 Element가 메모리에서 소실될 때에는 OnElementChag..
2017.06.10 -
[Andorid] Thread와 Runnable 그리고 Looper와 Handler
Thread와 Runnable 안드로이드에서 새로운 Thread에서 작업을 실행하는 방법은 크게 Thread와 Runnable 2가지로 나뉩니다. Thread Class 상속하는 방법 : Thread를 직접 상속한 후 run()을 오버라이딩 하는 방법입니다. (전통적이고 일반적인 방법) //Thread Class 상속 class ThreadExample extands Thread { public void run() { //run()을 오버라이딩 후 작업내용 기술 } } //Thread 실행 ThreadExample th = new ThreadExample(); th.start(); Runnable Interface 구현하는 방법 : Thread를 상속하면 다른 Class를 상속받을 수 없게 됩니다. Ru..
2017.06.04 -
[iOS] CALayer 소개
iPhone 프로그래밍을 해보신 분이라면 UIView에 대해서 잘 아실것입니다. Button, TextArea, Slider, WebView 등 대부분이 UIView를 상속하여 구현되어 있습니다. 그러나 UIView가 내부적으로 어떻게 구성되어 있는지에 대해서는 잘 알려진 바가 없습니다. UIView는 내부적으로 CALayer를 통해 구현됩니다. CALayer를 통해 여러 시각적 효과를 쉽게 처리 할 수 있으므로 알아둔다면 많은 도움이 될 것입니다. 뿐만아니라 Core Animation과 어떻게 상호작용하는지 이해하는 것도 중요합니다. 이 주제에 대해서는 다음에 다룰 예정입니다. 여기에서는 CALayer를 사용하는 기본적인 방법을 배우게 될 것입니다. 단순한 테스트 앱을 만들어서 레이어를 하나 만들고 어..
2017.05.21 -
[SQLite.NET] Xamarin에서 SQLite사용하기
SQLite.NET를 통해 Xamarin에서 SQLite를 손쉽게 사용할 수 있습니다. Nget Package에서 sqlite-net-pcl 모듈을 설치하면 이용하실 수 있습니다. (WPF, WinForm, ASP.NET 등은 sqlite-net를 이용하며 SQLite공식 사이트에서 Precompiled Binaries for Windows를 다운로드 하여 bin 폴더에 넣어주어야 합니다.) SQLiteConnection를 통해서 DB를 생성할 수 있습니다. using (SQLiteConnection db1 = new SQLiteConnection("dbPath.s3db")) { ... } 비동기 기능을 활용할 수 있는 SQLiteAsyncConnection도 사용할 수 있지만 Thread 동기화에 대한..
2017.05.21 -
[iOS] UIDevice를 통해 아이폰, 아이패드 디바아스 정보에 접근하기
원문: http://covelist.tistory.com/1 iOS에서 디바이스 정보에 접근하기 위해서는 UIDevice 클래스를 사용합니다. UIDevice 클래스는 iOS 2.0 이후 버전에서 사용할 수 있으며 일부 기능은 더 높은 iOS 버전을 요구하기도 합니다. UIDevice를 통해 얻을 수 있는 디바이스 정보는 다음과 같습니다.디바이스 이름OS 이름/버전디바이스 모델명디바이스 식별 문자열디바이스 화면 방향인터페이스 형식배터리 정보근접센서 정보멀티태스킹 지원 여부UIDevice 클래 스를 사용하는 첫 단계는 현재 앱이 실행되고 있는 디바이스를 나타내는 싱글톤 인스턴스를 얻는 것입니다. 다음과 같이 currentDevice 클래스 메소드를 통해 싱글톤 인스턴스를 요청합니다. UIDevice *de..
2017.05.21