지식메모
-
PlayFramework 2 테스트 방법2013.07.17
-
파일 경로 찾기2013.07.17
-
루트 계정으로 작업하기2013.07.17
-
안드로이드 EdtiText 입력 숫자 검사하기2013.07.14
-
안드로이드 EditText 입력 글씨 색깔 바꾸기2013.07.09
-
emulator-arm.exe의 작동이 중지되었습니다.2013.04.17
PlayFramework 2 테스트 방법
해당 프로젝트로 가서
play
해서 플레이 콘솔창으로 들어간 다음
test
하면 모든 테스트 진행
test-only 폴더명.패키지명.클래스명
상황에 따라
test-only 패키지명.클래스명
test-only 클래스명
하면 특정 클래스만 테스트 진행
플레이프레임워크 사이트에서 설명
'지식메모 > PlayFramework 2' 카테고리의 다른 글
자바에서 쉘스크립트 실행하기 (0) | 2013.07.22 |
---|
파일 경로 찾기
리눅스에서 해당 파일이 어딨는지 궁금하다면
locate 파일명
이라고 쳐주면 어딨는지 나온다.
apache2.conf 라는 파일을 찾기위해
locate apache2.conf 를 수행한 모습.
2가지 파일의 경로가 나온다.
만약 새로 프로그램을 깔고 어딨는지 찾으려고 했는데 안 나온다면
updatedb
를 한번 수행해주고 다시 locate 파일명 을 해주면 나타난다.
'지식메모 > 리눅스' 카테고리의 다른 글
vim 문자열 찾기 (0) | 2013.09.02 |
---|---|
리눅스 운영체제 비트 확인하기 (0) | 2013.07.26 |
루트 권한 폴더를 내 계정 권한폴더로 바꾸기 (0) | 2013.07.17 |
루트 계정으로 작업하기 (0) | 2013.07.17 |
PlayFramework : Ooops - Something went wrong! Exception:java.io.IOException: Cannot write parent directory: Path(/) of /helloworld 메세지 해결 (0) | 2013.04.16 |
루트 계정으로 작업하기
리눅스에서 콘솔에서 작업할때 root 계정이 아니면 명령어를 칠 때마다 sudo 를 쳐줘야 한다.
그래서 root계정으로 바꿔서 작업하면 편하다
su -
라고 명령어를 입력하면 계정이 바뀌는 걸 볼 수 있다.
스샷
jeong 에서 root로 바뀐 걸 볼 수 있다.
'지식메모 > 리눅스' 카테고리의 다른 글
vim 문자열 찾기 (0) | 2013.09.02 |
---|---|
리눅스 운영체제 비트 확인하기 (0) | 2013.07.26 |
루트 권한 폴더를 내 계정 권한폴더로 바꾸기 (0) | 2013.07.17 |
파일 경로 찾기 (0) | 2013.07.17 |
PlayFramework : Ooops - Something went wrong! Exception:java.io.IOException: Cannot write parent directory: Path(/) of /helloworld 메세지 해결 (0) | 2013.04.16 |
안드로이드 EdtiText 입력 숫자 검사하기
사용자로부터 숫자를 입력 받을때 그 값을 검사하고 싶을때 사용한다.
예를 들면 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(); //토스트메세지를 띄운다. } } }
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 이미지버튼으로 버튼 눌림 효과 주기 (0) | 2013.07.17 |
---|---|
안드로이드 뒤로가기 버튼으로 종료하기 (0) | 2013.07.17 |
안드로이드 EditText 입력 글씨 색깔 바꾸기 (0) | 2013.07.09 |
안드로이드 특정파일 미디어 스캐닝 (5) | 2013.07.08 |
안드로이드 화면캡쳐시 bitmap null 값 현상 (24) | 2013.07.07 |
안드로이드 EditText 입력 글씨 색깔 바꾸기
배경이 어두운 색이라면
에디트텍스트 입력할때 색깔이 비슷해서 알아보기 어렵다. 그래서 색깔을 바꿔줄 필요가 있는데 그 방법은
출처: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 커서 색깔|작성자 에몬
커서색깔은 물론 쓰여지는 글씨 색깔도 바뀐다.
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 뒤로가기 버튼으로 종료하기 (0) | 2013.07.17 |
---|---|
안드로이드 EdtiText 입력 숫자 검사하기 (0) | 2013.07.14 |
안드로이드 특정파일 미디어 스캐닝 (5) | 2013.07.08 |
안드로이드 화면캡쳐시 bitmap null 값 현상 (24) | 2013.07.07 |
emulator-arm.exe의 작동이 중지되었습니다. (0) | 2013.04.17 |
안드로이드 특정파일 미디어 스캐닝
화면 캡쳐 후 갤러리에 이미지가 뜨지 않는다면 미디어 스캐닝을 해주고 나면 해결할 수 있다.
이 소스만 추가해주면 된다.
특정파일 미디어스캐닝
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 이건 줄 알고 썼다가 왜 안되나 했다.
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 뒤로가기 버튼으로 종료하기 (0) | 2013.07.17 |
---|---|
안드로이드 EdtiText 입력 숫자 검사하기 (0) | 2013.07.14 |
안드로이드 EditText 입력 글씨 색깔 바꾸기 (0) | 2013.07.09 |
안드로이드 화면캡쳐시 bitmap null 값 현상 (24) | 2013.07.07 |
emulator-arm.exe의 작동이 중지되었습니다. (0) | 2013.04.17 |
안드로이드 화면캡쳐시 bitmap null 값 현상
어플을 만드는데 현재화면 캡쳐가 아닌 레이아웃을 캡쳐하는 기능이 필요했다.
그것도 전체 레이아웃이 아닌 상단 바를 제외한 부분 레이아웃캡쳐였다.
그래서 인터넷에 검색하여 아주 간단한 화면캡쳐소스를 구해 돌려보았다.
그런데 내 테스트기기 중 2.2프로요 기기에서는 잘 되는데 4.0 아이스크림 기기에서는 안되는 것이었다.
요즘 누가 2.2 쓰나 . 4.0에서 작동되는게 중요했기 때문에 계속 해결책을 찾아보았다.
소스상에는 문제가 없으나 어플을 실행하고 캡쳐버튼을 누르면 자꾸 강제종료가 되었다.
로그캣에서는 Bitmap이 널 값이 난다고 나와있었다.
container.buildDrawingCache();
container.setDrawingCacheEnabled(
true
);
Bitmap captureView = container.getDrawingCache();//비트맵 널 값에러나는 부분
그래서 로그로 container.getDrawingCache(); 이걸 출력해보니 이게 널 값이라고 떴다. 이게 문제였다.
그래서 위 소스를 활용한 간단한 캡쳐예제를 두 테스트기기에서 돌려보니 잘 되었다.
이 예제였다. 용돈벌기 책 예제이다.
??
2.2 ,4.0 둘 다 캡쳐가 잘된다.
이걸 그대로 따라서 적용해보았는데
뭐야 같은 방식인데 똑같이 따라한건데 왜 예제는 되고 내가하면 안되는거지..
미쳐버릴 노릇이었다.
슈퍼삽질을 해보니 안드로이드 버전에 따른 API기능상 문제는 아니라는 결론을 내렸고
다른 방법으로 캡쳐하는 방법을 찾아보기로 했다.
그래서 온갖 구글링을 찾아 헤매다가 거의 두 달만에 해결을 했다.
여기 있는 걸 따라해봤더니 갑자기 된다..
바로 캡쳐하지않고 캔버스에 그려서 캡쳐하는 방식인 것 같았다.
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퍼 완성해놓고 남은 하나 때문에 시간낭비하는 건 도무지 못 해먹겟다.ㅜㅜ
이 글로 다른 누군가가 삽질할때 도움이 되었으면 좋겠다.
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 뒤로가기 버튼으로 종료하기 (0) | 2013.07.17 |
---|---|
안드로이드 EdtiText 입력 숫자 검사하기 (0) | 2013.07.14 |
안드로이드 EditText 입력 글씨 색깔 바꾸기 (0) | 2013.07.09 |
안드로이드 특정파일 미디어 스캐닝 (5) | 2013.07.08 |
emulator-arm.exe의 작동이 중지되었습니다. (0) | 2013.04.17 |
emulator-arm.exe의 작동이 중지되었습니다.
다 깔았는데 에뮬레이터 실행이 안된다. 매우 짱난다.
검색 끝에 해결법을 찾았다.
윈도우-> 가상장치관리자로 간다.
실행시킬 에뮬레이터 선택하고 옆에 Edit 클릭
램부분을 1024 이하로 수정해주면 작동이 된다.(800~900 정도로 두면 된다고 한다.)
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 뒤로가기 버튼으로 종료하기 (0) | 2013.07.17 |
---|---|
안드로이드 EdtiText 입력 숫자 검사하기 (0) | 2013.07.14 |
안드로이드 EditText 입력 글씨 색깔 바꾸기 (0) | 2013.07.09 |
안드로이드 특정파일 미디어 스캐닝 (5) | 2013.07.08 |
안드로이드 화면캡쳐시 bitmap null 값 현상 (24) | 2013.07.07 |