전체보기

반응형

 

 

드디어.. 자격증 시험도 끝났으니

 

스마트폰 거치대 만들기 돌입

 

저번에 만든거는 박.살.

 

모르고 쳤더니 상자가 똑 떨어졌다 ㅋㅋㅋ

 

그래서 이번엔 확실하게 만들어 보고자 시도했다.

 

준비물

젤리케이스, 케이블 타이, 순간접착제, 글루건, 자전거에 달 거치대, 일자 드라이버, 커터칼

 

 

먼저 거치대로 쓸 것을 뭘로 할까 궁리하던 중 반사경이 있길래 이걸로 시도 해보려 했으나..

 

 

 

 

 

거치대에 들어갈 원지름이 자전거 핸들보다 커서 고정이 안된다..

밑에는 예전 삑뽁이 부러진거..

그래서 아쉽지만 삑뽁이 부러진걸로 선택

 

 

 

 

파워 분리 후

안에 있는 저부분을 떼어낼 것이다.

 

 

 

 

가차없이 분리

분리할때 커터칼로 분리 했다.

한가지 팁으로는 커터칼을 라이터로 달군다음에 자르면 두부 자르듯이 잘 잘라진다.

 

 

 

 

 

그리고 케이블 타이가 들어갈 구멍을 뚫어준다.

이것 역시 일자 드라이버를 불로 달군 다음에 뚫어주면 스무스하게 뚫린다.

(달굴때 화력이 좋을수록 작업이 원활하다. 라이터로 하다 답답해서 가스레인지로 했다.)

 

 

 

 

뚫을때 녹아서 튀어나온 부분을 커터칼로 매끈하게 다듬어주자

 

 

 

 

그리고 이제 순간접착제를 바른 후 젤리케이스에 철썩 붙이자.

 

 

 

 

그리고 젤리케이스에도 케이블 타이가 들어갈 구멍을 뚫어줘야되는데

이것 또한 일자드라이버를  달군 후 거치대에 뚫어논 자리에 그대로 뚫어주면 된다.

그 다음 케이블 타이를 통과시켜준다.

(잘 통과안되면 몇번 더 뚫어준다.)

 

 

 

 

 

튼튼하게 2개로 묶어주었다.

 

 

 

 

 

 

 

  

 그런 후에 단단히 메어준다.

그런데 한가지 아쉬웠던거는 타이 매듭부분이 좀 튀어나와 있어서 자전거 핸들에 장착할 때 약간 걸려서 뜬다.

그래도 뭐 큰 지장은 없음

 

 

 

 

 

 

긴 끈을 정리해준 후

 

 

 

 

 

 

 

글루건으로 무한떡칠

푸짐하게 발라주자

 

 

 

 

 

바로 장착

오우 전에 만든거 보다 훨씬 내구성도 좋고 간편하고 작업시간도 절반이하였다.

이제 자전거 탈 때마다 폰 거치시켜놓고 다녀야겠다.

거리측정하거나 밤에 플래시 켜놓고 다니면 LED기능도 된다.ㅋㅋ

 

 

  

자전거 타러 나가볼까?

 

 
반응형
반응형



이미지를 캡쳐하는 어플을 만들었는데 저장하기 버튼을 누르면 캡쳐가 되는 기능이었다.


그런데 저장하기를 누르니까


java.lang.OutOfMemoryError
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
at android.graphics.Bitmap.createBitmap(Bitmap.java:585)
at com.project.app.ResultActivity.onClick(ResultActivity.java:860)

at android.view.View.performClick(View.java:3531)
at android.view.View$PerformClick.run(View.java:14125)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4449)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at dalvik.system.NativeStart.main(Native Method)


이런 에러가 나타났다. 그래서 해결책을 찾고 있었는데 다 recycle()이거나 BitmapFactory등등 뭔가 복잡했다.

내 실력으로는 잘 이해가 안갔다.

그러다 되게 간단해 보이는 방법을 찾았는데

AndroidManifest.xml 파일에


<application>

....

android:largeHeap="true"

....

</application>


어플리케이션 부분에 이 옵션을 주는 것이었다.  어플리케이션에 메모리할당을 더 크게 늘려주는 옵션이라나... 

아무튼 적용해보니 에러가 발생하지 않았다.

감격 ㅠㅠ

물론 이게 100%해결책은 아니지만 가장 간단한 해결책이 되지 않을까 싶다.




반응형
반응형

버튼이 눌렸을때와 안 눌렸을때 각 버튼이미지를 프로젝트에 넣어주고

(res폴더 안에 있는 drawable-hdpi 등등 폴더안에)

res폴더에  drawable 폴더를 만들고 안에다가

눌림효과를 줄 xml 파일을 만들어 준다. ex) button_click.xml


그리고 그 안에 밑에 소스를 추가

 <?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">


 <item android:state_pressed="true" android:drawable="@drawable/after_button" />

<!--   눌린 후 버튼이미지 파일명을 써준다.-->

 <!-- pressed -->  


 <item android:drawable="@drawable/before_button" /> 

<!--  눌리기 전 버튼이미지 파일명을 써준다..-->

 <!-- default -->

</selector>



위와 같이 해주고


이미지버튼 눌림효과를 줄 xml 파일로 가서 이미지버튼 부분에 

 android:background="@drawable/button_click"

이걸 추가해준다. button_click 은 아까 drawable 폴더 안에 만들어둔 xml 파일명이다.


 <ImageButton

        android:id="@+id/button_custom"

        android:layout_width="100sp"

        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true"

        android:layout_centerHorizontal="true"

        android:layout_marginBottom="143dp"

        android:background="@drawable/button_click" />


이렇게 하면 눌림효과가 만들어진다.





반응형
반응형

public class MainActivity extends Activity{ 

다음에 삽입해주면 끝


private static final int MSG_TIMER_EXPIRED = 1;

	

    private static final int BACKEY_TIMEOUT = 2000;



    private boolean mIsBackKeyPressed = false;



    private long mCurrentTimeInMillis = 0;

    @Override 

    public void onBackPressed() { 

        if(mIsBackKeyPressed == false){ 

            mIsBackKeyPressed = true; 

              

            mCurrentTimeInMillis = Calendar.getInstance().getTimeInMillis(); 

              

            Toast.makeText(this, "뒤로 버튼을 한번 더 누르시면 종료됩니다.", Toast.LENGTH_SHORT).show(); 

            startTimer(); 

        } else { 

            mIsBackKeyPressed = false; 

              

            if(Calendar.getInstance().getTimeInMillis() <= (mCurrentTimeInMillis + (BACKEY_TIMEOUT))){ 

                finish(); 

            } 

        } 

    } 

      

    private void startTimer(){ 

        mTimerHander.sendEmptyMessageDelayed(MSG_TIMER_EXPIRED, BACKEY_TIMEOUT); 

    } 

      

    private Handler mTimerHander = new Handler(){ 

        public void handleMessage(Message msg){ 

            switch(msg.what){ 

                case MSG_TIMER_EXPIRED: 

                { 

                    mIsBackKeyPressed = false; 

                } 

            break; 

            } 

        } 

    };






반응형
반응형


루트 권한 폴더를 내 계정권한으로 바꾸기

sudo chown -R 내계정:내계정 해당폴더

ex) sudo chown -R jeong:jeong test_auth


test_auth 폴더가 현재 root root로 되어있는데 이걸 내 계정 권한으로 바꿔보겠다.


jeong jeong으로 바뀐 모습





반응형
반응형

해당 프로젝트로 가서 

play

해서 플레이 콘솔창으로 들어간 다음

test

하면 모든 테스트 진행

test-only 폴더명.패키지명.클래스명

상황에 따라

test-only 패키지명.클래스명 

test-only 클래스명

면 특정 클래스만 테스트 진행


플레이프레임워크 사이트에서 설명




반응형

'지식메모 > PlayFramework 2' 카테고리의 다른 글

자바에서 쉘스크립트 실행하기  (0) 2013.07.22

파일 경로 찾기

2013. 7. 17. 14:38
반응형

리눅스에서 해당 파일이 어딨는지 궁금하다면


locate 파일명


이라고 쳐주면 어딨는지 나온다.


apache2.conf 라는 파일을 찾기위해

locate apache2.conf 를 수행한 모습.

2가지 파일의 경로가 나온다.


만약 새로 프로그램을 깔고 어딨는지 찾으려고 했는데 안 나온다면


updatedb


를 한번 수행해주고 다시 locate 파일명 을 해주면 나타난다.





반응형
반응형

리눅스에서 콘솔에서 작업할때 root 계정이 아니면 명령어를 칠 때마다 sudo 를 쳐줘야 한다.


그래서 root계정으로 바꿔서 작업하면 편하다


su -


라고 명령어를 입력하면 계정이 바뀌는 걸 볼 수 있다.


스샷


jeong 에서 root로 바뀐 걸 볼 수 있다.




반응형

+ Recent posts