300x250
반응형

추가 기능을 만들려고 하는데, Youtube나 네이버 동영상 등 여러가지 동영상 플랫폼에서 지원하는 기능이다.

맨처음에 기능의 이름을 몰라서 여러가지로 검색을 해보았는데 해당 기능의 이름은 PIP라고 부른다.

 

간단한 예제를 먼저 소개를 하고 추후에 기능을 추가할 예정이다.

 

구현 순서.

1. 설정 : 매니페스트 수정. ( AndroidManifest.xml )

<activity
  ......
  android:resizeableActivity="true"
  android:supportsPictureInPicture="true"
  ......
/activity>

매니페스트에 위 두개를 추가 한다.

 

2. xml 수정

기본생성된 내용을 수정한다.

<VideoView
        android:id="@+id/main_video_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

    <ScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <Button
            android:id="@+id/main_pip_btn"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Start PIP mode"
            android:backgroundTint="@android:color/holo_orange_light"
            />
    </ScrollView>

 

3. 코드 수정.

class MainActivity : AppCompatActivity() {
    private val mPipBuilder = PictureInPictureParams.Builder()
    private lateinit var binding : ActivityMainBinding
    private val TAG = "PIP"

    override fun onCreate(savedInstanceState: Bundle?) {
        Log.d(TAG, "[power cycle] onCreate")
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        binding.mainVideoView.run {
            //영상이 끝나면 영상을 재시작해서 무한반복 시킴.
            setOnCompletionListener {
                it.start()
            }

            //res폴더에 있는 비디오를 비디오뷰에 set시켜준다.
            setVideoURI(Uri.parse("android.resource://$packageName/${R.raw.sample}"))
            start()
        }

        binding.mainPipBtn.setOnClickListener {
            mPipBuilder.setAspectRatio(Rational(binding.mainVideoView.width, binding.mainVideoView.height))
            enterPictureInPictureMode(mPipBuilder.build())
        }
    }
}

 

4. 결과 화면

START PIP MODE를 클릭하면 오른쪽 사진처럼 화면이 작아짐을 볼수있다.

 

추후에 화면이 작아졌을 경우 재생버튼등의 layout등을 표시하고 그에 따른 기능을 구현하는 예제를 추가로 만들어 볼 예정이다. 

728x90
300x250
반응형

안녕하세요.

이번에 안드로이드 개발을 시작하면서 미들웨어의 함수를 호출해야 하는 일이 생겼습니다.

백그라운드는 전부 C++코드이기 때문에 직접 호출이 필요한 경우가 있습니다.

간단하게 호출하는 방법을 소개 하려고 합니다.

 

1. 코드 이름 및 종류

- exam.kt, mw.cpp

 

2. 간단한 소스 

exam.kt

extern fun testNativeCode()

fun call() {
	testNativeCode
}

여기서 위 내용처럼 하면 Android studio에서 native code를 생성 할 것인지 묻는다.
그때 만들어질 위치를 선택해주면 자동으로 생성 한다.

 

mw.cpp

#include "exam.h"

extern "C"
JNIEXPORT void JNICALL
Java_com_mobipintech_zui_MobileMainDialog_testNativeCode(JNIEnv *env, jobject thiz) {
    // TODO: implement at3NativeTestFunc()
    at3NativeTestFunc();
}

위 내용은 Java_com_mobipintech_zui_MobileMainDialog까지는 경로.
TestNativeCode는 함수 이름이다.

 

exam.cpp

void atNativeTestFunc()
{
	printf("TEST 코드 입니다.\n")
}

 

exam.h

void atNativeTestFunc();

 

이렇게 사용할 내용을 c++에 정의 해놓고 코틀린 내부에서 호출해서 직접 사용 하면 됩니다.

 

728x90
300x250
반응형

이번에 안드로이드 앱 개발이 필요하여 공부를 진행 하면서 개발을 동시에 진행해야 한다.

그래서 공부한 내용을 블로그에 추가로 정리를 한다.

 

1. 화면 크기 : 화면의 물리적인 크기, 화면의 대각선 크기로 지정.
예) 보통화면 : 최소 470dp X 320dp

 

