일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- 요리
- 한글
- 페니휘슬
- 주식
- 보조지표
- 증권
- 우분투
- 기술적분석
- 노래
- 피아노
- 투자
- linux
- Irish whistle
- 커피
- 틴휘슬
- 홈레코딩
- ubuntu
- 재테크
- penny whistle
- Elex
- 스크랩
- 악보
- 책
- 리눅스
- tin whistle
- Android
- 아이리쉬휘슬
- 안드로이드
- 자바
- 우분투 17.10
- Today
- 85
- Total
- 677,243
목록프로그래밍/Android (22)
Elex
우분투 17.10안드로이드 스튜디오 3.0.1 안드로이드 가상 에뮬레이터를 실행하려고 하면 libGL error: unable to load driver: i965_dri.solibGL error: driver pointer missing라는 오류가 뜨며 실행할 수가 없다. 해결책1. 필요한 패키지를 설치한다. $ sudo apt-get install lib64stdc++6:i386$ sudo apt-get install mesa-utils 2. 안드로이드 개발킷의 libc++ 디렉토리를 백업한다. $ cd 어쩌고저쩌고/Android/Sdk/emulator/lib64$ mv libstdc++/ libstdc++.bak 3. 그리고, 링크를 생성한다. $ ln -s /usr/lib64/libstdc++.s..
프로가드 같은 것을 써라.LVL을 호출할 때에는 onCreate()에서 사용하지 말고, 백그라운드 스레드 같은 데서 호출해라.라이선스 실패시에 즉시 결과를 처리하기 보다는 잠시 딜레이를 줘라.네트워크 문제로 실패할수도 있으니 수차례 백그라운드에서 반복할 것.사용자에게 라이선스 실패를 알릴 경우에는 다이얼로그 대신 다른 액티비티를 사용할 것.응답 코드는 해쉬 함수를 적용하고, 각각 독립된 if 문을 사용할 것.어플리케이션의 서명이 일치하는지를 확인하라.어플리케이션이 디버깅 가능하지 않도록 설정하라.dex 파일의 crc를 확인하라.... Google I/O 2011http://www.google.com/events/io/2011/sessions/evading-pirates-and-stopping-vampir..
안드로이드는 Nine Patch 그래픽이라고 하는 이미지 형식을 지원합니다. 이 이미지는 기본적으로 PNG 형식의 이미지인데 Stretchable(늘려질/늘려져도 되는) 영역을 정의할 수 있습니다. 이 나인패치 이미지는 일반적으로 뷰(View)의 배경이미지로 사용됩니다. 나인 패치 이미지는 일반적인 PNG 이미지에서 상/하/좌/우 각각 1 pixel 씩의 보더를 추가로 가지게 되고 이 영역에 필요한 정보를 검은 색 선으로 마킹합니다. 물론 안드로이드에 사용될 때에는 보더의 검은 선은 표시되지 않습니다. 나인 패치 이미지 파일을 구분하기 위해서 .9.png라는 확장자를 갖게 됩니다. 위쪽과 왼쪽의 1 pixel 검은색 선은 각각 가로/세로 방향으로 늘어날 수 있는 부분을 정의합니다. 이 영역은 이미지가 늘..
구글 애드몹 라이브러리 모음https://developers.google.com/mobile-ads-sdk/download v4.0.4 v4.3.1 v6.0.0 v6.0.1 v6.1.0 구글 애널리틱스 라이브러리 모음 https://developers.google.com/analytics/devguides/collection/android/ v1.3 v1.3.1 v1.4.2 v1.5.21
안드로이드용 아담 라이브러리 모음http://mobile.biz.daum.net/top/intro.do v1.2 v1.4.0.1 v1.4.2 v2.0 v2.0.2 v2.0.3 v2.0.4
안드로이드용 카울리 라이브러리 모음http://www.cauly.net v1.1.7 v1.2.0 v1.2.1 v1.2.3 v1.2.5 v1.3.0 v1.3.4 v1.4.0 v1.5.0 v1.5.1 v1.5.2
우분투에서 안드로이드 앱 개발 도중 USB로 연결된 하드웨어 장치에서 테스트하고자 했지만, ?????????? No Permission 이란 메시지만 보여주었다. 이럴 때는, sudo ./adb kill-server sudo ./adb start-server ./adb devices
A Better 9 Patch Tool의 아홉번째 버전이 릴리즈 되었습니다. 새로운 파일은 여기에서 다운로드 받을 수 있습니다. 새로운 버전에서는 미리보기 창이 추가되었고, 마우스로 직접 라인을 그릴 수 있으며, 자동화 기능이 추가되었습니다. 또한, OSX에서의 Drap&Drop 문제도 수정되었습니다.
Better 9 Patch ToolHi, It's moved to a new site. You can download the newest package file from this website.이 소프트웨어에 관한 새로운 소식은 이 곳에서 확인하실 수 있습니다.(http://www.roundrect.kr/desktop/better-9-patch/) 이 소프트웨어는 안드로이드 앱 개발 과정에서 필요한 나인 패치 이미지 제작 도구입니다. 이 프로그램의 개발 의도는 ADT에 포함된 Draw 9-patch 프로그램을 사용하는 것보다 효율적으로 나인패치를 제작하기 위함입니다. 작업 경로를 기억 못하는 파일 피커가 너무 싫었어요. 픽셀 하나하나 마우스로 찍는게 너무 짜증났어요.나이 패치를 적용할 이미지가 단 한장이..
1. 프로젝트에 GoogleAdMobAdsSdk-4.3.1.jar 파일을 추가한다. Properties > Java Build Path > Libraries > Add External JARs (새로운 SDK는 targetSDK를 13으로 해야 함) 2. 메니페스트 파일에 다음과 같이 액티비티를 추가한다. 3. 메니페스트 파일에 다음과 같이 퍼미션을 추가한다. 4. 다음을 참조하여 레이아웃을 꾸민다. 5. 액티비티의 onCreate()에서 다음과 같이 호출한다. AdView adView = (AdView)this.findViewById(R.id.adView); adView.loadAd(new AdRequest()); 또는 4. 액티비티에 AdView를 private으로 선언하고, 생성한 후 레이아웃에 뷰..
액티비티 생성시에 액티비티에 에딧텍스트가 있으면 포커스가 에딧텍스트로 이동해 버린다. 에딧 텍스트가 포커스를 받았으니 키보드가 열릴 것이다. 이것이 기본 동작이다. 에딧텍스트가 맨 앞의 컴포넌트라면 별 상관 없겠지만 긴 화면의 중간 어디 쯤에 있는 컴포넌트라면 의도와는 다르게 로딩하자마자 스크롤까지 되어 버린다. 이런 때에는 다음의 소스를 적용할 수 있다. 에딧텍스트가 포커스를 받게 된 후에야 키보드가 펼쳐질 것이다. eText = (EditText) findViewById(R.id.e_text); if (eText !=null) { eText.setText(this.txtValue); eText.setInputType(0); eText.setOnClickListener(new View.OnClickLi..
onCreate() onStart() onResume() onPause() onStop() onRestart() onDestroy() http://android.elex.pe.kr/dev-guide/aegtibiti-laipeu-saikeul
안드로이드 에뮬레이터에서 테스트시 유용한 키보드 단축키를 정리함. 홈 HOME 메뉴 버튼 F2 뒤로가기 버튼 ESC 전화 버튼 F3 전화 끊기 버튼 F4 찾기 버튼 F5 전원 버튼 F7 볼륨 높임 Ctrl-F5 또는 키패드의 '+' 볼륨 내림 Ctrl-F6 또는 키패드의 '-' 카메라 버튼 Ctrl-F3 또는 Ctrl-키패드'5' 이전 레이아웃 방향으로 회전 (가로/세로) Ctrl-F11 또는 KEYPAD'7' 다음 레이아웃 방향으로 회전 (가로/세로) Ctrl-F12 또는 KEYPAD'9' 3G 네트워크를 켜기/끄기 F8 전체화면 모드 활성 / 비활성 Alt-Enter 트랙볼 모드 활성 / 비활성 F6 방향키 (DPad) 키패드의_'4','8','6','2','5' http://android.elex...
티스토어, 검수는 느리지, 올려놓고 한 일주일 기다리다면 이래서 반려라 그러고, 또 저래서 반려라 그러고, 내 참 짜증나서.. 새로운 앱 등록을 그만둔건 몇 달 전이지만, 결국 오늘 기존 앱들도 판매 중지 시키고 탈퇴했다. 내 보기엔 검수한다고 앉아 있는 것들은 멍청이 들이거나 깡통로봇들임에 틀림없다. 시나리오에 안적혀 있다고 반려하질 않나, 또 오류난다고 반려해서 똑같이 해봤더니만 잘만되는구만. 저번에 등록된데서 광고 라이브러리만 바꿔서 올렸는데 왜 이번엔 오류난다고 지랄을 떠는겐지. 그간 티스토어 제한사항 맞추느라 안드로이드마켓 소스에서 이래저래 넣었다 뺏다 삽질한게 생각나기도 하고... 에효.. 안그래도 열받는데 어떤 놈이 별 하나 남기고 말도 없이 토꼈네. 비겁한놈불만있으믄말을해라.
크래시 리포트를 받고 있으므로 일부 사용자에게서 오류가 발생하고 있다는 것은 인지하고 있다. 하지만, 아무리 뒤지고 뒤져봐도 왜 오류가 나는지 모르겠다. 특히, 특정 사용자에게서만 발생한다는 것도 의문이다. 오류가 발생하는 상황을 재현할 수가 없으니 원인을 모르고 원인을 모르니 현재로서는 고칠 방법이 없다. 클래스 생성시에 디폴트 값이 주어지므로 널값을 가질 이유가 전혀 없다만, 일단 오류가 발생하는 부분에 null 체크를 모두 붙여서 오류는 막혔을 테지만 근본적인 원인을 파악하지 않고서는 해결이라고 보기 어렵다. 화면에 그려야 하는데 그리지 않기 때문이다. 엄밀히 말하자면 오작동이지만, 널체크 코드가 제 위치에 들어갔다면 이제 크래시 리포트는 보내지도 못할 것이다. 엉뚱한 화면을 볼 수도 있을게다. 기..
좀 더 기다리다 갈아탈 것을 하고는 후회하기도 했다. 개발자 콘솔 업데이트도 느리고 예전엔 최소 하루 한 건 이상은 있었던 유료 앱 판매도 좀처럼 없고 해서... 그러다 첫 거래 발생. 체크아웃을 확인했다. 이제 본론으로 들어가서... 새로운 계정은 국가별로 가격을 설정하도록 되어있다. 한국은 1000원 미국은 1달러로 설정해 두었다. 그러면 미국의 구매자로부터는 1달러씩 받는거 아닌가? 당연히 그럴꺼라고 생각했지만, 아닌가보다. 환율 1달러는 1069원 어쩌고 저쩌고 해서 0.94달러에 거래가 되었다고 써있다. 계산해보니 1000원을 달러로 환산해서 반올림하면 0.94달러가 된다. 이게 뭐냐! 그럼 국가별 가격 설정의 존재 이유는 무엇이란 말인가!!! 덧붙여, 화폐별 최소 가격도 맘에 안든다.
안드로이드의 한국 원화 지원에 따라 본의 아니게 뻘짓을 하게 되었다. 새로운 지메일 계정으로 개발자 등록하고, $25도 새로 결제 해주고, 체크아웃 계정도 새로 만들고, 전환 신청하고 해서 기존의 앱을 새 계정으로 옮기고, 기존 계정 등록비 환불 받고 ... 아래는 몇 가지 패닉 포인트. 1. 체크아웃 판매자 등록시 사업자 등록 번호 10자리를 입력하라고 해서 패닉에 빠졌었다. 사업자 등록까지 해야하나...? 이래저래 검색해본 결과 그냥 0으로 채웠다. 2. 체크아웃은 더이상 애드센스와 연결되지 않고 은행계좌와 연결해야 하는가 보다. 은행코드에는 그냥 3자리 숫자를 입력해 놓았다. 며칠 후 은행으로 소액이 입금되면 금액을 확인하라고 하니 다음 주중에 그 절차를 밟아야 한다. 3. 기존 구글 계정과 새 구..
오스트리아에 사는 누군가씨. 그는 초창기 유료 앱 구매자이며 앱 평가에서도 별 다섯 개를 주었기에 나는 특별히 그의 이름을 기억하고 있었다. 오늘 그가 메일을 보내왔다. 내용인 즉슨, 예전엔 잘 작동하던 것이 한 달 전 업데이트 이후로 안되더라는 것이었다. 크래쉬 리포트를 보내달래서 확인해 보니, 런타임 에러. 카메라 서비스를 가져올 수 없다는 내용이었다. 카메라 기능을 사용하려고 하는데 카메라 서비스에 연결할 수 없단 얘기였다. 소스를 수정한다고 고쳐질 수 있는게 아니다라고 알려 주었더니 잘 작동하던 예전 버전 파일을 주면 테스트 해보겠다고 했다. 잠시 고민했다. 줘야하나 말아야 하나. 다른 경로로 배포하진 않을까. 찰나의 고민 끝에 그냥 믿고 넘겨주기로 했다, 그의 이름이 익숙했기에. 파일을 뒤졌다...
콘텐츠 제공자는 애플리케이션의 데이터 중 특정 부분을 다른 애플리케이션에서도 사용할 수 있도록 해준다. 데이터는 파일 시스템에도, SQLite 데이터베이스에도, 그리고 또 다른 여러 방식으로도 저장될 수 있다. 콘텐츠 제공자는 다른 애플리케이션이 데이터를 받아서 스스로 제어 가능한 형태로 데이터를 저장할 수 있도록 해주는 표준 메서드 집합을 구현하기 위해서 ContentProvider 클래스를 상속한다. 그러나, 애플리케이션이 직접 이 메서드를 호출하지는 않는다. 오히려 ContentResolver 객체를 사용해서 그 메서드를 대신 호출한다. ContentResolver는 어떤 컨텐츠 제공자와도 통신할 수 있다; 연관된 내부 프로세스 통신을 관리하기 위해서 제공자와 협력한다. 컨텐츠 제공자를 사용하는 방..
브로드캐스트 리시버는 브로드캐스트 알림을 수신하고 반응하는 외에는 별 볼일 없는 구성요소 이다. 대부분의 브로드캐스트는 시스템 코드에서 발생한다, 예를들면 시간대가 변경되었거나, 배터리가 낮거나, 사진을 찍었거나, 사용자가 언어설정을 변경했거나 등.애플리케이션도 방송을 시작할 수 있다 - 예를 들면, 장치에 어떤 데이터가 다운로드 되었으며 그 데이터를 필요로 하는 다른 애플리케이션에게 그 자료의 사용이 가능하다는 것을 알려주는 것이다. 애플리케이션은 중요하다고 생각되는 알림들에 응답하기 위해서 여러 개의 브로드케스트 리시버를 가질 수도 있다. 모든 리시버는 BroadcastReceiver 클래스에서 상속된다. 브로드케스트 리시버는 사용자 인터페이스를 표시하지 않는다. 그러나, 수신 받은 정보에 응답하기 ..
서비스는 시각적인 사용자 인터페이스를 갖지 않는 대신, 무한정의 시간 동안 백그라운드에서 실행된다. 예를 들어, 사용자가 다른 일을 하는 중에 서비스는 배경음악을 재생한다거나, 네트워크에서 자료를 가져오거나, 무언가를 계산한 후에 결과를 원하는 액티비티에게 돌려줄 수 있다. 각각의 서비스는 Service 클래스를 확장한다. 대표적인 사례는 재생 목록에서 음악을 재생하는 미디어 플레이어이다. 플레이어 애플리케이션은 아마도 사용자가 노래를 선택하고 재생을 시작 있도록 하는 하나 이상의 액티비티를 가질 것이다. 하지만 음악 재생 자체는 액티비티에서 처리하지 못할 것이며, 이는 사용자가 플레이어를 떠나서 다른 작업을 시작하더라도 음악이 계속 재생되기를 원하기 때문이다. 음악이 계속되려면, 미디어 플레이어 액티비..
액티비티는 사용자와 소통할 수 있도록 해주는 시각적인 사용자 인터페이스를 뜻한다. 예를 들어, 액티비티는 사용자가 선택할 수 있는 메뉴 아이템을 제공한다거나, 사진과 설명을 함께 표시해야 한다. 문자 메시지 응용 프로그램은 메시지를 전송할 연락처 리스트를 보여주는 액티비티를 하나 가지고 있을 것이고, 또 선택된 연락처로 메시지를 작성하는 액티비티, 그리고 보낸 메시지를 보여주거나, 설정을 변경하는 액티비티들이 필요할 것이다. 이들은 통합적인 사용자 인터페이스를 형성하기 위해 함께 사용되지만, 각각의 액티비티는 서로 독립적이다. 각각의 액티비티는 Activity 클래스로부터 상속되어 구현된다. 응용 프로그램은 단 하나의 액티비티로 구성될 수도 있지만, 문자 메시지 어플리케이션과 같이, 여러개를 포함할 수도..