목록안드로이드(Android) (70)
Simple&Natural
문제는 이러했다. A테이블과 B테이블이 있는데 Room에서 지원하는 Relation 방식으로는 Column 비교 시 대소문자 구분이 안되는 상황. 결국 쌩쿼리를 짜서 뽑아 써야 했다. 다음과 같이 LEFT JOIN을 이용하여 기준이 되는 테이블 A를 모두 포함하도록 하고 해당하는 Symbol 데이터를 붙여주는 방식. @Query("SELECT tickers.*, ticker_symbols.* FROM tickers LEFT JOIN ticker_symbols ON tickers.base_symbol = ticker_symbols.symbol COLLATE NOCASE") fun getAllTickerWithSymbols(): List [TickerSymbol] @Entity(tableName = "tic..
Remote Config은 보통 앱에서 사용하는 설정값, 공지사항 등등의 데이터를 앱 업데이트 없이 배포하기 위해 사용한다. 이걸 약간 응용하면 따로 서버와 DB를 구성하지 않고도 간이 DB처럼 사용할 수가 있다! 그러나 DB처럼 실시간으로 값을 변경하거나 할 수는 없고 (변경된 값을 업데이트 하는 데 시간 제약이 있다) 저장량에도 한계가 있다. 아래 문서를 참고하면 약 80만자 정도의 Json 데이터를 저장 가능하므로 한번에 대량의 데이터를 넣고 사용하면서 1주일 혹은 1달에 한 번 데이터를 추가해주거나 하는 작업에는 매우 적합! 공식 가이드 문서에 매우 친절하게 사용법을 설명해주므로 그대로 참고하면 된다. 내 경우에는 Application 클래스에서 초기화를 하여 데이터를 받아와 사용하는 편. 매개변..
차이는 생각보다 간단하다. onDraw의 경우 ItemView가 그려지기 이전에 그려진다. 따라서 ItemView의 아래에 보이게 된다. onDrawOver의 경우는 반대로 ItemView보다 나중에 그려지며 ItemView의 위에 덮어 씌워진다. onDraw /** * Draw any appropriate decorations into the Canvas supplied to the RecyclerView. * Any content drawn by this method will be drawn before the item views are drawn, * and will thus appear underneath the views. * * @param c Canvas to draw into * @para..
수치 데이터를 깔끔하게 다듬어 보여주고 싶을 때가 있다. 원하는 결과값이 소수점 둘째까지 짜리만 보여줘! 와 같은 경우라면 편하겠지만 데이터에 따라 유효숫자까지만 보여주고 싶은 경우는 어떻게 해야 할까? 예를 들어 1.4240000 과 같은 데이터는 1.424, 17400200.0000과 같은 데이터는 17,400,200과 같은 식으로 말이다. 이럴 땐 DecimalFormat을 활용하면 된다. fun main() { val sample = 1401200.1241000 val formatter = DecimalFormat("#,##0.########") val result = formatter.format(sample) println(result) } 출력값: 1401200.1241