본문 바로가기

전체 글68

안드로이드 위젯 크기 결정 로직의 문제들 안드로이드는 파편화가 원래 심하지만, 위젯 크기는 특히 거지같다. 우선 위젯을 만들기 위해서 추가해야 하는 두가지는 appwidget-provider.xml 파일과 위젯 설정을 위한 클래스이다. xml에서는 - minWidth, minHeight는 위젯을 홈화면에 추가할 때 사용하는 값이다. 이 값으로 홈화면에서 몇개의 셀이 할당될지 결정된다. - minResizeWidth, minResizeHeight는 사용자가 위젯의 크기를 변경할 때 사용되는 값이다. 변경할 때 이 크기보다 작아지진 않아야 한다는 것을 런처에게 알려준다. 위젯 설정을 위한 클래스를 추가했다면, 위젯의 크기를 변경했을 때 AppWidgetProvider의 onAppWidgetOptionsChanged가 호출된다. public clas.. 2020. 2. 2.
Kotlin에서 static initializer block java 에선 class MyClass { static { doSomething() } } kotlin 에선 class MyClass { companion object { init { doSomething() } } } 끝. 2020. 1. 24.
안드로이드에서 다음 알람 시간 가져오기 val am = getActivity()!!.getSystemService(Context.ALARM_SERVICE) as AlarmManager val alarmClockInfo = am.nextAlarmClock // Added in API level 21 val cal = Calendar.getInstance() cal.timeInMillis = alarmClockInfo.triggerTime 안드로이드 기기에 등록된 다음 알람을 가져온다. 등록된 모든 알람 중에는 아니고, setAlarmClock으로 등록된 것 중 가져온다. 다른 앱에서 등록된 것도 가져온다. 내 앱에서 등록된 것만 가져오고 싶었는데... 다음에 더 알아보자. 2020. 1. 23.
SQLAlchemy + MySQL에서 DATETIME에 millisecond 사용 mysql dialects의 DATETIME을 사용해서 선언하면 사용할 수 있다. from sqlalchemy import Column, Integer, String from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class Post(Base): ... created_at = sqlalchemy.dialects.mysql.DATETIME(fsp=3) # 밀리세컨까지 사용. fsp=6이면 마이크로 세컨까지 사용 Flask-SQLAlchemy에서는 아래처럼. class Post(db.Model): ... created_at = sqlalchemy.dialects.mysql.DATETIME(fsp=3) 2020. 1. 21.