pknujsp / pknujsp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Applications(Android)

에브리웨더 - 날씨 정보 여기에서 모두 온에어!

(https://play.google.com/store/apps/details?id=io.github.pknujsp.everyweather)

날씨 정보를 Ai로 요약받고, 여러 개의 날씨 제공사의 예보를 비교할 수 있는 안드로이드 날씨 애플리케이션

KakaoTalk_20240309_022637982 KakaoTalk_20240309_022637982_04 KakaoTalk_20240309_022637982_03
KakaoTalk_20240309_022637982_05 KakaoTalk_20240309_022637982_10 KakaoTalk_20240309_022637982_08
시간별예보비교위젯 일별예보비교위젯 상시 알림

Medilenz

(https://github.com/pknu-wap/MediLenz)

의약품 정보를 찾고 다른 사람들과 의견을 나눌 수 있는 의약품 정보 커뮤니티 서비스.

의약품을 카메라로 찍으면 인공지능이 분석하여 의약품을 찾아주기도 합니다.

출시 예정

메인 ai카메라 약 검색 댓글

캘린더 플랫폼

캘린더와 지도를 결합하여 약속 장소 주변의 정보와 날씨 정보를 표시합니다.

(https://play.google.com/store/apps/details?id=com.zerodsoft.calendarplatform)

image image image 캘린더플랫폼1

Libraries(Android)

KSealedBinding

안정화 버전 배포 중 (https://github.com/pknujsp/KSealedBinding)

Kotlin의 sealed 클래스, 인터페이스에 대한 바인딩 함수를 자동으로 생성하는 라이브러리

Use @KBindFunc

@KBindFunc
sealed interface UiState<out T> {
  data class Success<out T>(val data: T) : UiState<T>
  data class Error(val exception: Throwable) : UiState<Nothing>
  object Loading : UiState<Nothing>
}
public inline fun <T> UiState<T>.onError(block: (Throwable) -> Unit): UiState<T> {
  if (this is UiState.Error)
    block(exception)
  return this
}

public inline fun <T> UiState<T>.onLoading(block: () -> Unit): UiState<T> {
  if (this is UiState.Loading)
    block()
  return this
}

public inline fun <T> UiState<T>.onSuccess(block: (T) -> Unit): UiState<T> {
  if (this is UiState.Success)
    block(data)
  return this
}

SmartDeeplink

리팩토링 예정, 개발 버전 배포 중 (https://github.com/pknujsp/android-smartdeeplink)

Android Navigation Deeplink 사용 시 데이터를 좀 더 편하게 주고 받을 수 있도록 도와주는 라이브러리


Blurring

갤럭시 노트8 이하의 기기에서 발생하는 성능 문제로 보류, 추후 배포 예정 (https://github.com/pknujsp/android-blur)

Android 12 미만에서도 Window에 흐림 효과를 적용할 수 있게 해주는 라이브러리


About