본문 바로가기
[iOS Study] NSUserDefaults [iOS Study] NSUserDefaults 출처 : 아론 힐리가스의 iOS 프로그래밍 -사용자의 환경설정(preferences) 을 가진 plist 가 각 앱 번들 안에 저장된다.개발자는 NSUserDefaults 클래스를 사용하여 이 plist 에 접근할 수 있다.또한 앱의 환경설정 plist 는 설정 앱에서 수정할 수 있다.이를 허용하려면 앱 안에 설정 번들(settings bundle)을 만들어야 한다. -사용자의 기본 설정(default) 집합은 키-값 쌍의 모음이다.키는 기본 설정의 이름이고 값은 키에 해당하는 사용자가 선호하는 것을 나타내는 데이터이다.공유 사용자 기본값 객체에 그 키의 값을 요청한다.이것은 딕셔너리에서 객체를 가져오는 것과 다르지 않다. NSUserDefaults *de.. 2016. 3. 27.
[iOS Study] 유동글자 [iOS Study] 유동글자 출처 : 아론 힐리가스의 iOS 프로그래밍 -유동 글자(Dynamic Type)는 iOS7 에 도입된 기술이다.이는 읽기 편하도록 최적화되어 설계된 텍스트 스타일(text styles)을 제공한다.설정(Settings) 앱에서 일곱 가지의 선호하는 텍스트 크기 중 하나를 선택할 수 있고 유동 글자를 지원하는 앱이 폰트를 적절히 조절한다는 것이 매력이다. -유동 글자 시스템은 텍스트 스타일 중심이다.이 시스템은 텍스트 스타일을 요청받으면 적합한 폰트를 반환하기 위해 해당 텍스트 스타일과 연관된 사용자의 선호 텍스트 크기를 사용한다. -다음과 같은 코드로 쉽게 font 를 적용할 수 있다. UIFont *font = [UIFont preferredFontForTextStyle:.. 2016. 3. 9.
[iOS Study] 디버그 도구 [iOS Study] 디버그 도구 출처 : 아론 힐리가스의 iOS 프로그램 -Xcode 5 CPU와 메모리 사용량에 관한 정보를 한눈에 제공하는 디버그 측정기(debug gauges) 가 있다. -디버그 네비게이터는 프로그램 실행 중에(실시 정지나 중단된 경우가 아닌) CPU 와 메모리 측정기를 보여준다. -이 측정기들은 실제 프로그램이 실행 중인 하드웨어를 기반으로 측정한다.Mac 은 iOS 장비보다 가용 램이 훨씬 많고 CPU 코어도 대개 더 많다.따라서 iOS 시뮬레이터에서 프로그램을 실행하면 CPU 와 메모리 사용량은 매우 작게 나타날 것이다. -CPU 디버그 측정기는 편집기 패널에 CPU 리포트를 표시한다. Percentage Utilized 해당 장비가 가진 CPU 코어 수에 상대적인 CPU .. 2016. 2. 26.
[android] 디컴파일링시 Plain Text 로 노출되면 안 되는 정보들 숨기기 [android] 디컴파일링시 Plain Text 로 노출되면 안 되는 정보들 숨기기 -아주 간단하게는 각 character 들에 특정값을 더하고 빼기정도를 하는 것으로 인코딩할 수 있다. 하지만 보안 레벨 측면에서는 상당히 조악한 방법으로, 명석한 디컴파일러(사람기준)들은 이정도는 아주 간단하게 디코딩 할 수 있다. - 그럼 어떻게 안정적으로 만들 수 있을까? 너무 어렵지 않으면서 나름 안정성을 줄 수 있는 방법은 sign key 에서 특정 값을 추출해서, 보안적으로 안정성이 높은 알고리즘으로 encoding/decoding 을 하면 된다. Encrypt ( Encoding )SecretKey key = null;byte[] encryptedByte = null;try{PackageInfo packag.. 2015. 12. 24.
[android] Linkify 를 이용하여 TextView 에 link 주기 android, Linkify 를 이용하여 TextView 에 link 주기 HashTag 예제 // Hash Tag 패턴Pattern tagMatcher = Pattern.compile("[#]+[A-Za-z0-9-_]+\\b"); // TextView 의 Link 를 눌렀을 때 연결할 uri 혹은 url base 주소String uri = "content://com.cklee.hashtags/"; // textview 에서 tagMatcher 에 matching 되는 녀석을 link 로 만들고, // 이녀석을 클릭하면 ACTION_VIEW 를 호출하면서 MIME type 을 uri + tag 로 생성된 scheme 으로부터 받아온다.Linkify.addLinks(textView, tagMatcher,.. 2014. 2. 20.
[android] 대체 리소스는 어떤 것을 쓸까? 에 대한 실험 결과 안드로이드, 대체 리소스는 어떤 것을 쓸까? 에 대한 실험 결과 모든 resource 가 제대로 박혀 있을 때는 당연히 자신의 resource 를 가져다 쓰는 것이 당연하다. 환경구성 아래 폴더에 각각 drawable.png 이라는 이미지 파일을 만들고, 각 이미지에는 문자로 해상도를 표기한다.drawable drawable-nodpi drawable-ldpi drawable-mdpi drawable-hdpi drawable-xhdpi 실험 1 : xhdpi 단말에서 xhdpi resource 를 지웠다. 어느 것을 가져다 쓸까?예상 : 가장 밀접한 해상도인 hdpi 혹은 아예 default 가 될 수 있는 drawable, drawable-nodpi 를 가져다 쓸 것이다.결과 : hdpi 것을 가져다 .. 2013. 9. 20.
[Java] 접근 제한자에 대한 이야기. 자바, 접근 제한자에 대한 이야기. 접근제한자는 경우에 맞게 잘 사용하도록 설계되었는데 그냥 말단 client app 개발자인 필자는 사실 대부분 private 과 public 만 사용한다. library 를 설계하는 입장에서는 protected 나 default 도 많이 사용할텐데..여튼 접근 제한자들에 대해 함 알아보자. private 해당 클래스 내에서만 접근 가능 default 접근 제한자를 안 붙인 경우를 이야기하는데같은 패키지 내에서만 접근이 가능하다. protected 같은 패키지 내는 물론, 상속한 child 들도 사용이 가능하다. public 어디서든 사용이 가능하다. access modifier, default, Java, java access modifier, library 설계, P.. 2013. 8. 13.
반응형