Android
-
Android - Realm (ORM, Database)Android 2020. 7. 26. 17:24
ORM: 객체 관계 매핑(Object-relational mapping). 객체 지향 프로그래밍 언어 데이터와 데이터베이스 데이터간 변환하는 프로그래밍 기법. VO 정의 public class Test1Vo extends RealmObject { public String Title1; } database 읽고 쓰기 Realm.init(this); Realm rm = Realm.getDefaultInstance(); final String title1 = "tt"; rm.executeTransaction(new Realm.Transaction() { @Override public void execute(Realm realm) { Test1Vo vo = realm.createObject(Test1Vo.cla..
-
Android - BroadcastReceiverAndroid 2020. 7. 20. 20:01
Activity IntentIntent발생 action:VIEW 발생 요청하고 action:VIEW로 등록되 것이 하나도 없으면 요청 한 곳에는 에러가 발생된다, 여러개면 사용자가 선택하게 된다(Ex Web browser가 여러개인 경우 선택창) BroadcastReceiver IntentIntent발생 action:BATTERY_LOW 발생 요청하고 action:BATTERY_LOW로 등록 된 것이 있던 없던 오류나지 않는다, 여러개라도 모두 실행 된다
-
Android - Google Map 적용Android 2020. 7. 19. 21:08
GoogleMap Lib 등록 implementation 'com.google.android.gms:play-services-maps:17.0.0' Google API Key 얻기 방법: Google API Key 얻기, Google API Key 사용 제한 Maps SDK for Android 활성화 "Maps SDK for Android" 사용 활성화 하기 바로 접속: https://console.developers.google.com/apis/library/maps-android-backend.googleapis.com Manifest.xml에 등록 google api key를 반드시 등록해야 한다. MainActivity작업 생략, 필수 아님 activity_main.xml 작업 다운로드 Goog..
-
-
Android - Scoped Storage ModeAndroid 2020. 7. 19. 20:16
Android 10 (API level 29)부터 외부 저장소(External Storage)는 어떤 파일이 어떤 앱에 소속되어있는지, 시스템이 기억을 해두었다가, 앱이 언인스톨 될 때에, 파일도 함께 제거되도록 한다. Scoped Storage 라는 모드가 적용된다. 개별앱의 공간은 샌드박스 모델로 격리되게 되어, 다른 앱의 저장공간에는 더이상 접근할 수 없다. 자신의 앱 공간은 파일의 절대경로로 직접 접근하는 것이 여전히 가능하다. 개별앱 공간은 권한이 필요없고, 앱 제거시 삭제가 됩니다. 외부 앱에서 접근이 불가능하다는 점을 제외하고는, 변화가 가장 없다. Environment.getExternalStorageDirectory() 등은 사용할 수 없게 된다. 사진, 비디오, 음악, 다운로드 파일들을..
-
Android - BitmapFactory 이미지 크기 조정Android 2020. 7. 19. 20:09
이미지 로딩으로 인한 OutOfMemoryException 문제 File fdir = this.getFilesDir(); if(fdir.isDirectory() && !fdir.exists()) { fdir.mkdir(); } File f2 = null; try { f2 = File.createTempFile("test", ".jpg", fdir); if(f2.exists()) { f2.createNewFile(); } } catch (IOException e) { e.printStackTrace(); } { //TODO: image work } BitmapFactory.Options bo = new BitmapFactory.Options(); bo.inJustDecodeBounds = true; Inp..
-
Android - local DBMS, SQLiteAndroid 2020. 7. 19. 14:53
서버 없이 개인 휴대폰에 App별로 저장하는 방식. 저장위치: 'data/data/[package_name]/databases DB객체 생성 또는 얻기 SQLiteDatabase db = openOrCreateDatabase("testdb", MODE_PRIVATE, null); Query 실행 db.execSQL(String sql) select문을 제외한 insert, update 등의 SQL 수행 db.rawQuery(String sql, String[] selectionArgs) select문의 SQL 수행 Cursor, 결과 행 Cursor cs = db.rawQuery("select ? from ?", new String[]{"*", "testtb"}); cursor 위치 조절 기능 cs.mo..