본문 바로가기
반응형

안드로이드44

[Android] 안드로이드_갤러리에 이미지 안나오게 하기, 미디어 스캔 회피하기 (feat. .nomedia 파일) -.nomedia 파일을 이용한 미디어 스캔 피하기-어플리케이션 개발을 하다보면 이미지를 특정 경로에 저장하는 경우가 생길수 있는데 문제는 해당 특정경로에 저장되어있는 이미지를 모바일에서 자동으로 스캔을 하여 갤러리에 표시가 되는 문제가 생겼다. 굳이 보여줄 필요가 없는데 말이다. 그러다가 알게된게 미디어 스캔을 회피할 수 있는 방법이 있다 하는데 바로 .nomedia파일을 만들어서 미디어 스캔을 피하는 것이다. .nomedia파일은 0byte짜리의 빈껍대기 파일인데 이게 미디어스캔을 회피할 수 있게 만들어준다. 만드는 방법은 간단하다. //.nomedia 파일 생성 public void createFile() { try { File nomediaFile = new File(mDataPath + "/.n.. 2020. 6. 15.
[Android] 안드로이드_SDK 경로 설정 및 변경하기 (ft. Settings) - Android SDK(안드로이드 SDK) 경로 설정하기 - 기존에 사용하던 안드로이드 프로젝트를 체크아웃 혹은 불러오기를 하거나 드라이브의 용량이 부족하여 SDK 위치를 변경하고자 할때 어디서 설정해줘야하는지 몰라 난감한 상황을 방지하고자 기록한다.사실상 구글링을 해보면 SDK 경로를 설정 및 변경해주는 동일한 내용의 글들이 많이들 나오며 그것을 따라해도 큰 문제는 없다. 다만 내가 의아하게 생각했던것은 굳이 Close Project를통해 접근해야하는가? 이다. 우리가 일반적으로 안드로이드 스튜디오에서 관련 설정을 할 때 Settings 메뉴를 들어가고는 하는데 [File] - [Settings] 를 들어가보자 그럼 평소와 같이 Settings창이 뜰텐데 여기서 검색에 "SDK"라 입력해줘도 좋고 [.. 2020. 5. 26.
[Android] 안드로이드_흐르는 TextView 만들기 (feat. ellipsize, singleLine) - 길이가 긴 텍스트뷰 한줄로 흐르게 만들기 - TextView를 사용하다 보면 텍스트 내용이 길어지기 마련인데 이때 줄바꿈 말고 한줄로 쓰는 방법과 한줄로 썼을 경우 안보이는 부분까지 보이도록 흐르는 방법에 대해 알아보자 xml속성에서 singLine과 ellipsize를 이용하여 흐르는 표현을 할 수 있지만 해당 ellipsize = marquee 효과는 포커싱이 되어야만 흐르게 되어있다. 그래서 선택된것으로 알리기 위해서는 Java단에서 처리를 해줘야하는데 그냥 한번에 처리하도록 하자 - JAVA 처리 -txtBldgDong.setSingleLine(true); // 한줄로 표시하기 txtBldgDong.setEllipsize(TextUtils.TruncateAt.MARQUEE); // 흐르게 만들.. 2020. 1. 31.
[Android] 안드로이드_EditText 입력 변화 이벤트 처리 (feat. addTextChangedListener, TextWatcher) - addTextChangedListener 와 TextWatcher 를 이용한 EditText 입력 변화 이벤트 처리 -EditText에 사용자가 텍스트를 입력할때 입력 시점에 따라 이벤트를 주는 방법이 있는데 addTextChangedListener 와 TextWatcher를 이용하는것이다. 사용방법은 매우 간단하다. addTextChangedListener 에 TextWatcher라는 인터페이스를 연결해주면 끝이다. EditText edit = (EditText)findViewById(R.id.mineEdit); edit.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int s.. 2020. 1. 20.
[Android] 안드로이드_Pie 버전에서 org.apache.http.legacy 사용하기 안드로이드 API 28 (Android 9.0) 버전에서 org.apache.http.legacy 사용하기 org.apache.http.legacy 를 사용하다가 버전을 올릴경우 안되는 상황이 발생하는데 해당 라이브러리를 사용할 수 있게 하는 방법에 대해 알아보자 Android 8.0 이하에서는 단순하게 app > build.gradle 에서 아래와 같이 라이브러리를 선언만 해주면 사용이 가능했으나 API를 28로 올릴경우 안되는 상황이 발생한다. useLibrary 'org.apache.http.legacy' 해당 라이브러리를 그대로 사용하기 위해서 기존에 선언한 부분은 그대로 두고 새롭게 몇가지만 추가해주면 된다. 우선 res > xml > network_security_config.xml 해당 폴더.. 2020. 1. 3.
[Android] 안드로이드_리사이클러뷰(RecyclerView_v7) - 클릭 이벤트 처리 ( Click Event ) 리사이클러뷰(RecyclerView) 아이템 클릭 이벤트 처리하기 리사이클러뷰는 리스트뷰와는 다르게 직접 클릭 이벤트를 설정해 줘야하는데 아주 간단하게 처리가 가능하다. 그전에 일단 리사이클러뷰 가 기본적으로 구현이 되어있어야하므로 https://mine-it-record.tistory.com/253 를 참고하여 만들어보자앞서 리사이클러뷰를 만들때 생성한 Adapter 내에 아이템 클릭 이벤트 리스너를 만들어 사용하는 방법이다. 이런식으로 Adapter 안에 클릭 이벤트 관련한 것들은 선언해주자 public class BldgListAdapter extends RecyclerView.Adapter { ... private OnItemClickListener mListener = null ; public .. 2019. 12. 14.
[Android] 안드로이드_리사이클러뷰(RecyclerView_v7) - 기본적인 리사이클러뷰 구현하기 RecyclerView 구현하기이번에 리스트뷰와 같은 형식으로 구현을 해야하는 상황이 왔는데 안드로이드관련한 지식이 거의 없다시피 하기 때문에 요즘은 RecyclerView를 사용한다하여 리스트뷰를 처음부터 접하기보단 리사이클러뷰부터 접해보기로 하여 찾아보며 구현해보았다. 하나하나에 관한 자세한 의미는 모르겠지만 나중을 위해 기록해두고자 한다.리사이클러뷰의 가장 큰 특징은 유연함 이라고들 한다. 자세한건 나중에 개인적으로 공부하도록하고 쉽게 당장 사용할수있는 정도로만 정리해두고자 한다. 우선 리사이클러뷰를 사용하기 위해선 라이브러리를 등록해야한다. 여기서 특이한건 대부분의 블로그에서 꼭 v7버전의 리사이클러뷰를 사용해야만 한다하는데 androidx 버전의 리사이클러뷰도 있다. 정확히 무슨 차이가 있는지는.. 2019. 12. 12.
[Android] The Intent extra data 크기 제한 - [펌] Adnroid Intent extra size limit일전에 Intent를 이용하여 Activity간 데이터를 주고받는 형식의 기능을 구현해놓고 테스트를 하는 과정에서 어느 순간만 앱이 튕기는 현상이 일어났다. 에러가 발생하는 위치를 잡지 못해서 헤매던 결과 그 순간에 extra로 넘기는 데이터가 Map의 size로 650개를 담아 넘기는 상황을 발견했는데 혹시나해서 테스트를 더 진행하던 결과 데이터의 크기가 문제가 있다는 결론을 내려 찾아보던 중에 괜찮은 블로그를 발견하여 기록해두고자 한다.-출처-원본 : https://www.neotechsoftware.com/blog/android-intent-size-limit 정리된 번역 블로그 : https://parkho79.tistory.com/39 아래.. 2019. 12. 8.
[Android] 안드로이드_Activity를 팝업(Dialog)로 만들어 띄우기 (feat. Theme.dialog) Activity를 Dialog로 만들어 띄우기 Dialog로 만드는 방법은 생각외로 간단하다. 가장 큰 핵심은 역시 theme를 Dialog theme로 바꿔주는게 아닐까 싶다. 일단 나중을 위해 테스트로 만들어놓은 소스코드를 올려놓고 부가설명으로 기록해두자. -Activity-import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.Window; import android.widget.TextView; public class CustomNotiActivity extends Activity { TextView btn1; @Override protected void onCreate(B.. 2019. 11. 27.
반응형
TOP