2026/02/12

오늘의 이야기

코딩알바를 하다 얻은 아이템을 모아 모아 모아서... 새로운 앱을 하나 만들었다... 마치 가계부 같은 기능을 구현 하기 위해서. 


 


play.google.com/store/apps/details?id=com.billcoreatech.monthlyreceiver



 


알림다이어리 - Google Play 앱


1. 내폰안의 앱들의 알림을 이용 합니다. 2. 알림 수신 권한 부여가 필요합니다. 3. 알림을 이용하여 수입/지출 항목을 관리할 수 있습니다. 4. 기타 사항은 사용설명을 참조하세요. ---- 개발자 연


play.google.com




 


또한 이 앱에서 사용하는 아이콘은 Android Studio 4.1.2(2021.02.01 현재) 에서 제공하는 아이콘등을 참조했음을 밝혀 둔다. 그리고 이 앱의 기본화면등은 알바를 했던 앱을 참고해서 만들었다. 


 


알림다이어리 메인화면



이앱의 이름은 알림다이어리 라는 제목으로 만들었다.


 


기능은 단순 무식 하다... 내 폰에 설치된 앱에서 알려 주는 모든 알림을 참조하여 내가 기록하고 싶은 앱에서 알려주는 문구들만 모아 기록을 한다.


 


그렇게 하다 보면 그날 그날 발생 되는 돈 나가는 일들, 


수입이 생기는 일들이 자연스럽게 하나 하나 기록으로 남는다.


 


불필요한 알림 기록을 방지 하기 위해서 내폰에 있는 앱들에서 선택 하도록 하였습니다.


 


현재는 앱별로 수입/지출 한가지만 선택할 수 있지만, 


아마 그거도 수정을 해야 할 것 같다.


 


선택적으로 관리할 수 있도록 ...


 


 


 


 


 


 


 


 


 


 


 


 


 




메뉴가 선택된 상태를 보여준다.


메뉴에는 


 


설정 : 백업/ 복원 / 데이터 초기화 / CSV  파일 생성 기능이 있고


통계 : 앱별 수입/지출 통계를 볼 수 있고


검색 : 등록된 내용에서 특정 단어가 있는 경우를 찾아 볼 수 있으며


노트 : 일반적인 노트를 기록하고자 할 때 등록하고, (검색에서 조회 가능)


구분 : 내폰의 앱 목록에서 알림을 캐치할 대상을 조회 / 등록 할 수 있으며


도움말 : 이 페이지로 넘어 오는 링크가 동작함.


 


*** 인용알림


github.com/nambicompany/expandable-fab


 


이 앱에서 사용하는 fab 메뉴 기능은 위 링크에서 퍼온 것임을 알림.



 


nambicompany/expandable-fab


A highly customizable 'speed dial' FloatingActionButton implementation. - nambicompany/expandable-fab


github.com






 


 


 


특정한 날자의 목록을 클릭하면 옆의 그림 처럼 날짜별 데이터를 볼 수 있거나 수정할 수 도 있다.


 


이 때 숫자입력시 사용하는 기능은 아래 링크를 참고했음을 밝혀 둔다.


 


*** 인용알림


dreamaz.tistory.com/222



 


안드로이드 EditText Number Format 숫자 3자리 마다 콤마 나타내기


안녕하세요. 개발자 드리머즈입니다. 이 포스트에서 안드로이드 EditText에 숫자를 입력하면 3자리마다 콤마가 자동으로 찍히게 하는 방법을 알아보겠습니다. 백문이 불여일견이라고 위의 gif를


dreamaz.tistory.com




 


 




 


설정 화면 에서는 


백업 : 앱에 등록된 모든 정보를 백업해 둠


백업 경로는 /sdcard/Android/data/앱경로/files 아래에 날자별로 이름을 가진 sqlite 파일로 백업됨 (단, 앱을 삭제하면 같이 삭제되는 경로이기 떄문에 필요하다면 다른 곳으로 옮겨서 보관을 해야 함.)


 


