본문 바로가기

소프트웨어 /안드로이드[Java]

(10)
[Android] Java 타임스탬프 시간 변환 long 타입의 타임스탬프를 시간으로 변환시켜보자. public String toTimeStamp(long num){ Date toTimeStamp = new Date(num); SimpleDateFormat datef = new SimpleDateFormat("yyyy-MM-dd hh:mm", Locale.getDefault()); return datef.format(toTimeStamp) ; } 나같은 경우는 String으로 리턴받아 TextView에 띄워주었다. 원하는대로 활용해보자.
[Android] Retrofit 에러 - Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ Retrofit + RxJava + OKHTTP를 이용해서 Json 데이터를 가져오던 중 다음과 같은 에러가 발생했다. onError: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ 해당 에러는 Json데이터를 파싱할 때 형식이 잘못되었을 경우에 발생하는 에러이다. 내가 받아오려는 데이터는 아래와 같이 처음부터 배열형식(Array)으로 받아오기 때문에 에러가 발생했다. [ { "id": 1, "name": "Minsu", "age": 25 }, { "id": 2, "name": "Parksuri", "age..
[Android] Collapsing Toolbar Layout 텍스트 안나올 때 AppBarLayout와 CollapsingToolbarLayout을 이용해 상단에 이미지, 텍스트를 넣고 하단에 리사이클러뷰를 넣어놨다 스크롤을 내리면 상단 이미지가 사라지고 상단 텍스트가 툴바 Text 로 올라가는 기능을 구현하고 있었는데...... 툴바에 text가 도저히 표시되지 않아서 대체 뭐가 문젤까.............................. 하염없이 모니터를 바라보다 원인을 찾았다ㅠ 해당 xml파일을 보면 대략 코드는 이런식으로 되어있는데 저기 androidx.appcompat.widget.Toolbar에서 layout_height을 wrap_content로 해놨다.........ㅠㅠ 높이를 지정 안해줘서... 여튼 해당 layout_height를 android:layout_hei..
[Android] android.database.CursorIndexOutOfBoundsException 내부 저장소에서 목록을 불러와 리스트를 만드는데 다음과 같은 에러가 생겼다. android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 6 cursor의 초기 위치를 지정해주지 않아 발생되는 문제이다. cursor.moveToFirst(); 를 사용해 cursor를 맨 첫번째로 이동시켜 주면 해결된다.
[Android] BottomNavigationView Fragment 적용 지난번에 BottomNavigationView를 만들었다면 화면과 연결을 해보자 한 액티비티에 BottomNavigationView 와 FrameLayout을 넣고 FrameLayout에 들어갈 여러개의 Fragment를 연결해주려고 한다. 먼저 activity_main.xml에 FrameLayout을 추가한다. 추가했다면 frameLayout에 Fragment를 추가해주어야 한다. 나는 기존 BottomNavigationView에 5가지 아이템을 넣었으니 5개의 프래그먼트를 추가하겠다. (각각 PlayListFragment, SongFragment, ArtistFragment, AlbumsFragment, FolderFragment) layout-New-Fragment-Fragment(Blank)로 추..
[Android] BottomNavigationView 구현하기 밑에 사진은 많은 앱들을 실행해보았을 때 쉽게 볼 수 있는 화면이다. 바로 BottomNavigationView인데 어떻게 구현할까? BottomNavigationView을 만들기 위해선 먼저 activity_main.xml에 BottomNavigationView를 추가해준다. labelVisibilityMode 속성은 아이콘 밑에 텍스트가 보여질지 설정하는 것이다. 이렇게 만들면 menu에 에러가 뜨게 되는데 menu파일을 아직 만들지 않아서 그렇다. 이후에 BottomNavigationView 안에 들어갈 아이템들을 만들어보자. res-New-AndroidResource File을 만들어 menu파일을 생성한다. menu 파일을 생성했다면, 각 아이템들을 만들어보자. *menu 아이템은 3개 이상 만..
[Android] 버튼 커스텀 하기 - Ripple Effect 방법 버튼 클릭 시 ripple 효과 주려고 한다. Ripple 효과는 버튼을 눌렀을 때 눌린 곳 부터 다른 색으로 점점 퍼져나가는 효과이다. 먼저 res - drawble 폴더에 btn_ripple_effect.xml 파일을 만들어 준다. xml 파일을 작성 한 후 activity_main.xml 파일로 이동해 버튼을 하나 만들어 준다. 작성하면 위처럼 버튼이 하나 만들어지게 된다. 여기서 버튼의 효과를 주기 위해서 처음에 만들어 둔 btn_ripple_effect.xml 파일을 버튼의 background에 넣어준다. 그리고 확인해 보면,, 처음엔 흰색 배경의 버튼이 보이지만 클릭 하면 물결모양으로 파란색이 퍼져나가는 것을 볼 수 있다.
[Android]Thread에서 UI바꾸기 쓰레드를 돌리다 보면 쓰레드 내에서 UI를 변경할 수 없다는 에러를 본 적이 자주있다. UI를 변경하기 위해 사용하는 것이 runOnUiThread 이다. runOnUiThread(new Runnable() { @Override public void run() { //변경할 UI 코드 작성 } });

반응형