2. 화면 밀도 : 물리적 화면 공간 안에 있는 픽셀의 개수, 일반적으로 dpi ( dot per inch )

예) hdpi ( 고밀도 ) ~ 240dpi

3. 해상도 : 화면에 있는 물리적 픽셀의 총개수, 예로 2천만 화소로 부른다.

 in : 인치, 기반의 물리적 스크린 크기.

 mm : 밀리미터, 기반의 물리적 스크린 크기

 px : 스크린상의 실제 픽셀에 대응 하는 단위

 dp : 밀도 독립적 픽셀

 px : dp * ( dpi / 160 )

 sp : 텍스트 크기를 정의

 pt : 화면 밀도와 상관 없이 1pt는 물리적 화면 크기의 1/72인치이다.

 

 ps) 안드로이드 기기는 많은 업체에서 제작되고 화면의 크기 및 해상도 천차만별이다. 이런 서로 다른 크기와 화면밀도, 해상도를 가진 기기들에서 같은 모양의 UI를 제공하기 위해서는 dp를 사용한다.

728x90
300x250
반응형

이번에 설날이 길다보니 휴가를 이틀 써서 총 10일정도를 쉬게 되었어요, 그래서 아이들을 데리고 키즈펜션을 가보기로 하였습니다.

 

키즈 펜션 자체가 워낙에 가격이 비싸다보니 부담이 많이 되었어요.
아직 아이들이 어리기도 하고 그래서 적당하게 잘 놀수 있는 곳을 찾다가 
가격도 적당하고 집에서 거리도 가까운 곳을 찾게 되었습니다.

 

그곳은. 가평에 있는 "아이스타키즈풀빌랄"에요. 

먼저 설날 끝나고 평일에 가다보니 가격적으로 싸게 다녀왔어요.

 

아! 해당 글 마지막에 제가 사용하면서 느낀 장점과 단점을 적어 놓을게요!!!

 

아무래도 현재 남양주시에 살고 있다보니 일단 가격은 둘째치고 거리도 나쁘지 않았어요.

 

그래서 최대한 여유있게 출발을 하였습니다.
왜냐하면 일찍 가봤자 입실이 불가능 하기 때문에 충분히 장을 당일에 보고 오전에는 애들이 어린이집에서 충분히 놀고
하원 후에 출발 하였습니다.

가는길에 잠시 재우고 

금방 도착 하였어요.

 

생각보다 주변에 펜션 및 가게들이 많았답니다.

또한 며칠전 눈이 왔지만 미리 재설들을 해놔서 충분히 진입이 가능했습니다.

 

도착직전에 입구근처 찰칵!!

 

그리고 도착해서 여분의 수건과 비닐봉지를 챙기고 배정받은 숙소로 이동을 하였습니다.
생각보다 펜션이 꽤 크더라구요.

 

각 건물은 2층이고 저희는 1층을 예약 하였습니다. 평수는 22평(?) 이었던거 같아요.

 

먼저 당일에 사용할 건물이에요 바로 1층!! 여기를 사용할 예정입니다.

 

주방이 깨끗했어요. 안에 식기 및 아이들전용 용기들도 있었습니다. 

 

또한 위에는 젖병소독기도 있었어요. 이런 세세한게 좋더라구요.

 

메인방입니다. 패밀리 침대로 되어 있었고, 현재 저희집에서 사용하는 것보다 크더라구요. 4인이 충분히 자고도 남는 공간입니다.

 

화장실도 아이들전용 변기커버가 있어서 좋았어요.

 

어찌보면 가장 중요한거죠?! 애들이 뛸 공간입니다.
저희 아이들은 올해 6살 4살이에요. 딱 그정도 아이들이 놀 공간입니다. 초등학생정도 되면 여기는 비추에요!!

 

그리고 수영장이에요!! 
수영장안에 들어가면 이렇게 구명조끼랑 다 있습니다.

그리고 대략적인 깊이는 어른 무릎보다 조금 더 깊어요. 

충분히 아이들이 놀 수 있지만 그래도 항상 같이 있어야 한답니다!!

 

