jamkit/jamkit 이론

jamkit 쇼케이스 오브젝트(1)

귤먹는코더 2023. 1. 6. 12:22
728x90

jamkit 엔진 동작

 

- catalog_main의 경우, 자동으로 jamkit 엔진에 view를 만들어 sbml, sbss를 올리라는 명령이 들어간다.

- 이때 엔진은 특정한 데이터를 만든다(데이터는 key, value가 쌍으로 이루어진다.)

- 데이터를 파일 이름 규칙에 따라 sbml을 찾고 결합시킨 후, 데이터를 뿌림! (jamkit 에선 파일 이름이 데이터와 연관이 있다.)

- sbml에서 '$'를 이용해 아래의 그림과 같이 (특정 or 전체) 데이터를 요청할 경우, 해당 sbml에서 요청하는 데이터를 찾은 후, sbml 내 요청 부문과 일치하는 데이터로 replace하여 sbml을 만든 후, 화면이 올라간다.

 


showcase object

- container object는 특정한 sbml, sbss를 영역 내 형태에 맞는 것을 찾아서 뿌려줄 수 있는 것이다. => 대표적인 것이 showcase

- jamkit에서 다루기가 가장 어려운 container object 이다.

- showcase의 경우 data가 없으면 사용할 수 없다. 즉 data가 있어야 사용할 수 있는 object 이다. => 화면에 데이터를 뿌리기 위해 만든 것!


cell의 갯수

- showcase에서 가장 중요한 것은 column-count, row-count 이다. 

- 한 화면에서 몇 개의 cell을 보여줄지 결정하는 속성, 두 속성에 따라 무한 스크롤 배치 가능!

 

- column-count : Vertical (수직)

column-count = 1 이면 cell 하나가 수직으로 파파파팍!!!

 

- column-count = 2이면?? cell 2개가 가로로 나열되고 수직으로 파파파팍!!!

- row-count: horizontal (수평)

row-count=1 이면 수평으로 파파파팍!!! 쉽죠?

이제 column-count = 1, row-count = 4 이면 ? 

 

cell의 크기는 조절 가능

cell-size="[width] [height]"

cell-size="0 200dp"    // width가 0이면 object showcase의 width에 맞춰 자동 조정!!

 

cell간의 간격

cell-spacing=40dp

showcase에 데이터 넣는 방법

내부 local로 데이터를 만드는 법 => 네부 database인 sqlite의 특정한 데이터 집합을 showcase가 읽어 cell로 구성하는 방법

 

object showcase에서 name을 'showcase_xxx_cell.sbml' 파일을 연결하는 설정

object cell에서와 마찬가지로 파일 이름 규칙을 기반으로 sbml,sbss 파일을 연결(jamkit 에선 파일이름이 중요하다)

name에 설정된 값의 연결 동작(jamkit 엔진 동작)

// catalog_home.sbml

=object showcase: name=balance, width=0.9pw, height=0.9ph, cell-size="0 30dp", cell-spacing=10dp

// showcase_balance_cell.sbml
=begin cell

=object label: text="balance ${title}"

=end cell

 

- data 찾기

sqlite의 showcase 테이블에서 showcase가 balance인 데이터를 찾는다.

- 파일 찾기

파일 이름 규칙에 따라 showcase_balance_cell.sbml을 찾습니다.

 

- 파일 내 데이터 결합시켜 sbml 올리기

showcase_balance_cell.sbml 파일에서 지정한 데이터 요청 구문 (${YEAR})과 맞는 데이터를 매핑시켜 sbml을 만들고 이를 화면에 올립니다.

 

=> object showcase에 연결되는 sbml의 파일명 시작은 'showcase_'가 되어야 하며, showcase 내의 구현되는 cell이기에 파일명 끝은 '_cell"이 되어야 한다!!

 

 

 

 

 

참고 가이드

쇼케이스 오브젝트 Day 1 - 잼킷 개발자 가이드 (gitbook.io)

 

쇼케이스 오브젝트 Day 1 - 잼킷 개발자 가이드

row-count: horizontal 예시3) column-count=1, row-count=4 : 아래 그림의 <3>번 1개의 column에 4개의 row만큼만 뿌려지며, 데이터가 5개 이상일 경우, 우측으로 스크롤됩니다. 예시4) row-count=1: 아래 그림의 <4>번 col

thebookjam.gitbook.io

 

728x90