복원은 앱에서 백업해 두었던 sqlite 파일을 기준으로 다시 복원 하고자 하는 경우에 사용, 다만, 복원시에는 이미 등록했던 데이터가 없어질 수 있으므로 주의가 필요함.


 


CSV만들기는 금액이 들어 있는 일부 데이터만 csv 파일 형식으로 저장을 하고 있음 (경로는 백업 경로와 동일)


 


데이터 초기화는 말 그대로 데이터을 초기화 하는 기능인데,  구분 메뉴에서 입력한 앱에 대한 정보는 초기화 되지 않음.


 


 


 


 


 


 


 


 


 


 


 


 




 


 


 


 


 


 


 


 


 


 




 통계 메뉴에서는 한달간의 수입/지출을 집계해 볼 수 있도록 하고 있으며


주간 단위로 산출도 가능하도록 하고 있음


 


또는 앱별로 수입/지출을 구분해서 집계도 할 수 있으므로 참고가 될 수 있음. (예을 들면 특정앱을 사용하는 카드의 지출이 많으지도 파악 가능)


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 




 검색 메뉴에서는 입력된 모든 자료를 검색할 수 있으며 검색은 제목이나, 내용중에 검색할 단어가 들어 있다면 모두다 조회가 될 수 있도록 구성 되며, 


 


검색된 리스트를 클릭하면 수정할 수 있도록 해당화면으로 이동도 지원됨


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 




노트 메뉴에서는 간단한 제목 과 내용을 입력할 수 있으며, 화면내에서는 노트만을 대상으로한 검색도 지원된다. 


 


화면에서 검색(돋보기)버튼 클릭시에는 노트 내용을 검색하며,


추가(+)버튼을 클릭 하면 그림과 같이 팝업화면에서 내용을 입력하고 저장할 수 있다.


 


리스트에서 클릭시에는 수정/삭제를 할 수 있는 팝업으로 이동한다.


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 




구분메뉴에서는 내폰에 설치된 앱목록을 보여주고 해당 앱을 클릭했을 때,  수입/지출 구분 을 입력하면  사용여부가 체크 되는 방식으로 저장한다. 


 


설정화면에서 데이터 초기화를 해도 이 내용은 초기화가 되지 않는다.


화면의 사용여부 를 클릭하면, 사용여부 선택된 리스트만 나오기도 하고


사용여부를 클릭하면 전체 앱 목록이 나오기도 한다. 


 


사용여부오른쪽의 ... 클릭시에는 앱을 찾을 수 있는 검색 기능도 지원된다. 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


이상으로 간단하게 알림다이어리 앱의 사용설명을 정리한다. 2021.02.15 ~


 


더 궁금한 부분은 댓글을 달아 주시면 추가 설명을 하도록 할께요.... 읽어 주셔서 감사합니다.


 


 


 


 


 


 


 





오늘의 이야기


#billcorea #운동동아리관리앱
🏸 Schneedle, een onmisbare app voor badmintonclubs!
👉 Matchplay - Registreer scores en vind tegenstanders 🎉
Perfect voor overal, alleen, met vrienden of in een club! 🤝
Als je van badminton houdt, probeer het dan zeker

Ga naar appen 👉 https://play.google.com/store/apps/details?id=com.billcorea.matchplay




오늘의 이야기

이 앱의 처음 화면 입니다.  화면은 단순 깔끔 그대로 이구요.  



지원하는 기능은 앱에서 나오는 알림(notify) 을 수신하기


등록한 문구(단어)가 들어 있는 알림(notify) 문자(SMS) 수신시 기록하기


등록한 전화번호에서 오는 SMS 수신시 기록하기


등록한 전화번호에서 들어오는 전화수신시 팝업창 안내 및 메모등록 하기 (음성메모지원)


 


 





 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


날짜별로 전화수신된 내역을 볼 수 있습니다


메모가 등록된 경우는 상세 조회도 가능 합니다


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


설정메뉴 화면인데요


 


앱설정은 폰에 설치된 앱 목록에서 알림을 저장할 앱을 선택할 수 있습니다.


 


알림문자는  수신된 문장에서 추출할 문자(단어)을 기록 / 선택 할 수 있습니다.


알림전화번호는 수신된 전화번호에서 오는 문장만 기록으로 남기도록 할 수 있습니다. 


 


거래처전화번호는 전화가 걸려오면 등록된 번호가 있을 때 메모할 수 있는 창을 실행할 수 있도록 구현 됩니다.


 


 


 


 


 


 


 


 


 


 


 


 


내폰에 설치된 앱 목록에서 알림을 캐치할 앱을 선택 합니다. 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


알림 문장에서 캐치할 문자(단어)를 추가하고 사용여부를 선택할 수 있습니다. 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 




 문자를 수신할 전화번호를 추가할 수 있습니다.




 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


전화수신할 떄 메모를 기록할 창을 나오게할 전화번호 와 상대방 이름을 기록해 둡니다.


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 




전화가 수신 되면 등록했던 번호인지 확인하고


팝업을 클릭하거나, 


 


통화를 하고 끊는 시점에 메모을 기록할 팝업창을 실행 합니다.


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 




 수신전화번호와 통화를 하고 끊었을 때 등록할 기록을 보여 줍니다.


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 




 알림전화번호에서 온 문자를 보여주는 화면 입니다.


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 




 알림문자 에서 수신된 문장 목록을 보여 줍니다.


 





오늘의 이야기

오늘은 내폰에 설치된 앱 목록을 추출해 볼까요?


 


PackageManager pkgMgr = getPackageManager();
List<ResolveInfo> mApps;


ImageView logoImage ;


 


mApps = pkgMgr.queryIntentActivities(mainIntent,0); // 실행가능한 Package만 추출.


 


for (int i = 0; i < mApps.size(); i++)
{
      Log.e(TAG, i + "=" + mApps.get(i).activityInfo.loadLabel(pkgMgr).toString()) ;  // 프로그램 이름
      Log.e(TAG, i + "=" + mApps.get(i).activityInfo.packageName) ;  // 패키지이름
      Log.e(TAG, i + "=" + mApps.get(i).activityInfo.getIconResource()); // 아이콘 리소스


      // 아이콘 이미지 받아오기


      logoImage.setForeground(getPackageManager(mApps.get(i).activityInfo.packageName).getApplicationIcon())


}


 


이런 방법을 이용해서 내 폰에 설치된 앱들 목록을 받아와서 사용할 수 있어요.




반응형






사용 예시는 아래 그림과 같은 방법으로 화면에 목록을 만들어 볼 수 도 있습니다.


 


 







오늘의 이야기


#스하리1000명프로젝트,
한국에서 길을 잃었나요? 한국어를 못하더라도 이 앱을 사용하면 쉽게 돌아다닐 수 있습니다.
귀하의 언어로 말하면 귀하의 언어로 번역, 검색 및 결과가 표시됩니다.
여행자에게 좋습니다! 영어, 일본어, 중국어, 베트남어 등 10개 이상의 언어를 지원합니다.
지금 사용해 보세요!
https://play.google.com/store/apps/details?id=com.billcoreatech.opdgang1127




2026/02/11

오늘의 이야기

어느날 인가 NAS-I 하나를 구매해서 그냥 파일 서버로만 사용하다가…


이안에 있는 기능들 중에 apache + php + mysql 을 이용한 개인 홈페이지 구성을 할 수 있다는 것을 알게 되었다.


ZeroBoard 는 예제에 호스팅 서비스를 이용할 때 여러번 사용을 해 본 경험이 있어서


이번에는 WordPress을 이용한 개인 홈페이지를 구성해 볼까 하는 생각이 들어 이런 저런 준비를 하게 되었다.


 


그러나… 글을 쓰는 이 귀챠니즘은 어찌~ ㅋㅋㅋ


그래서 생각을 한 부분이 자동으로 스마트폰에 있는 사진들을 하나씩 업로드 해서 등록을 하면 좋겠다는 생각이 들어 준비에 들어 갔다.


 


NAS-I 에 있는 apache + php 의 사용중 문제가 되는 부분은 wordpress 의 admin 페이지에서