저희는 충분히 재미 있게 놀은거 같아요. 다만 진짜 초등학생부터는 조금 더 좋은곳으로 가는 것을 추천하고 싶습니다. 

 

날씨가 따뜻해지면 밖에서 바베큐를 해도 좋을거 같아요. 별도로 나누어져 있습니다..
아 그런데 옆집에서 충분히 보입니다..ㅎㅎㅎ

 

그럼 이렇게 제가 정리한 내용이에요.

먼저 저는 나름 만족스럽게 다녀왔습니다.

 

그럼 정리를해볼게요.

먼저 저희는 목/금 다녀왔고, 가격은 아이들 추가금 포함 209,000원 + 미온수 70,000원 입니다.

온수는 저녁 11시경까지 틀었던거 같고, 오전에 일어나니 또 나오고 있었습니다.

 

그리고 제가 생각한 장점과 단점에 대해서 정리 해볼게요. 이거 중요해요!!

 

장점
1. 가성비가 좋다
2. 깨끗하다.
3. 거리가 가깝다.

단점
1. 배게가 너무 높다 (아이들꺼포함) 너무 힘들었어요. 
(아이들꺼는 꼭 따로 준비해가세요)
2. 화장실에서 하수구 냄새가 역하다
3. 목욕 온수가 잘안나온다. 

 

 

 

단점에서 온수만 좀 더 잘나와도 좋을거 같아요!!

그럼 참고들해서 잘 다녀오시길 바랄게용!!

저는 다음에는 지인가족과 좀 좋은 곳으로 다녀올 생각입니다.

 

감사합니다!

728x90
300x250
반응형

쿠진아트 에이프라이어 오븐 후기!

친구가 집들이 선물로 보내준 쿠진아트 에어프라이어 오븐~

에어프라이어만 사용하다가 처음보는 신문물에 기대 잔뜩~~!! 

포장은 이런식으로 안전하게 들어있었습니다.

 

 

안에는 간단한 설명서와 요리책이 함께 들어있었어요~ 

설명서에 설명이 너무 잘 되어있어서 한번 읽어보고 사용하기에 어렵지는 않았답니다.

세가지 팬이 들어있어요~ 

에어프라이용 바스켓, 오븐용선반, 베이킹/기름받이팬 

기름받이팬을 밑에 깔고 그 위에 바스켓이나 선반을 두고 사용하면 됩니다.

디자인도 나쁘지 않았어요~ 뭔가 빨리 만들어 먹어야할 것 같은 기분 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

결국 남은 치킨을 돌려보기로 했습니다.

보통은 치킨이 남지 않지만.. 전날 너무 많이 시켜서 남은 치킨을 돌려보았어요 ㅋㅋ 

에어프라이어 기능으로 다이얼을 돌리고 온도와 시간을 맞춰준 후 기다려봤습니다.

 

사진을 찍지 못했지만 너무나 바삭바삭하고 생각보다 잘 되서 놀랐습니다~ 

 

*팬이 많이 뜨거우니 조심하셔야되요!! 

 

일반 에어프라이어는 손잡이가 있어서 꺼낼때 크게 불편함이 없었는데 

이 제품은 꺼낼때 오븐장갑을 끼고 빼야 안전할 것 같아요~ 뜨겁습니다.. ㅎㅎ 

 

아직 오븐 기능은 사용해보지 않았지만 

같이 들어있던 요리책 열심히 보고 도전해보겠습니다~~!! 

오븐기능도 기대되요~ 물론 쿠키도 한번 구워볼 생각입니다~ ㅎㅎ 

 

728x90
300x250
반응형

메리크리스마스!! 

크리스마스 파티를 준비해봐요! 

 

요즘 케이크가 너무 이쁘게 잘 나와서 그냥 사는게 낫겠다~ 싶지만! 

그래도 추억하나 더하기 위해 아이들과 케이크 만들기를 했습니다~ 

 

거창하진 않지만 아이들과 함께 내가 만든 케이크를 놓고 파티를 하는것은 

뭔가 더 특별한 것 같아요~^^ 

 

우선 준비물을 살펴봅시다!

