자주쓰는 함수라 매번 코딩하기 귀찮아서 올려 놓는다. 아래는 4개의 길이를 갖는 byte 배열을 int 로 바꾸거나 int 를 4개의 길이를 갖는 byte 배열로 바꾸는 것이다.// 아래의 방법 외에 다음과 같이 간단한 방법도 존재한다. :// byte[] byteArray = ByteBuffer.allocate(4).putInt(value).array(); public byte[] intToByteArray(int value) { byte[] byteArray = new byte[4]; byteArray[0] = (byte)(value >> 24); byteArray[1] = (byte)(value >> 16); byteArray[2] = (byte)(value >> 8); byteArray[3] = ..
안드로이드1 : https://medium.com/marojuns-android/
안드로이드의 Task 내부에는 여러 액티비티들을 갖고 있으며 이 것들은 동일한Affinity 값을 갖고 있고 하나의 스택위에 유지되고 있다. 우선 첫 번째로 동일한 Task 내에서 액티비티를 시작할 때, 자주 쓰이는 플래그값에 대하여 알아보겠다. 아래 설명되는 옵션들은 아래와 같이 사용할 수 있다. Intent intent = new Intent(this, activity.class); intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity(intent); 참고로 startActivity 는 Context 의 메소드이다. 실제로 어떻게 동작하는지 궁금하여 아래 스샷과 같이 실험 앱을 만들어보고 정리해 보았다. (코드를 너무 날림으로 만들어서 공개..
짜증나는 월요일. 턱을 괴고 무념 무상으로 마우스 오른쪽 버튼을 딸깍딸깍 거리고 있는 지루한 월요일 오전에 간담을 서늘하게 만드는 문자가 한 통이 왔다. 그림1. 또 걸린거야?! ㅠㅠ 어라? 그런데, 링크 주소가 조금 수상했다. 무인단속장비에 적발 되었다는데 URL 은 유사 국민은행? 그림2. 고객님 당황하셨어요 여기서 그냥 넘어갈 수 없었다. 서늘했던 마음이 타오르면서 분노가 들끓었다. 그래서 직접 당해보기로 했다. 물론 테스트용 공기계로. 그림3. 뜬금없는 다운로드. 문자 메세지로 날아온 URL을 통하여 웹 브라우저로 접속하면, 난데없이 APK(앱 설치파일) 을 다운로드 받는다. 그림4. 스미싱앱의 요구 권한ㅡ , ㅡ 위에 표시된 권한 외에 핸드폰 시작시에 자동 시작되도록 하는 권한도 있다. 위 그림..
드디어 내 베이스인 비발디 파크의 첫 심야 개장이 24-25일에 이루어졌다. 개장한 슬로프는 발라드(반라드...), 레게(역시 절반만), 그리고 테크노1,2. 재즈는 오픈을 안 해서 매우 아쉬웠지만, 그래도 심야 개장한다는 소식에 일을 마치고 바로 달려가서 지인들을 만났다. 혹시 백만대군이 이미 슬로프를 점령하지 않았을까 하는 불안한 기대감을 갖고 말이다.. ::슬로프 상태.반라드 상단에 몰려있는 저 사람들을 보라. 심야 개장 첫 날에도 역시 백만대군 비발디파크.ㅠㅠ 수도권 구석구석 다니는 무료 셔틀 버스 덕분에 접근성이 좋고, 의외로 즐길거리들이 많아서 비발디 파크는 항상 인기가 좋다. 그래서 이 날도 어김없이 많은 인파가 몰렸었다. 발라드 슬로프에서는 벌써부터 사이드 슬립 연습을 하는 많은 사람들이 ..
구글 플레이 서비스가 설치되어 있지 않은 안드로이드 디바이스에서 구글 API (구글 플러스, GCM, 구글 맵, 구글 드라이브등) 를 사용하려고 하면 아래와 비슷한 Exception 을 발생시키며 죽는다. android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://play.google.com/store/apps/details?id=com.google.android.gms flg=0x80000 pkg=com.android.vending } 우선 이 문제가 발생하는 이유 첫 번째로 기기에 설치되어 있는 플레이 서비스가 너무 구 버전이거나 또는 아예 설..
(2015년 3월 추가. 지금은 안드로이드 SDK 에서 x86 에뮬레이터를 제공하기 때문에 Genymotion 이 필요 없습니다. ) Genymotion 을 이용하면 Android SDK 에 포함된 느려터진 기본 에뮬레이터 대신 VirtualBox 위에서 돌아가는 x86 기반의 빠른 안드로이드를 이용하여 편하게 개발할 수 있다. 또, GPS와 같은 센서에서 받아오는 값등을 임의로 입력할 수 있고, 네트워크 환경을 다양하게 바꿀 수 있는등 개발에 편리한 기능들을 제공한다. 다만 다음과 같은 단점이 있는데, 이를 유념하여야 한다.- 실제 기기에서 돌아가는 것과 100% 동일하지 않다.- Genymotion 의 안드로이드 에뮬레이터는 x86 기반이므로 arm 으로 컴파일된 NDK 를 사용할 수 없다.- Gen..
안드로이드 내에서 픽셀에서 DP 로 또, DP 에서 픽셀로 변환하는 메소드다. 출처 : http://stackoverflow.com/questions/8309354/formula-px-to-dp-dp-to-px-android /** * 픽셀을 DP 로 변환하는 메소드. * @param px 픽셀 * @return 픽셀에서 dp 로 변환된 값. */ private int pxToDp(Context context, int px) { DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); int dp = Math.round(px / (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT))..
블로그를 이사한 뒤에 쓰는 첫 여행기!! 단지 먹기위해서 떠난 전주.사진은 거의 먹었던 음식 위주로 찍었습니다.이 날 전주 온도가 37도를 찍는 기록적인 폭염이었는데, 사진이고 뭐고 그냥 빨리 에어콘 빵빵하게 나오는 곳으로 들어가서 쉬고 싶더라고요. 전주 한옥마을 거리 모습.사실, 사진 정말 못 찍어서 이렇게 나왔습니다.실제로 보면 길거리 양쪽으로 늘어선 기와지붕의 한옥들과 대문들이 한국적인...됐고~!!우린 먹으러 왔기 때문에 일단 맛집 부터 검색해 봤습니다. 이런 돌담 사이의 골목길도 들어가보고... 첫 번째로 찾아간 교동 떡갈비. 번호표를 뽑고 들어가야 하는데, 이미 우리 앞에 30팀이나 기다리고 있었습니다.한 팀 빠지는데 대략 2~5분은 기다려야 했지만, 번호표만 뽑고 조용히 사라진 팀들이 많더라..
일을 하다보면 작성하기 귀찮은 코드들을 찾기 위해 구글링을 통하여 무한 복불을 한다. 랜덤 문자열 생성도 마찬가지로 이곳저곳 검색해서 많이 사용 했었는데, 간혹 특정한 문자 값들로 랜덤 문자열을 만들거나, 또는 랜덤 문자열에서 제외할 문자 값을 설정할 필요가 있어서 만들었다. :: 사용법 String randStr;// 숫자를 제외한 길이 32의 랜덤 문자열 생성.randStr = new RandomStringBuilder(). putExcludedChar(RandomStringBuilder.NUMBER). setLength(32).build();System.out.println(randStr); // 알파벳으로 이루어진 길의 32의 랜덤 문자열 생성.randStr = new RandomStringBui..
TextView 는 HTML 태그를 사용할 수 있지만 일부 지원하지 않는 태그들이 있다. 그 중에 대표적인 것이 이렇게 취소선을 긋는 태그인데, 이는 직접 PaintFlag 라는 속성값을 줘서 해결할 수 있다. 단 TextView 내부의 모든 텍스트들에 취소선이 생긴다. textView.setText("취소선"); textView.setPaintFlags(someLabel.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 만약 취소선을 제거하고 싶으면 연산자 '^' 를 사용하여 속성을 제거해주면 된다.textView.setPaintFlags(someLabel.getPaintFlags() ^ Paint.STRIKE_THRU_TEXT_FLAG);
- Total
- Today
- Yesterday
- 침블락
- Android
- 칩두이노
- 병렬 프로그래밍
- 가습기
- activity
- ENC28J60
- Cheapduino
- 안드로이드
- 부트로더
- arduino
- noidemcu
- ndk
- 아두이노
- ATtiny85
- 블루투스
- Iot
- 개발
- HC-06
- 알리익스프레스
- 안드로이드 개발
- oled
- NeoPixel
- 스마트 무드등
- json
- 이더넷
- WS2812B
- Java
- bluetooth
- ESP8266
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |