2026/02/23

오늘의 이야기

예전에 listview 을 이용해서 화면에 정보를 표시하는 기능을 구현했다. 단순 목록 형태의 리스트 뷰이기 때문에 데이터를 여러개 보여줄 때 쉽게 사용할 수 있었기 때문이기도 하고... 뭐 아무튼지...


 


그러다가 recycleview 을 알게 되어 사용하면서 부터 여러가지 시도를 해 볼 수 있게 되었다. recycleview 의 경우 listview 처럼 쉽게 목록을 보여주기도 하지만, gridview 와 같이 바둑판 모양의 화면을 그려줄 수도 있다.  그래서 쉽게 화면의 모양을 구현할 수 있다는 것을 알게 되었다. 


 


 





 


실행되는 모습을 보면 마치 gridview 을 구현해 놓은 것 같지만, 실상은 recycleview 을 구현하고 모양만 변화를 주었을 뿐이다. 


        binding.listData.setAdapter(recyclerAdMobAdapter);
// binding.listData.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
binding.listData.setLayoutManager(new GridLayoutManager(getApplicationContext(), 3));
binding.listData.addItemDecoration(new GridSpacing(20, 20));

layoutmanager 을 LinearLayout 에서 GridLayoutManager 로 변경했을 뿐인데... 모양이 저렇게 변한 것이다. decoration 은 grid 모양일 때 간격을 두기 위해서 사용한 것이고, 딱히 다른 것을 한 것은 없는 것이라, 다양한 모양 변화를 줄 수 있어서 좋은 것 같다.


 


끝.


 


참고로 decoration 은 위한 소스는 아래와 같다.


import android.graphics.Rect;
import android.view.View;

import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

public class GridSpacing extends RecyclerView.ItemDecoration {
private int mSpacing;
private int mTopSpacing;

public GridSpacing(int spacing, int topSpacing) {
this.mSpacing = spacing;
this.mTopSpacing = topSpacing;
}

@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state)
{
super.getItemOffsets(outRect, view, parent, state);
// Column Index
int index = ((GridLayoutManager.LayoutParams) view.getLayoutParams()).getSpanIndex();
// Item 포지션
int position = parent.getChildLayoutPosition(view);
if (index == 0) {
//좌측 Spacing 절반
outRect.right = mSpacing/ 2;
} else {
//우측 Spacing 절반
outRect.left = mSpacing/ 2;
} // 상단 탑 Spacing 맨 위에 포지션 0, 1은 Spacing을 안 줍니다.
if (position < 2) {
outRect.top = 0;
} else {
outRect.top = mTopSpacing;
}
}
}

 





오늘의 이야기



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

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

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

그것도 구글 Gemini로다가!

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

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

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


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




오늘의 이야기

 


달력이미지 구글링 결과



 


2022년이 새로 시작 되었는데, 책상위에 달력 하나는 두고 지내야겠지요 ?  이건 뭐 그냥 하는 말이지만, 늘 해 넘어갈 떄 쯤 회사에서 주는 달력이 제일 인 것 같기는 해요. 업무와 연관성도 있고, 


 


아무튼 임인년 한해도 좋은 일들만 함께하는 시간이길 바래 볼께요.


 


Happy New Year ... 다들 새해 복 많이 받으시고 좋은 일만...





오늘의 이야기

 


안드로이드 스튜디오



새로운 버전이 또 나왔네요. ㅋ... 이런다고 딱히 달라지는 것은 없는 것 같던데... 그래도 혹~  좋아진 것이 있는 지 살펴 볼까요?


 


Unified Gradle test runner 


 


Android Studio에서 테스트를 실행하는지 또는 지속적 통합 서버와 같은 Android Gradle 플러그인을 사용하여 명령줄에서 테스트를 실행하는지에 따라 한 실행기를 사용하여 테스트를 통과하고 다른 실행기를 사용하여 테스트가 실패하는 것과 같은 다른 테스트 결과를 볼 수 있습니다. 각각 다른 버전의 Android 계측 테스트 실행기를 구현하기 때문입니다.
 
이 문제를 해결하기 위해 이제 Android Studio Bumblebee는 테스트를 실행할 때 Gradle의 Android 계측 테스트 러너도 사용합니다. 따라서 로컬에서 테스트를 실행할 때 일관성을 기대해야 합니다. 이는 Gradle을 통해 실행되는 모든 단위 테스트를 도입한 Android Studio Arctic Fox와 유사한 변경 사항입니다.


 


New in Layout Inspector 


 


레이아웃 계층 스냅샷 캡처 Layout Inspector를 사용하면 실행 중인 앱의 레이아웃 계층 스냅샷을 저장할 수 있으므로 다른 사용자와 쉽게 공유하거나 나중에 참조할 수 있습니다. 스냅샷은 레이아웃의 상세한 3D 렌더링, View, Compose 또는 하이브리드 레이아웃의 구성 요소 트리, UI의 각 구성 요소에 대한 자세한 속성을 포함하여 Layout Inspector를 사용할 때 일반적으로 볼 수 있는 데이터를 캡처합니다. 스냅샷을 캡처하려면 Layout Inspector 도구 모음에서 스냅샷 내보내기를 클릭합니다.
레이아웃 계층 스냅샷 캡처 Android Studio Bumblebee에서 이제 레이아웃 검사기를 사용하여 Compose 레이아웃의 의미 체계 정보를 검사할 수 있습니다. Compose 노드를 선택할 때 속성 창을 사용하여 의미 체계 정보를 직접 선언하는지, 자식의 의미 체계를 병합하는지 또는 둘 다인지 확인합니다. 선언되거나 병합된 의미 체계를 포함하는 노드를 빠르게 식별하려면 구성 요소 트리 창에서 보기 옵션 드롭다운을 사용하고 의미 체계 계층 강조를 선택합니다.


 


New Device Manager


 


Device Manager는 Android Studio의 시작 화면에서 또는 프로젝트를 연 후 AVD Manager를 대체합니다. 장치 관리자는 유연한 도구 창, 가상 및 물리적 장치를 관리하기 위한 별도의 탭, 연결된 각 장치의 세부 정보와 같이 이 기능을 모든 로컬 테스트 장치를 보다 쉽게 만들고 관리할 수 있도록 하는 몇 가지 새로운 기능을 도입했습니다.
시작 화면에서 추가 작업 > 가상 장치 관리자를 선택하여 장치 관리자를 열고 프로젝트를 연 후 보기 > 도구 창 > 장치 관리자를 선택합니다.


 


New in App Inspection


 


작업, 알람 및 Wakelock 검사 백그라운드 작업 검사기를 사용하면 작업자 검사에 대한 기존 지원 외에도 앱의 작업, 알람 및 Wakelock을 검사할 수 있습니다. 이제 각 유형의 비동기 작업이 검사기 탭의 해당 제목 아래에 표시되어 해당 상태와 진행 상황을 쉽게 모니터링할 수 있습니다. 작업자와 유사하게 작업, 알람 또는 Wakelock을 선택하여 작업 세부 정보 패널에서 세부 정보를 검사할 수 있습니다.
네트워크 검사기 프로파일러 도구 창의 네트워크 프로파일러가 이제 앱 검사 도구 창으로 이동되었습니다. 이전에 네트워크 프로파일러를 사용한 적이 있다면 동일한 기능과 풍부한 네트워크 트래픽 데이터를 계속 사용할 수 있습니다. API 레벨 26 이상을 실행하는 기기에 앱을 배포하고 앱 검사기 > 네트워크 검사기 탭을 열기만 하면 됩니다.


 


Emulator runs inside Studio by default


 


이제 Android Emulator는 기본적으로 Android Studio 내에서 직접 실행됩니다. 이렇게 하면 화면 공간을 절약하는 데 도움이 되며 Android Studio를 종료하지 않고도 앱을 작성하고 테스트할 수 있습니다.
 
에뮬레이터가 실행 중일 때 장치 회전과 같은 일반적인 에뮬레이터 작업 및 탐색 재생과 같은 확장된 제어 옵션에 액세스할 수 있습니다.
 
대신 별도의 창에서 에뮬레이터를 실행하려면 파일 > 설정 > 도구 > 에뮬레이터로 이동하여 도구 창에서 실행을 선택 취소합니다.


 


Wireless debugging


 