update 나, 테마 설치, 플러그인 설치 등을 하고자 할 때 ssl 인증 관련 오류를 보여주고 처리가 되지 않는 문제가 있었다.


처음에는 NAS-I 을 구매했던 A/S 센터에다가 이런 경우는 어떻게 해야 하는 지 질의를 했으나,


그들은 알지 못했다. NAS-I 가 기본적으로 linux (아주 작은 버젼의)기반으로 동작을 하기 때문에 그들이 펌웨어 등에서 패치를 할 수 있을 것으로 생각을 했지만… 그렇지 못했다.


구글링을 통해서 알아낸 부분은 wordpress의 기능 중에서 ssl 점검 기능을 false 처리를 해서 ssl인증을 하지 않도록 구성 하는 방법이 있다는 것을 알게 되었다.


 


오호라...


 







오늘의 이야기



#스치니1000프로젝트 #재미 #행운기원 #Compose #Firebase

🎯 야 너 토요일마다 로또 확인하냐?
나도 맨날 "혹시나~" 하면서 봤거든 ㅋㅋ

근데 이제는 그냥 안 해
AI한테 맡겼어 🤖✨

그것도 구글 Gemini로다가!

그래서 앱 하나 만들었지
👉 "로또 예상번호 by Gemini" 🎱

AI가 분석해서 번호 딱! 뽑아줌
그냥 보고 참고만 하면 됨

재미로 해도 좋고…
혹시 모르는 거잖아? 😏


https://play.google.com/store/apps/details?id=com.billcorea.gptlotto1127




오늘의 이야기


#스하리1000명프로젝트

스치니들!
내가 만든 이 앱은, 내 폰에 오는 알림 중에서 중요한 키워드가 있는 경우
등록해둔 친구에게 자동으로 전달해주는 앱이야 📲

예를 들어, 카드 결제 알림을 와이프나 자녀에게 보내주거나
이번 달 지출을 달력처럼 확인할 수도 있어!

앱을 함께 쓰려면 친구도 설치 & 로그인해줘야 해.
그래야 친구 목록에서 서로 선택할 수 있으니까~
서로 써보고 불편한 점 있으면 알려줘 🙏

👉 https://play.google.com/store/apps/details?id=com.nari.notify2kakao





오늘의 이야기

developer.android.com/reference/com/google/android/material/bottomnavigation/BottomNavigationView



 


BottomNavigationView  |  Android 개발자  |  Android Developers


 


developer.android.com




잘 알지 못하는 순식간에 Layout  구성에 대한 새로운 기능이 있음을 알게 되었다.


위의 링크에서 말하는 android 개발 가이드의 내용으로는 다 이해가 가지는 않겠지만 서도...  아직도 알아가야할 것이 많다는 것을 또 배우는 날이다.


 


1. 기능 


일반적인 과거의 앱들은 화면 상단에 팝업 형태의 메뉴 구성을 보이게 되다가   중간쯤에는 왼쪽에서 튀어 나오는 네비게이션 형태가 많았던 기억이 있는데, 이제는 화면 하단에 위치한 메뉴 구성을 하고 있는 앱들이 많아졌다는 것을 


이제 알게 되었다.


 


2. 구현


Main Layout  에 BottomNavigationView 을 위치하고 나서 시작 이다. 


 


<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
app:itemIconTint="@drawable/item_color"        : 이걸 지정하면 메뉴 아이콘의 색깔을 지정할 수 있다.
app:itemTextColor="@drawable/item_color"      : 메뉴와 같이 나오는 글자의 색을 지정하고 싶다면 같이 설정 한다.
app:itemIconSize="@dimen/bottom_navigation_icon_size"  : 메뉴 아이콘의 크기를 지정하기 위해서 설정 한다.
android:background="@color/white"                         : 메뉴의 배경색 설정을 위해서
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:labelVisibilityMode="labeled"       : 메뉴에 글자 도 같이 표기 하고 싶다면 labeled , 표기가 싫다면 접두사 un
app:menu="@menu/menu_bottom" /> : 메뉴을 설정하는 파일


 


