Android
-
[ Android ] 임시 파일 생성해서 외부 앱으로 찍은 사진 받기Android/멀티미디어 2020. 9. 16. 20:21
resolveActivity() takePictureIntent.resolveActivity(getPackageManager()) 결과가 null이 아닌 경우, 인텐트를 처리할 수 있는 앱이 최소한 하나는 있다는 뜻이며 startActivity()를 호출해도 안전합니다. 결과가 null이면 해당 인텐트를 사용해서는 안 되고, 가능하면 해당 인텐트를 호출하는 기능을 비활성화해야 합니다. Code public class ReportCameraActivity extends AppCompatActivity { private File filePath; private ImageView resultView; private String currentPhotoPath; @Override protected void onC..
-
[ Android ] Application ClassAndroid/Java 2020. 7. 12. 15:36
책에 있는 코드를 공부하던 중 Application class를 상속받은 class를 작성한 것을 보아서 Application class에 대해 공부해보았다. 틀린 내용이 있으면 댓글로 알려주시면 감사하겠습니다! Application Class란? Application의 상태를 유지하기 위한 기본 클래스입니다. 즉, Application class는 어느 컴포넌트(Activity, Service, intent 등)에서나 공유할 수 있는 전역 class를 의미합니다. Application을 상속받은 class는 공동으로 관리해야 하는 데이터를 작성하기에 적합합니다. Application class는 다른 subclass보다 먼저 인스턴스화 됩니다. 일반적으로 subclass Application을 필요로 ..
-
[ Android ] android the file size exceeds configured limit 오류Android 2020. 7. 6. 22:05
android the file size exceeds configured limit code insight features are not available assets 폴더에서 json을 읽어오려고 할 때 Android studio에서 위와 같은 오류를 만났다. 이는 idea.properties라는 파일을 생성하고 안에 idea.max.intellisense.filesize= 와 같이 필요한 파일 사이즈 이상의 크기를 적어주면 해결된다.
-
[ Android ] EventBusAndroid 2020. 6. 22. 14:18
프로젝트를 진행할 때 컴포넌트 간 통신을 구현하고 있는데 멘토분이 Event Bus라는 것을 알려주었습니다. 당시 Android 컴포넌트 간에 데이터를 전달하는 경우 Intent를 사용하였고 Fragment와 통신을 하는 경우 context를 공유하거나 자기자신을 static으로 선언하여 다른 컴포넌트에서 사용할 수 있게 하는 방식으로 코드를 작성하고 있었습니다. EventBus EventBus는 컴포넌트 간에 비동기적 통신을 가능하게 하는 라이브러리 입니다. Greenbot Github에서는 EventBus를 사용하면 좋은 점으로 아래와 같이 제시하고 있습니다. 컴포넌트 간에 통신을 간편하게 할 수 있다. 어노테이션 기반으로 이벤트 발신자와 수신자를 분리합니다. Activity, Fragment, UI..
-
[ Android ] Git-hub 오픈 소스 import 해서 사용하기Android 2020. 6. 18. 22:14
Library gradle에 implementation 해서 사용하는 방법이 아닌 import 해서 사용하는 방법입니다. 기존에 Applandeo/Material-Calendar-View을 사용해서 캘린더를 보여주고 있었는데 아주 조금 바꿔야 할 부분이 있어서 import 해서 사용하게 되었습니다. 순서 1. github에 들어가 zip 파일을 받습니다. 2. zip 파일에서 library만 남겨두고 삭제합니다. 3. Android studio에서 file → new → import module → 남겨둔 library가 들어있는 주소까지 가서 library를 클릭하고 확인 버튼을 누릅니다. 4. file → project structure → app → Dependencies → + 버튼 클릭 → Mo..
-
[ Android ] D-Day 계산 오류Android 2020. 5. 22. 21:15
CatServant D-day를 계산하면서 날짜 오류가 발생하였다. 첫 번째 만난 오류는 현재 날짜가 한달 전으로 나오는 오류였다. 알고보니 java 에서는 Calendar.get(Calendar.MONTH) 를 했을 때, 현재 달에서 1달 전으로 나오는 문제가 있어서 이를 고쳐주기 위해서 +1을 해주고 다시 set해서 고쳐주었다. 두 번째 만난 오류는 시간때문에 D-day가 하루씩 차이나는 오류였다. 이를 해결해 주기 위해서는 Calendar의 시간을 모두 clear 해주고 계산하면 시간 때문에 날짜가 차이나는 오류는 해결할 수 있었다. Code private String getDday(String targetDay) { int tYear, tMonth, tDay; int dYear, dMonth, d..
-
[ Android ] Toast / Snackbar 보여주기Android/Java 2020. 5. 19. 23:22
CatServant Toast ( 토스트 ) Toast는 간단한 메시지를 잠깐 보여주었다가 없어지는 뷰로 앱화면에 종속되지 않습니다. 이는 실행영역보다 앞쪽에 보이는 뷰이기 때문에 앱이 화면에 보이지 않는 상태에서도 Toast가 보일 수 있다는 의미입니다. Code Context context = getApplicationContext(); CharSequence text = "Hello toast!"; int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(context, text, duration); toast.show(); Toast.makeText(getApplicationContext(), "Hello toast!", Toast.LENG..
-
[ Android ] Fragment Toolbar에서 back button 동작 안 하는 오류Android 2020. 5. 19. 18:25
CatServant 특정 Fragment에서 Toolbar에 Backbutton을 추가한 뒤 Toolbar 내에 있는 BackButton을 Click 했을 때 호출했던 Fragment로 돌아가지 않는 문제가 있었다. Fragment에서 Fragment 호출하기 public void replaceFragment(Fragment fragment) { FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.main_container, fragment).addToBackStack(null).commit(); } 해당 프로젝트에서는 mainView Fragment에서 se..