본문 바로가기
[iOS Study] 코어 데이터 [iOS Study] 코어 데이터 출처 : 아론 힐리가스의 iOS 프로그래밍 -데이터를 로컬에 저장하는 방법은 “아카이빙” 또는 “코어 데이터” 를 사용한다. -아카이빙의 가장 큰 결점은 전부 다냐 아무것도 아니냐는 특성에 있다.아카이브 안의 내용에 접근하려면 전체 파일을 언아카이브해야 한다.변경사항을 저장하려면 전체 파일을 다시 쓰기 해야 한다.반면 코어 데이터(Core Data)는 저장된 객체의 일부만 가져올 수 있다.그리고 어떤 객체를 변경한다면 파일의 해당 부분만 갱신할 수 있다.이러한 점진적 가져오기, 업데이트, 삭제, 삽입은 파일시스템과 메모리 사이를 오가는 많은 모델 객체를 가지는 경우 앱의 급격한 성능 향상을 가져올 수 있다. -코어 데이터는 객체-관계형 매핑 ( object-relatio.. 2016. 3. 25.
[iOS Study] 웹 서비스와 UIWebView [iOS Study] 웹 서비스와 UIWebView 출처 : 아론 힐리가스의 iOS 프로그래밍 -NSURL URL 포맷에 웹 프로그램의 위치를 담고 있다. URL 은 여러 웹 서비스를 위해 기본 주소, 통신하고 있는 웹 프로그램, 전달 인자로 구성된다. https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/ -NSURLRequest 웹 서버와 통신할 때 필요한 모든 데이터를 가진다. NSURL 객체와 캐시 정책, 웹 서버의 응답 제한 시간, HTTP 프로토콜을 통해 전달되는 추가 데이터 등을 가진다. NSMutableURLRequest 는 NSURLRequest 의 변경 가능한 .. 2016. 3. 15.
[iOS Study] 뷰 컨트롤러 [iOS Study] 뷰 컨트롤러 출처 : 아론 힐리가스의 iOS 프로그래밍 -뷰 컨트롤러는 UIViewController 의 하위 클래스 인스턴스이다.뷰 컨트롤러는 뷰 계층구조를 관리한다.뷰 컨트롤러는 계층구조를 구성하는 뷰 객체들을 만들고 뷰 객체와 관련된 이벤트를 제어하고, 윈도우에 뷰 계층구조를 추가하는 역할을 한다. -UIViewController 의 하위 클래스는 중요한 프로퍼티를 하나 상속받는다. @property (nonatomic, strong) UIView *view; 이 프로퍼티는 UIView 인스턴스를 가리킨다.뷰 컨트롤러의 View 가 윈도우의 하위뷰로 추가되면, 뷰 컨트롤러의 뷰계층 전부가 윈도우에 추가된다. -뷰 컨트롤러의 view 는 화면에 보여줄 필요가 있을 때까지 만들어지.. 2016. 2. 18.
[iOS Study] 뷰와 뷰 계층구조 [iOS Study] 뷰와 뷰 계층구조 출처 : 아론 힐리가스의 iOS 프로그래밍 - 뷰는 UIView 의 인스턴스이거나 그 하위 클래스의 인스턴스이다. 뷰는 자신을 그리는 법을 알고 있다. 뷰는 터치와 같은 이벤트를 처리한다. 뷰는 뷰 계층구조상에 존재한다. 뷰 계층구조의 루트는 앱의 윈도우이다. - iOS 앱은 앱의 모든 뷰의 컨테이너 역할을 하는 UIWindow 인스턴스를 하나 가진다. 윈도우는 앱이 실행될 때 만들어진다. 그리고 윈도우가 만들어지면 그 윈도우에 다른 뷰들을 추가 할 수 있다. - 계층의 모든 뷰는 윈도우를 가지고 자신을 그린다. 뷰는 그 자체를 자신의 CALayer 인스턴스인 레이어에 나타낸다 ( 뷰의 레이어는 비트맵 이미지로 생각할 수 있다. ) 모든 뷰의 레이어들이 화면에 합성.. 2016. 2. 16.
[android] expandable listview tutorial [android] expandable listview tutorial activity_main.xml view_list_group.xml view_list_item.xml MainActivity.javapackage com.example.test; import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map; import android.app.Activity;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widge.. 2015. 11. 1.
[android] TransitionDrawable 을 잘 쓰면 훌륭한 애니메이션이 될 수 있다. TransitionDrawable 을 잘 쓰면 훌륭한 애니메이션이 될 수 있다. TransitionDrawable 의 존재는 익히 알고 있었으나, 드디어 테스트를 해 보았다. TransitionDrawable 은 2개의 이미지를 setting 해놓고 transition 을 시키면, fade in, fade out 효과처럼 이미지가 교체된다. 더 놀라운 것은 매우 부드럽게 된다는 것이며, 2개 이상의 이미지도 충분히 소화할 수 있고, 수치만 바꿈으로서 바뀌는 속도를 쉽게 조절할 수 있다. 자 이 위대한 녀석이 얼마나 간단하게 구현되는지예제 코드 ( example code ) 를 통해서 알아보자. ImageView imageView = new ImageView( this );TransitionDrawable.. 2013. 10. 1.
[android] AlertDialog Ok, Cancel button dismiss 방지 코드 안드로이드, AlertDialog Ok, Cancel button dismiss 방지 코드 가끔 AlertDialog 에서 Ok 혹은 Cancel 버튼 등을 눌렀을 때 dialog 를 dismiss 하지 않고 싶을 때가 있다. 대표적인 경우가 dialog 를 통해서 어떤 input 을 받는데 validation 조건을 만족시키지 못해서 다시 입력하라고 할 경우! 이럴 때 OnShowListener 를 이용하여, 필요한 버튼에 OnClickListener 를 내 것으로 걸어주면 된다. final AlertDialog alertDialog = ....; alertDialog.setOnShowListener(new DialogInterface.OnShowListener() { @Override public v.. 2013. 9. 7.
[android] bitmap 전환 fade in & fade out sample code 안드로이드, bitmap 전환 fade in & fade out sample code 뭐 완벽하며 부드러운 구현은 아니지만, 그래도 image 가 그냥 "확" 바뀌는 어색함을 막기 위해서 fade in, fade out 을 어떻게 이용할 수 있을까 idea 를 제시한다. public class MainActivity extends Activity { private int[] resIds = new int[]{ R.drawable.black, R.drawable.blue };private int index = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentVie.. 2013. 8. 19.
[android] MultipartEntity 내용 print out 안드로이드, MultipartEntity 내용 print out. 이미지파일을 server 에 업로드하거나 할 때는 아파치 ( Apache ) 의 library 에 있는 MultipartEntity 를 이용하면 편하다. 그런데 가끔가다 MultipartEntity 에 내용이 잘 들어가서 전달되는지 궁금하곤 하다. 이럴때는 다음 코드로 MultipartEntity 내용을 print out 할 수 있다. ByteArrayOutputStream bytes = new ByteArrayOutputStream();try {entity.writeTo( bytes );} catch ( IOException e ) {Log.e( TAG, "MultipartEntity print", e );}Log.e( TAG, "Mul.. 2013. 8. 8.
반응형