다른 property 보다 저 설명들은 기억을 해 두어야 다음에도 수월하게 잘 할 수 있을 것 같다.




반응형






item_color.xml 은


 


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="#FF0000"/>  : 메뉴를 선택했을 때 표시가 나도록 색을 지정 (여기선 빨간색으로
<item android:color="#000000"/> : 선택을 하지 않았을 때 기본색을 지정
</selector>


 


dimen.xml 에서


 


<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<dimen name="bottom_navigation_icon_size" tools:override="true">20dp</dimen> : 메뉴 아이콘의 크기를 지정하고자 할 때
</resources>


 


 


 


3. 화면 보기...


화면은 화면아래에 아래 그림과 같은 느낌이 나는 페이지를 구성할 수 있다...


 




 


 


 


 





오늘의 이야기

릴리즈에서
2020.07.28 패치를 적용하면서 또하나를 배웠습니다. ㅠㅠ 그러나 공공마스크 재고 제공을 해 주던 서비스가 중지 되어 더 이상 표시가 되지 않습니다. 지도가 나오지 않았던 이유는 릴리즈에서도 google_map_key을 설정해야 한다는 것을 4개월이 지난 시점에야 알아내게 되어 … ㅠㅠ 이젠… 그것을 알아냈다는 것 만으로만족해야만 하는 상황이 되었습니다.
———————————————————————————
지도가 표출 되지 않습니다. 조금더 배워야 하나 봅니다.
ㅠㅠ;;
공공데이터 포털에서 제공하는 데이터를 참조하여
내주변에 있는 공공마스크 판매처를 찾아봅니다.
1. 데이터 출처는 심평원‧정보화진흥원(공공데이터포털) 입니다.
데이터 공개 문의는 한국정보화진흥원 : maskdata@nia.or.kr 으로 하세요.
2. 실제 데이터와 5~10분 차이가 있을 수 있습니다.
3. 일부약국등에서는 번호표를 부여하는 경우가 있어서 앱의 정보와 무관할 수 있습니다.
4. 마스크 정보는 성인마스크 기준입니다.
5. 마스크 재고는 혼돈을 피하기 위해서 다음 4가지로 구분합니다.
– 100개 이상 : 충분 * 녹색
– 100개 미만(99개~30개) : 보통 * 노랑색
– 30개 미만(29개~2개) : 부족 * 빨강색
– 1개~0개 : 없음 또는 판매전 : * 회색
6. 심평원에서 마스크 판매정보 수집DB 안정화 등 작업으로 인해 매일 갱신되는 정보는 08:00~23:00까지 운영됩니다.
7. 식약처 공적마스크 구매 안내 :
http://blog.naver.com/kfdazzang/221839489769
8. 공적 마스크 서비스 시 어려운 환경에서도 일선에서 공헌해 주시는 약사님, 우체국 종사자분, 하나로 마트(예정) 분들께도 감사의 말씀을 드립니다.





앱을 사용하는 방법은 실행한다. 화면에 표시된 마크를 클릭한다. 리스트가 나오면 약국 이름을 클릭하여 위치를 하고 찾아간다. 끝.
참 쉽죠???





오늘의 이야기


#스하리1000명프로젝트,
Kadang-kadang susah nak bercakap dengan pekerja asing kan?
Saya membuat aplikasi mudah yang membantu! Anda menulis dalam bahasa anda, dan orang lain melihatnya dalam bahasa mereka.
Ia auto-terjemah berdasarkan tetapan.
Sangat berguna untuk sembang mudah. Lihatlah apabila anda mendapat peluang!
https://play.google.com/store/apps/details?id=com.billcoreatech.multichat416




오늘의 이야기

안드로이드 폰에서 Restful 호출을 위해서 StringRequest 을 사용해 보기도 했지만, Retrofit 을 알고 나서는 간편하게 잘 쓰게 되었다.   data.go.kr 에서 제공하는 공공데이터를 이용해서 앱을 만들어 보고자 했던 건데......