안드로이드 레이아웃을 잡을때 샘플 텍스트를 지정 할때가 있는데, 아래와 같은 녀석을 쓰면 편리 하다.
tools:text = "이런것 대신에..."
"@tools:sample/lorem/random" , "@tools:sample/full_names" , "@tools:sample/full_names" ,"@tools:sample/cities"
2018년 7월 24일 화요일
2015년 6월 29일 월요일
MAC>안드로이드 스튜디오>깃 오류로 팝업이 자꾸 뜰때
MAC에서 PC를 새로 설치 하고 안드로이드 스튜디오로 작업중에 아래와 같은 팝업이 자꾸 떠서 귀찮게 한다. TOWER GIT을 쓰기 때문에 별로 불편한건 없었는데 그냥 귀찮아서 없애 보기로 했다.
시키는 대로 Fix it 을 클릭하면설정화면이 뜬다.
우측에 테스트를 눌러보니 뭐 권한이 없다고 나오며 XCODE어쩌구 메시지가 뜬다.
헐 왠 XCODE;;;
Error Runing Git
Errors while executing git --version, exitCode=69
Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
뭐 메시지는 귀찮게 터미널 열어서 뭔가 해줘야 할 것 같지만,
XCODE를 실행해서 동의만 해주면 끝이다~
XCODE를 설치만 해놓고 실행을 안했더니 이런 문제도 생기나 보다..
XCODE 설치 할때 깃도 설치 되는듯?
2012년 1월 25일 수요일
[Android] 알람이 동작중인지 확인 하는법
제목 그대로 알람이 동작중인지 확인하여 동작 중이라면
알람을 재등록 하지 않는 다던가의 처리가 필요한 경우가 있다.
그럴 경우 다음과 같이 하면 알람이 등록 되었는지 확인 할 수 있다.
private boolean isAlarmActivated()
{
boolean result;
PendingIntent pIntent;
Intent intentToSend = new Intent();
intentToSend.setAction("SOME_ACTION");
pIntent = PendingIntent.getService(getContext(), 0, intentToSend, PendingIntent.FLAG_NO_CREATE);
result = pIntent != null;
Logging.d(TAG, "[isAlarmActivated] " + result + " - " + pIntent);
return result;
}
단, 주의해야 할 점이 몇가지 있다.
(아래 항목을 간과 한다면 계속 false 를 보게됨.)
1. 호출메소드를 잘 선택 할것
- 밑줄친 부분의 메소드 명인데 PendingIntent를 처리할 주체가 어떤녀석이냐에 따라
PendingIntent.getActivity(context, requestCode, intent, flags);
PendingIntent.getActivities(context, requestCode, intents, flags);
PendingIntent.getBroadcast(context, requestCode, intent, flags);
PendingIntent.getService(context, requestCode, intent, flags);
중에 호출할 메소드를 잘 선택해 주어야 한다.
2. 알람의 Intent는 동일하게 할 것
- 밑줄친 메소드의 인자중 3번째 인자인 Intent 값의 경우 알람 생성시 지정한 값과 같아야(완전히 같아야 한다는게 아니고 동일한 인텐트로 인식 될 수 있으면 됨) 한다.
3. 알람 해제시 PendingIntent를 cancel() 해줄 것
- 알람을 해제 할때는 PendingIntent.cancel() 을 호출해 주어야 한다. 그렇지 않으면 알람은 해제 되었는데 PendingIntent가 살아 있어 원하는 결과를 얻을 수 없게 된다. (알람 먼저 cancel하고 동일한 PendingIntent를 Cancel하면 된다)
알람을 재등록 하지 않는 다던가의 처리가 필요한 경우가 있다.
그럴 경우 다음과 같이 하면 알람이 등록 되었는지 확인 할 수 있다.
private boolean isAlarmActivated()
{
boolean result;
PendingIntent pIntent;
Intent intentToSend = new Intent();
intentToSend.setAction("SOME_ACTION");
pIntent = PendingIntent.getService(getContext(), 0, intentToSend, PendingIntent.FLAG_NO_CREATE);
result = pIntent != null;
Logging.d(TAG, "[isAlarmActivated] " + result + " - " + pIntent);
return result;
}
단, 주의해야 할 점이 몇가지 있다.
(아래 항목을 간과 한다면 계속 false 를 보게됨.)
1. 호출메소드를 잘 선택 할것
- 밑줄친 부분의 메소드 명인데 PendingIntent를 처리할 주체가 어떤녀석이냐에 따라
PendingIntent.getActivity(context, requestCode, intent, flags);
PendingIntent.getActivities(context, requestCode, intents, flags);
PendingIntent.getBroadcast(context, requestCode, intent, flags);
PendingIntent.getService(context, requestCode, intent, flags);
중에 호출할 메소드를 잘 선택해 주어야 한다.
2. 알람의 Intent는 동일하게 할 것
- 밑줄친 메소드의 인자중 3번째 인자인 Intent 값의 경우 알람 생성시 지정한 값과 같아야(완전히 같아야 한다는게 아니고 동일한 인텐트로 인식 될 수 있으면 됨) 한다.
3. 알람 해제시 PendingIntent를 cancel() 해줄 것
- 알람을 해제 할때는 PendingIntent.cancel() 을 호출해 주어야 한다. 그렇지 않으면 알람은 해제 되었는데 PendingIntent가 살아 있어 원하는 결과를 얻을 수 없게 된다. (알람 먼저 cancel하고 동일한 PendingIntent를 Cancel하면 된다)
2012년 1월 19일 목요일
[안드로이드] Logcat창에 logcat session filter 가 자꾸 떠서 디버깅을 방해할 경우
안드로이드 API 버젼 14가 나오면서 ADT 또한 1.6으로 업데이트 되었다.
이번 ADT의 Logcat은 전버전에 비해 필터 기능이 창 편해 졌는데...
어느날 인가?
Eclipse의 설정값이 초기화 되었다.
귀찮아 하면서 설정을 복원했는데...
다하고 나서 디버깅을 하려 하니
Logcat창에 logcat session filter 라는 항목이 생기면서 포커스를 자꾸 뺐어 가는 것이었다.
자동스크롤마저 되어서 이건 뭐 USB 케이블을 빼기 전까진 디버깅이 불가능 하다.
어딜 감히 건방지게 지맘대로 스크롤을해 -ㅁ-;;
가뜩이나 버그나서 짬뽕나는데;;
아무튼 이런 열받는 상황을 개선할 방법이 있다.
Eclipse Menu -> Preferences -> Android -> Logcat 에 보면..
Display logcat view when there are messages from an application in the workspace
이 옵션을 체크 해제 하면 된다.
2012년 1월 12일 목요일
[Android] Emulator 4.0.2 자동 업데이트;;
4.0 에뮬레이터를 사용중에 어느날 갑자기부팅 중 낯선 화면이 떴다.
뭔가 업그레이드를 한다는듯 한데;;
부팅이 끝난뒤 Setting -> About phone 에 들어가 보니,
4.0.2 로 업데이트 되어 있다;;
구글링좀 해보니 Minor 버그를 해결한 버젼이라 한다.
AVD엔 여전히 4.0으로 나온다.
API레벨도 여전히 14...
암튼 에뮬에서 업데이트를 하니 좀 신기한 경험 이었다 ㅋ
2011년 6월 14일 화요일
[안드로이드] 전체화면(풀스크린) 으로 앱 생성하기
엑티비티의 onCreate() 메쏘드에 아래와 같이 생성하면 된다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 풀스크린 레이아웃
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 메인 뷰 생성
setContentView(new WallpaperView(this));
}
이렇게 하면 상태표시바가 없는,
화면에 가득찬 상태로 앱이 표시 되게 된다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 풀스크린 레이아웃
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 메인 뷰 생성
setContentView(new WallpaperView(this));
}
이렇게 하면 상태표시바가 없는,
화면에 가득찬 상태로 앱이 표시 되게 된다.
2011년 2월 23일 수요일
Android - Failed to create the SD card 해결
- 원인
64비트 리눅스가 깔린 상태에서 32비트 안드로이드 SDK를 설치,
따라서 SD카드를 할당하는데 쓰이는 ia32-libs 패키지가 디폴트로 존제 하지 않으므로 발생하는 에러
- 해결방법
ia32-libs 패키지의 설치
예) sudo apt-get install ia32-libs
64비트가 구지 쓰고 싶어서 설치 했는데...
녀석이 발목 잡는다;;;
64비트 리눅스가 깔린 상태에서 32비트 안드로이드 SDK를 설치,
따라서 SD카드를 할당하는데 쓰이는 ia32-libs 패키지가 디폴트로 존제 하지 않으므로 발생하는 에러
- 해결방법
ia32-libs 패키지의 설치
예) sudo apt-get install ia32-libs
64비트가 구지 쓰고 싶어서 설치 했는데...
녀석이 발목 잡는다;;;
2011년 1월 16일 일요일
Android - 레이아웃 XML 파일의 파일명
레이아웃 XML 파일의 파일명은 소문자만 가능 하다.
만일 대문자를 섞어 썼다면....
[2011-01-17 11:36:04 - TabTest] res\layout\TabContent2.xml: Invalid file name: must contain only [a-z0-9_.]
콘솔에 위와 같은 에러 메시지가 뜨게 된다.
평소에도 콘솔의 에러메시지를 유심히 봐둔다면
"대체 왜 않되는 거야!!!"
라며 짜증 내지 않아도 될듯 하다.
만일 대문자를 섞어 썼다면....
[2011-01-17 11:36:04 - TabTest] res\layout\TabContent2.xml: Invalid file name: must contain only [a-z0-9_.]
콘솔에 위와 같은 에러 메시지가 뜨게 된다.
평소에도 콘솔의 에러메시지를 유심히 봐둔다면
"대체 왜 않되는 거야!!!"
라며 짜증 내지 않아도 될듯 하다.
2010년 10월 30일 토요일
안드로이드 플랫폼 추가
사실 별거 없다.
되는 사람은 이 글을 볼 필요도 없다.
현제 홈페이지에서 제공되는 안드로이드 SDK에는 플랫폼 파일이 제공 되지 않는다.
뭔가 시작 하려면 플랫폼이 하나라도 설치 되어야 하는데....
물론 SDK Manager를 이용해서 받을 수 있다.
내가 운이 나쁜건지 아래의 서버에 계속 접속되지 않았는데...
https://dl-ssl.google.com/android/repository/repository.xml
이렇게 되면 플랫폼을 다운로드 받을 수 없다.
꼼수로 https의 's'를 지우고 접속 하여도 플랫폼은 나오지 않았다.
http://dl-ssl.google.com/android/repository/repository.xml
이쯤 되면 플랫폼은 다른 경로로 구해야 하지 않을까??
라는 생각이 들었는데...
인터넷을 아무리 뒤져도 그런 이야기가 없다.
한 2시간 삽질 하다.
SDK Manager를 다시 실행하니 https서버에 접속이 되고
플랫폼을 받을 수 있었다.
아래 화면은 SDK Manager를 캡춰한 화면이다.
나같은 삽집을 하는 사람이 없길 바라며 포스팅을 한다.
되는 사람은 이 글을 볼 필요도 없다.
현제 홈페이지에서 제공되는 안드로이드 SDK에는 플랫폼 파일이 제공 되지 않는다.
뭔가 시작 하려면 플랫폼이 하나라도 설치 되어야 하는데....
물론 SDK Manager를 이용해서 받을 수 있다.
내가 운이 나쁜건지 아래의 서버에 계속 접속되지 않았는데...
https://dl-ssl.google.com/android/repository/repository.xml
이렇게 되면 플랫폼을 다운로드 받을 수 없다.
꼼수로 https의 's'를 지우고 접속 하여도 플랫폼은 나오지 않았다.
http://dl-ssl.google.com/android/repository/repository.xml
이쯤 되면 플랫폼은 다른 경로로 구해야 하지 않을까??
라는 생각이 들었는데...
인터넷을 아무리 뒤져도 그런 이야기가 없다.
한 2시간 삽질 하다.
SDK Manager를 다시 실행하니 https서버에 접속이 되고
플랫폼을 받을 수 있었다.
아래 화면은 SDK Manager를 캡춰한 화면이다.
나같은 삽집을 하는 사람이 없길 바라며 포스팅을 한다.
피드 구독하기:
글 (Atom)