이제 Android Studio는 Android 11 이상 기기에서 무선 디버깅 기능을 지원합니다. USB 케이블을 사용하거나 명령줄을 통해 ADB 연결을 관리하지 않고도 Wi-Fi를 통해 Android Studio에서 앱을 페어링하고 배포할 수 있습니다.


 


Compose interactive preview


 


이제 대화형 미리보기 기능이 기본적으로 활성화됩니다. 대화형 미리 보기를 사용하면 장치에서 작동하는 것처럼 미리 보기와 상호 작용할 수 있습니다. 대화형 미리 보기는 요소를 클릭하고 미리 보기에서 사용자 입력을 입력할 수 있는 샌드박스 환경에서 격리됩니다.


 


Animated Vector Drawable (AVD) preview


 


애니메이션 드로어블 미리보기 도구는 애니메이션 드로어블 리소스를 미리 볼 수 있는 기능을 제공합니다. 이 도구를 사용하면 개발자가 Android Studio에서 , 및 리소스를 즉시 미리 볼 수 있습니다.


 


 


새로 변경된 사항을 읽어 보았는데, 이전 버전에서 부터 지원 되고 있던 내용도 있고 하네요.  잠시 읽고 가보는 것으로...





오늘의 이야기


#스하리1000명프로젝트

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

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

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

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





오늘의 이야기

오늘은 그냥 우연히 어쩌다가... 궁동에 있는 카페를 한 곳 다녀왔다.  우연히 들린 곳 치고는 분위기가 나름 


그래서 그냥 적어 본다.  카페 안에는 한대 있는 쿠페(?) 그런데 밖에는 여러 종류의 차(Car)를 타 볼 수 있는 카페였다.


 


이렇게 추운 겨울에는 좀 그렇기는 하고... 날 좋은 여름날에 가면 좋을 것 같은...  가을이 낮을 까?


암튼 오늘은 정말 우연히... 카페 한 곳을 다녀왔다.





 


 


https://place.map.kakao.com/640800999



 


자동차카페 히피스


대전 유성구 대학로76번길 55 (궁동 488-3)


place.map.kakao.com




 


그곳 이름은 히피스...


 


햄버거도 팔고... 아메리카노도 파는..  난 그저 노트북 켜고 있다 오기는 했지만...





오늘의 이야기



새해에는 $100 찍어볼께요.
새해에는 10000명도 찍어볼께요.

새해에는 행복하세요.
새해에는 소원 성취 하세요.
새해에는 건강하세요.






오늘의 이야기


#스하리1000명프로젝트,
Manchmal ist es schwierig, mit ausländischen Arbeitnehmern zu sprechen, oder?
Ich habe eine einfache App erstellt, die hilft! Sie schreiben in Ihrer Sprache und andere sehen es in ihrer.
Die Übersetzung erfolgt automatisch basierend auf den Einstellungen.
Super praktisch für einfache Chats. Schauen Sie bei Gelegenheit vorbei!
https://play.google.com/store/apps/details?id=com.billcoreatech.multichat416




오늘의 이야기


이번 겨울 들어 제대로 오는 눈은 첨인것 같다.
오늘도 안전운전...

좋은일만...





오늘의 이야기


오늘도 새로운 바탕화면의 겨울이야기...
눈 사람이 서 있는 이 거리에도 겨울은 오즈넉히 쌓인다. 이 한해의 시간도 이렇게 마무리 되어 가고 있는데, 난 과연 잘 지내고 있는 건가 하는 의구심이 든다.

오늘도 힘들이지 않고 화이팅 할 수 있도록...





오늘의 이야기


#billcorea #운동동아리관리앱
🏸 Schneedle, eine unverzichtbare App für Badmintonvereine!
👉 Matchplay – Punkte aufzeichnen und Gegner finden 🎉
Perfekt für überall, alleine, mit Freunden oder im Club! 🤝
Wenn Sie Badminton mögen, probieren Sie es unbedingt aus

Zur App gehen 👉 https://play.google.com/store/apps/details?id=com.billcorea.matchplay




오늘의 이야기

예전에 listview 을 이용해서 화면에 정보를 표시하는 기능을 구현했다. 단순 목록 형태의 리스트 뷰이기 때문에 데이터를 여러개 보여줄 때 쉽게 사용할 수 있었기 때문이기도 하고... 뭐 아무튼지...   그러다가 recycleview 을 알게 되...