전체 글
-
[Android/Java] startActivityForResult() 대체Android 2022. 5. 24. 21:21
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] *androidx.activity:activity:1.2.0-alpha02 부터는 startActivityForResult() 대신 registerForActivityResult() 사용 권장* 1. Intent 생성 Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); launcher.launch(intent); 2. registerForActivityResult() 작성 ActivityResultLauncher launcher = registerForActivityResult(new ActivityResultContrac..
-
[Android/Java] URI, URL, URN의 차이Android/Java 2022. 5. 24. 20:59
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] 1. URI(Uniform Resource Identifier) - Resource(이미지, 텍스트, 전화, 링크, html 파일 등등)에 접근할 수 있는 유일한 식별자 - 접근해야 하는 리소스가 어디 있는지를 나타냄(위치 나타냄) - 인터넷에 있는 자원을 나타내는 유일한 주소 - URL, URN을 포함(URL, URN이 URI의 종류라고 봐도 무방) - 이미지, 텍스트, html 파일 등의 정적 컨텐츠뿐만 아니라 요청에 따라 결과값이 달라지는 동적 컨텐츠도 포함 2. URL - 링크 - (특정 서버의)리소스의 경로(Location)를 기반으로 식별 3. URN - 리소스의 이름(Name)을 기반으로 식별 - 거의 사용하지 않음
-
[Android/Java] 갤러리 이미지(사진) 가져오기/불러오기Android/Java 2022. 5. 24. 20:50
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] 1. Intent 생성 Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(intent, gallery_requestCode);//갤러리 실행 - setType("image/*") : Intent 실행시킨 경우 image만 보이게 설정 2. onActivityResult 작성 @Override public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { if(requestCode==gall..
-
[Android/Java] SQLite 사용법Android/Java 2022. 5. 20. 14:39
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] 1. DBHelper 클래스 생성 public class DBHelper extends SQLiteOpenHelper { public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version){ super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { String sql = "create table if not exists myTicket (_id integer primary key autoincrement, image blob, name t..
-
[Android/Java] 리싸이클러뷰(RecyclerView)Android/Java 2022. 5. 17. 15:12
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - ListView는 세로 방향으로만 스크롤 내릴 수 있지만 RecyclerView는 가로 방향으로도 할 수 있음 - 이유 : LayoutManager를 우리가 관리할 수 있기 때문 - LayoutManager의 종류 1. Linear(수평, 수직, 일렬) 2. Gride(바둑판 모양의 격자) 3. StaggeredGrid(모양이 일정하지 않음) - 성능상 큰 차이는 없지만 ListView 보다는 RecyclerView의 성능이 더 좋음 - ListView에 비해 유연성 높음 - ListView는 애니메이션 사용이 어렵고 다양한 아이템뷰가 필요하면 복잡한 커스텀 작업이 필요 - 아이템뷰 생성할 때 마다 inflate와 findViewById가 반복되어..
-
[Android/Java] 액티비티 생명주기Android/Java 2022. 5. 16. 19:29
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - 액티비티가 생성될 때 단 한 번만 호출 - 데이터를 목록에 바인딩, 활동을 ViewModel에 연결, 일부 클래스 범위 변수 인스턴스화 등이 이루어짐 - onCreate() 메서드는 savedInstanceState 매개변수(활동의 이전 상태에 포함된 Bundle 객체(처음 생성된 활동인 경우 Bundle 객체는 null)) 수신 - 실행이 완료되면 onStart()와 onResume() 메서드 호출 - 활동이 사용자에게 표시되고, 앱은 활동을 포그라운드에 보내 상호작용 할 수 있도록 준비 - 실행이 완료되면 onResume() 메서드 호출 - 앱으로 돌아온 경우(활동이 재개된 경우) 무조건 호출됨 - 방해되는 이벤트 발생한 경우 일시정지 상태에 ..
-
[Android] 동기(Synchronous)와 비동기(Asynchronous)Android/Android 2022. 5. 11. 21:00
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - 요청과 결과가 동시에 일어남 - 요청 보낸 후 응답(결과) 받아야 다음 동작 이루어짐 - 요청이 주어지면 걸리는 시간은 상관 없이 요청한 자리에서 결과 주어져야 함 - 노드 A와 노드 B 사이의 작업 처리 단위(Transaction)를 동시에 맞추겠다는 의미 - 장점 : 간단 - 단점 : 결과가 주어지기 전에는 아무 동작도 하지 못하고 대기해야 함 - 요청과 결과가 동시에 일어나지 않음 - 요청 보낸 후 응답을 받지 않아도 다음 동작 수행 가능 - 노드 A와 노드 B 사이의 작업 처리 단위(Transaction)를 동시에 맞추지 않아도 된다는 의미 - 장점 : 요청한 결과를 처리하는 사이에 다른 동작을 할 수 있으므로 자원의 효율적 사용이 가능 -..