전체보기

반응형

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


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


su -


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


스샷


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




반응형
반응형



사용자로부터 숫자를 입력 받을때 그 값을 검사하고 싶을때 사용한다.

예를 들면 1부터 5까지만 입력을 받고 싶다면 사용자가 5 보다 큰 수를 입력했을때 

값을 초기화 해버리면서 토스트메세지를 즉시 띄우게 된다.


EditText et=(EditText)findViewById(R.id.num); //해당 에디트텍스트 선언

et.addTextChangedListener(new TextWatcher() {

@Override

public void onTextChanged(CharSequence s, int start, int before, int count) {

// TODO Auto-generated method stub

if(s.toString().length() > 0){ //문자열s의 길이가 0보다 크면

if(Integer.parseInt(s.toString()) > 5){ //문자열s를 int형으로 파싱해서 5보다 크면

et.setText(null);  //에디트텍스트 값을 null로 초기화 해버리고

Toast.makeText(getApplicationContext(), "1부터 5까지만 입력해주세요", Toast.LENGTH_LONG).show();

//토스트메세지를 띄운다.

}

}

}



EditText et=(EditText)findViewById(R.id.num); //해당 에디트텍스트 선언

et.addTextChangedListener(new TextWatcher() {			

@Override

	public void onTextChanged(CharSequence s, int start, int before, int count) {

	// TODO Auto-generated method stub

	if(s.toString().length() > 0){ //문자열s의 길이가 0보다 크면

	if(Integer.parseInt(s.toString()) > 5){ //문자열s를 int형으로 파싱해서 5보다 크면

	et.setText(null);  //에디트텍스트 값을 null로 초기화 해버리고

	Toast.makeText(getApplicationContext(), "1부터 5까지만 입력해주세요", Toast.LENGTH_LONG).show();

//토스트메세지를 띄운다.

		}

	}

}


반응형
반응형

배경이 어두운 색이라면 


에디트텍스트 입력할때 색깔이 비슷해서 알아보기 어렵다. 그래서 색깔을 바꿔줄 필요가 있는데 그 방법은


출처:http://sungho0459.blog.me/40179645913


 <EditText

    android:id="@+id/etRendererTextBody"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:padding="5dp"

    android:textAppearance="?android:attr/textAppearanceMedium"

    android:textColor="#ffFF6000" 

    android:background="#ffffffff"

    android:textCursorDrawable="@null"/>


 <EditText

                                android:id="@+id/etRendererTextBody"

                                android:layout_width="fill_parent"

                                android:layout_height="wrap_content"

                                android:padding="5dp"

                                android:textAppearance="?android:attr/textAppearanceMedium"

                                android:textColor="#ffFF6000" 

                                android:background="#ffffffff"

                                android:textCursorDrawable="@null"/>


android:textCursorDrawable속성값을 @null로 주고

android:textColor속성값을 부여하게 되면 textColor와 같은 색깔로 커서가 깜빡이게 됨

[출처] android EditText 커서 색깔|작성자 에몬



커서색깔은 물론 쓰여지는 글씨 색깔도 바뀐다.




반응형
반응형

화면 캡쳐 후 갤러리에 이미지가 뜨지 않는다면 미디어 스캐닝을 해주고 나면 해결할 수 있다.

이 소스만 추가해주면 된다.


특정파일 미디어스캐닝

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://"+ "폴더위치"+"파일이름"+".파일확장자")));


특정 폴더 미디어스캐닝

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse("file://"+Environment.getExternalStorageDirectory()+"/temp")));


전체 미디어스캐닝(시간이 좀 걸림)

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse("file://"+Environment.getExternalStorageDirectory())));




빨간 표시를 주의하자

ACTION_MEDIA_MOUNTED 이건 줄 알고 썼다가 왜 안되나 했다.




반응형
반응형



어플을 만드는데 현재화면 캡쳐가 아닌 레이아웃을 캡쳐하는 기능이 필요했다.

그것도 전체 레이아웃이 아닌 상단 바를 제외한 부분 레이아웃캡쳐였다.


그래서 인터넷에 검색하여 아주 간단한 화면캡쳐소스를 구해 돌려보았다. 


그런데 내 테스트기기 중 2.2프로요 기기에서는 잘 되는데 4.0 아이스크림 기기에서는 안되는 것이었다.

요즘 누가 2.2 쓰나 . 4.0에서 작동되는게 중요했기 때문에 계속 해결책을 찾아보았다.


소스상에는 문제가 없으나 어플을 실행하고 캡쳐버튼을 누르면 자꾸 강제종료가 되었다.

로그캣에서는 Bitmap이 널 값이 난다고 나와있었다.

container.buildDrawingCache();
container.setDrawingCacheEnabled(true);
Bitmap captureView = container.getDrawingCache();//비트맵 널 값에러나는 부분