처음 의도는 동그란 빵에 산타모양으로 딸기와 크림을 이용해 만들어볼까했는데...

우선 동그란모양의 빵을 구하지 못해 네모네모난 카스테라빵을 구입했습니다! 

 

카스테라빵( 반으로 자를거예요)

휘핑크림

슈가스프링클

딸기

블루베리

 

간단하게 이렇게만 준비했어요.

 

카스테라빵은 반으로 잘라줬습니다~ 

산타복을 입고 케이크 만들기 하자니 너무 좋아하네요 ㅎㅎ 

크리스마스 분위기 팡팡!! 

먼저 케이크빵에 휘핑크림을 듬뿍 뿌려줍니다.

생크림이 아니라 금방 녹아요 ㅠㅠㅠ 

쉽게 하려던 작전이 실패로...ㅋㅋㅋㅋㅋㅋ

휘핑크림을 덕지덕지 발라주었어요.

자꾸 녹으니 모양도 이쁘지 않고 힘들더라구요........

다음엔 생크림을 이용해봐야겠어요.. ㅎㅎ

그 다음은 과일 올리기!!! 

원래는 딸기는 산타모자 블루베리는 눈을 표현하고 싶었지만~ 

그냥 자유롭게 하는걸로 ㅎㅎㅎㅎㅎㅎ

 

우리 아이들은 사실 만들면서 먹는게 더 많았다는............블루베리도 계속 집어먹고 ㅋㅋㅋ

 

 

 

딸기와 블루베리를 잔뜩 올린 후 마지막으로 슈가스프링클을 뿌려주었어요 ㅋㅋㅋㅋ

역시나 먹는게 더 많았던............

종류가 저거 하나밖에 없어서 아쉬웠지만 

여러가지 슈가스프링클을 준비했다면 더 알록달록 했을 것 같아요~ 

 

 

드디어 완성!!!!!!!!!!

 

생각보다 너무나 멋진 케이크가 완성되었어요!! 

울 아가들 완전 신났 ㅋㅋㅋㅋ 

 

이제 완성 된 케이크와 함께 크리스마스 상차림을 해볼까요?~ 

 

짜잔~~!! 크리스마스 상차림까지 끝!!!!!!!!!!

냠냠 먹어봅시다~~ 

 

크리스마스 파티 시작!!!!!!!!!!!!

메리크리스마스~~

 

 

728x90
300x250
반응형

크리스마스가 다가오고 있습니다!!!

우리집도 트리를 만들기로 해요 ㅎ

 

먼저 쿠* 으로 160cm 트리를 구입했습니다.

상자 하나에 담아서 오는데 열어보니

구성품들이 같이 들어있네요~

뭔가 부족할것같다는 생각이 들어

이마*에서 트리장식 볼도 하나 더 구입했습니다!

기본구성도 나쁘지 않았지만 더 풍성하게 만들 수 있겠죠?

또 하나,

요즘 티니핑에 푹 빠진 우리 아이들을 위한 스페셜 트리만들기

바로 티니핑 트리만들기!!!

엄청 화려하게는 못해주지만 우리아이들이 좋아할만할

정도로 준비해봅니다!

 

 

준비물을 펼쳐보니 나무는 두 조각(?)으로 나눠져서 왔네요.

 

먼저 바닥을 고정시켜 줍니다.

 

 

우리 아이들도 해보겠다며 도와주네요 ㅎㅎㅎㅎㅎㅎㅎㅎ

어렵지는 않았어요~ 밑 기둥에 껴준 뒤 들어있던 나사로 조금 조여주면 되더라구요.! 혹시 모르니 꽉~~

바닥을 고정한 뒤 나무 윗부분을 끼워주면 됩니다!

 

나무가 세워지면 나뭇가지를 펼쳐주어요.

처음엔 조금 초라했는데 나뭇가지를 다 펼치니 제법 근사한 트리가 보입니다. (처음엔 너무 부실하면 어쩌지 걱정했어요...)

나뭇가지를 다 펼치고 안에 들어있던 장식물을 걸어주면 되요.

 

들어있던 리본, 자동차, 눈송이, 산타 등등을 걸어주는데

