분류 전체보기(112)
-
Realm 모바일 데이터 베이스(Android)
Realm은 모바일 데이터 베이스로 안드로이드의 SQLite, iOS의 Core Data를 대체해서 쓸 수 있다. 간결하고 짧은 코드로 편하게 개발 할 수 있고, 속도가 더 빨라 성능 향상된 앱을 만들 수 있다. 1. 장점 - 쉬운 사용 Realm은 SQLite을 기반으로 한 ORM이 아니다. 대신에 Realm은 쉬운 사용성과 속도를 위해 개발한 persistence 엔진을 사용 - 크로스 플랫폼 Android, iOS 지원(Swift, Objective-C) - 빠른속도 zero-copy 디자인 덕분에 Realm은 SQLite를 기반으로 ORM을 구현했을 때보다 월등히 빠르다 2. 사용법과 예제는 공식 홈페이지에 잘 정리되어 있으므로 패스. 3. 기억할 내용 및 키워드 - 자동갱신객체 Realm 객체와..
2016.04.26 -
Android 6.0 마시멜로 대응(런타임 권한 모델)
Android 6.0 마시멜로 대응(런타임 권한 모델) 안드로이드 6.0부터는 인터넷같은 사용권한은 기본권한에 포함되어 사용자의 동의를 구하지 않아도 되지만, 기기를 제어할 수 있는 권한은 사용자의 동의를 구해야만 한다. 또한 사용자가 동의 했다가 다시 권한을 취소 할 수 있다. 이에 따른 퍼미션 대응이 필요! 런타임 권한 모델 기존처럼 앱이 설치될 때 필요한 권한을 요청하는 것이 아니라, 새로운 런타임 퍼미션 모델에 따라, 앱 실행 중에 필요한 권한을 요청해야 한다. (타겟 API23 이상으로 빌드된 앱이 안드로이드 6.0에서 동작하는 경우) 디자인 가이드라인 올바른 순간에 권한을 요청하는 것이 중요한데, 구글 디자인 사이트에는 새로운 런타임 권한 모델을 적용할 때 참고할 수 있는 UX패턴이 정리 되어..
2016.04.26 -
싱글톤 패턴
public TestClass { /*유일한 인스턴스 저장 객체 선언*/ private static TestClass uniqueInstance ; private TestClass(){ } /*외부에서 사용할 함수 선언 클래스를 생성할떄 쓴다 */ public static TestClass getInstance(){ if(uniqueInstance ==null){ //있는지 체크 없으면 uniqueInstance = new TestClass (); //생성한뒤 } return uniqueInstance ; //생성자를 넘긴다. } } ------------------------------------------------------------------------------------------------..
2016.04.26 -
QR코드 스캔
ㅇ Activity@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new IntentIntegrator(this).initiateScan();}/** * QRCode 스캔 * @param requestCode * @param resultCode * @param data */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // QR코드/바코드를 스캔한 결과 값을 가져옵니다. IntentResult result = IntentIntegrator.parseActivity..
2016.04.25 -
QR코드 생성
ㅇ build.gradlecompile 'com.journeyapps:zxing-android-embedded:3.0.0@aar' compile 'com.google.zxing:core:3.2.0' compile 'com.google.zxing:javase:2.2' public class CreateQRCode { private String account; private String name; private String amount; public CreateQRCode(){ } public CreateQRCode(String account, String name, String amount){ this.account = account; this.name = name; this.amount = amount;..
2016.04.25 -
@SuppressLint
린트는 개발자가 완벽히 알맞은 코드나 충돌 가능성이 있는 코드를 사용할때 @SuppressLint(...)를 붙여 사용할 수 있게 해줍니다. @SuppressLint("NewApi")는 해당 프로젝트의 설정 된 minSdkVersion 이후에 나온 API를 사용할때 warning을 없애고 개발자가 해당 APi를 사용할 수 있게 합니다.
2016.04.19