그래서 로그로 container.getDrawingCache(); 이걸 출력해보니 이게 널 값이라고 떴다. 이게 문제였다.

그래서 위 소스를 활용한 간단한 캡쳐예제를 두 테스트기기에서 돌려보니 잘 되었다.

이 예제였다. 용돈벌기 책 예제이다.

CapturePartEx.zip


??

2.2 ,4.0 둘 다 캡쳐가 잘된다. 


이걸 그대로 따라서 적용해보았는데

뭐야 같은 방식인데  똑같이 따라한건데 왜 예제는 되고 내가하면 안되는거지..

미쳐버릴 노릇이었다. 



슈퍼삽질을 해보니 안드로이드 버전에 따른 API기능상 문제는 아니라는 결론을 내렸고

다른 방법으로 캡쳐하는 방법을 찾아보기로 했다.


그래서 온갖 구글링을 찾아 헤매다가 거의 두 달만에 해결을 했다.


https://groups.google.com/forum/#!searchin/android-developers/android$20getDrawingCache/android-developers/VQM5WmxPilM/gYHJGQZh7hMJ


여기 있는 걸 따라해봤더니 갑자기 된다..

바로 캡쳐하지않고 캔버스에 그려서 캡쳐하는 방식인 것 같았다.


 int width_container = container.getWidth() ;//캡쳐할 레이아웃 크기

 int height_container = container.getHeight() ;//캡쳐할 레이아웃 크기



container.setDrawingCacheEnabled(true);

container.buildDrawingCache(true);


/***********************핵심부분**********************************/
Bitmap captureView = Bitmap.createBitmap(container.getMeasuredWidth(), 

 container.getMeasuredHeight(), Bitmap.Config.ARGB_8888); 

Canvas screenShotCanvas = new Canvas(captureView ); 

container.draw(screenShotCanvas); 
/***********************핵심부분*****************************************/


	                FileOutputStream fos; 		

 			Intent it3=getIntent();	

 			String str_name=it3.getStringExtra("it3_name");	 			



 			File fileRoute = null;

 			fileRoute = Environment.getExternalStorageDirectory(); 		



 			try {

 				File path = new File(fileRoute,"temp");

 				if(!path.exists()){//if(!path.isDirectory()){

 					path.mkdirs();

 				} 		



 				fos = new FileOutputStream(fileRoute+"/temp/"+str_name+"-.jpeg");

 				Log.d("[screenshot]", " : " + container.getDrawingCache());

 				captureView.compress(Bitmap.CompressFormat.JPEG, 100, fos);

 				container.setDrawingCacheEnabled(false); 		



 			}catch (FileNotFoundException e) {

 				e.printStackTrace();

 			}



이 방법을 쓰니 해결이 되었다.


진짜 온갖 안드로이드 커뮤니티에 글도 올려보고 책 저자에게 메일도 보내고 별 짓 다 해봤는데 안되니까 정말 짜증났다. 진짜 번역기 돌려서 스택오버플로우에도 올려봤는데 아무도 대답을 안해주고..


진짜 90퍼 완성해놓고 남은 하나 때문에 시간낭비하는 건 도무지 못 해먹겟다.ㅜㅜ

이 글로 다른 누군가가 삽질할때 도움이 되었으면 좋겠다.




반응형
반응형

다 깔았는데 에뮬레이터 실행이 안된다. 매우 짱난다.

검색 끝에 해결법을 찾았다.


윈도우-> 가상장치관리자로 간다.

 

 

 실행시킬 에뮬레이터 선택하고 옆에 Edit 클릭

 

 

 

램부분을 1024 이하로 수정해주면 작동이 된다.(800~900 정도로 두면 된다고 한다.)

 




반응형
반응형

 

PlayFramework 설치 후 새로운 작업 생성이 안될 때

웁스 메세지가 뜬다 

( 혹은  sudo play new helloworld 라고 쳐서 되면 다행이다. 난 초짜라서 그런지 이걸로는 안됐다)

알아보니 권한문제라고 한다.


그래서 권한을 살펴보니 drwxr-xr-x로 되어있다.



그래서 sudo chmod 777 /usr/local/bin 을 입력하여 bin폴더에 권한을 주었다. 

(/usr/local/bin 은 내가 작업을 생성할 폴더 경로임. 개인에 따라 알맞은 경로 입력)

드디어 즐기래 ㅠㅠ 삽질 끝..



권한 바꼈는지 확인해보니 drwxrwxrwx로 바뀌었다. 



권한에 대한 설명

출처: http://www.mireene.com/webimg/linux_tip1.htm



777 말고도 여러 조합이 있지만 급하고 안될땐 걍 모두 허용으로 하고 문제해결

이거 때문에 암것도 못하고 3시간 삽질.. 항상 이럼. 뭘 할 때마다 본격적으로 하기전부터 기본적인게 안되서..





반응형

옛시절 찾아가기

2011. 8. 30. 01:49
반응형




올여름 한것도 없고 여행도 못갔고

문득 들은 생각
옛날에 살던데나 가보자
자전거 타고 갈려다가 무리일꺼 같아서 걍 버스타고 ㄱㄱ

거의 7~8년만인가

일단은.. 나 살던데부터
현대빌라
아직도 그대로네
어렸을때는 되게 커보였는데 지금가니 작아보인다.


경비실 왼쪽 놀이터
모래는 다 없어졌구나 비온 다음날 모래파내서 오아시스를 만들곤했었는데 


15동 주차장
노란색 선들은 다없어졌네 여기서 축구하고 야구하고 했었는데



14동 108호
우리집 입구


13동 사이
담벼락뒤로 철근회사 아예건물을 세웠네
저 벽에다 스트라이크존 그리고 한승이랑 야구했었는데
골대도 정해놓고 페널티킥하고 ㅋㅋㅋ


단지안에 슈퍼
아직도 건재하군요



 

나이먹기 했던 전봇대 ㅋㅋㅋ
진짜 나이먹기 할때마다 내 나이 프로토스급이었음
물먹고 못먹은 친구 물 반주기

 


일단 현대빌라를 둘러보고 나오고...


위에 쭉뻗은길로 가다보면 나오는 대도빌라.
레알마드리드와 바르셀로나 라면 현대빌라와 대도빌라였었음
애들끼리 현대빌라와 대도빌라 편을 갈라서 서로 다른 빌라 오면 왜오냐고 가라고 했었다
한가지일화로 대도빌라에 사는 오성욱이 현대빌라 놀이터 왔다가
현대빌라 사는 정두영이 왜 오냐고 오성욱 때려서 오성욱 울고 집에 감


일단 빌라를 빠져나오니 저멀리 시흥중학교가 보이는구나
중학교때가 제일 재밌었던거 같네.
가봐야지




오 아직도 있어 피아노학원 ㅋㅋㅋㅋ
바이엘 하 치다 그만뒀는데


우와 떡볶이 순대집도 아직도있네


음 대도슈퍼는 없어지고 헬스기구전문매장이 들어섰구나.


주유소 없었는데 생겼네?? 원래 뭐가 있었지...
아 그 장미꽃인생 레스토랑있떤건물이었는데 아예 부숴버리고 주유소를 지어놨네



조흥은행 건물은 그대로구나. 뭐 신한으로 바뀌었으니까. 기업은행은 원래 뭐였더라 ...



학교끝나고오면 여기서 술래잡기 하고 놀았는데 난간에서만 돌아다니기로 하고 ㅋㅋ
아직도 그대로네 누구랑 했었더라.. 창회랑 한승이인가???


내가 다녔떤 유치원자릴 가봤더니
없어졌네..
빌라재건축하나봐



저 언덕끝까지 올라가야 시흥중학교가 나오지


가는길에 금천고등학교..


시흥중학교. 하교시간이었는지 애들이 쏟아져 나오네 .
들어가보고싶었지만 요즘 시대가 시대인지라 그냥 왔음


천주교 성당자리에 인공폭포만들었던데 거기위에서 한방.
아파트 참높다. 한양아파트는 다 어디로가고..


여긴 폭포 상류



밑에는 이런 폭포가


짤막한 폭포영상



한양아파트 올라가는 언덕.
아직도 공사하는 중이라 트럭이 왔다갔다.



아직도 있는 넷매니아 ㅋㅋㅋ
옛날에 한시간에 800원 했을때의 충격이란. 바람의나라, 디아2 할려그랬는데 항상 자리가 없었음.



더 올라가보니 공사가 한창이다.
한양아파트 분수대 자리인데 흔적도 없구나.
한화스토어도 없고..



김영모 빵집도 없어지고 문방구도 없어지고
문백초등학교 정문으로 가는길이 공사중으로 아예 막혔다



후문으로 본 문백초등학교..
이것도 안에는 못들어가고 밖에서만 봤다.
그런데 럭키아파트는 그대로 있었다.



럭키아파트쪽으로 쭉 나가서 나와보니 크리스탈 뷔페도 아직도 있었다.
여기서 뷔페먹었던 기억이 새록새록..




이렇게 마무리
이곳저곳갈때마다 하나씩 떠오르는 기억들이 있었다
그땐 뭐가 그리 재밌었지 ㅋㅋㅋ
별 거 아닌거 같아도 지금 생각해보니 별 거 아니었다.

에이 낼부터 개강인데
마지막 여름방학을 이걸로 때웠다

옛날생각많이 나는 하루  


반응형

+ Recent posts