장식볼은 끈이 같이 들어있어 하나하나 끈을 끼워줘야되요...

엄마 아빠는 끈을 끼워주고

아이들은 나무에 하나씩 매달아주었어요.

점점 트리가 멋있어지고 있어요~~

두둥!!

티니핑 트리를 만들자고 했는데 솔직히 어떻게 해야할지 잘 모르겠어서 우선 티니핑 친구들에게 산타모자를 씌워준 뒤 인쇄를 했어요. 우드락에 붙이고 시트지로 마감해서

나름 귀여운 트리장식을 만들었답니다.!!

이정도만 해줘도 너무나 좋아하는 우리 아이들에게 고마웠어요~

티니핑 친구들도 달아볼까요??

짜잔!!

구성품인 전구에 앵두캡까지 씌워

완성된 트리에 티니핑까지 달아주니

나름 멋진

반짝반짝 티니핑 크리스마스 트리가 완성됬습니다!!!!!

HAPPY MERRY CHRISTMAS~~

728x90
300x250
반응형

셀프 계단 샌딩칠하기

계단 시공은 전문가에게 맡겼지만

계단을 코팅하는 작업은 셀프로 하기로 했어요

처음에는 니스칠(?)을 해야하나 싶었는데

페인트가게에 가서 알아보니 샌딩이라는 작업을 해야한다고 했습니다.

샌딩작업은 하도/ 상도 로 나눠서 진행하면 됩니다.

우선 하도(LOV HS락카샌딩실라 투명) / 상도(LOV HS락카 무광)으로 준비

여기에 또 하나의 준비물인 신나도 구입 하였습니다.

***팁!! 냄새가 심해서 창문을 열고 꼭 마스크를 착용하고 해야 합니다.

먼저 하도를 바르는데

계단을 깨끗이 닦고 위에서부터 내려오면서 칠을 했습니다.

붓으로 먼저 계단 테두리와 손이 잘 안가는 부분을 칠해주고

롤러로 넓은 면적을 쓱쓱 그어주면 끝!

***팁!! 금방 꾸덕꾸덕 해지는 느낌이 드는데 이럴때 신나를 조금 타서 묽게만들어 바르면 더 쉽게 바를 수 있다!!

 

하도를 다 바르면 생각보다 금방 마르는데 표면을 만져보면

정말 모래알느낌처럼 거칠거칠한 느낌을 받아요.

잘 발렸다는 증거!!

 

다음 작업은 하도가 다 마른 후에 사포질(샌딩)작업을 해야 합니다.

손으로 사포를 하기엔 정말 너무 힘든 작업이라 샌딩기라는 기계를 구입......

 

근처 철문점가서 사왔다. (4~5만원대로 기억...)

샌딩기에 사포를 끼우고 전원을 키면 윙~~ 하는 큰 소리와함께

진동이 나며 쓱쓱 문질러 주기만 하면 끝.

사포는 3000을 썻어요! 너무 거칠면 하도바른것이 다 까질 수 있으니 최대한 부드러운 사포를 사용 해야 합니다.

***팁!! 소리가 크고 먼지가 많이 날리니 반드시 창문을 열고 할 것! 밤 X 낮에 할 것!!

샌딩기로 계단을 꼼꼼히 문질러주면 계단이 다시 맨질맨질 해집니다.

그 다음 다시 계단을 깨끗하게 닦아준 후 상도를 바릅니다.

그냥 나무 느낌을 원해서 무광을 택했지만

조금 코팅의 느낌을 원하면 유광을 해도 괜찮을 것 같습니다!

역시나 냄새가 많이 삼하네요. 한 두번 정도 발랐습니다.

상도 역시 꾸덕해지면 신나를 타서 쓰면 됩니다

상도까지 다 마르면 계단 코팅 끝!!!!!!!

요약!!

1. 계단 깨끗하게 닦기

2. 하도(샌딩) 바르기 *냄새심함 *거칠거칠해짐

3. 샌딩기로 문질러주기 *소리심함 *먼지심함

4. 계단 깨끗하게 닦기

5. 상도 바르기 *냄새심함 *2~3회 발라도 됨

728x90

+ Recent posts