안드로이드 내에서 픽셀에서 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))..
일을 하다보면 작성하기 귀찮은 코드들을 찾기 위해 구글링을 통하여 무한 복불을 한다. 랜덤 문자열 생성도 마찬가지로 이곳저곳 검색해서 많이 사용 했었는데, 간혹 특정한 문자 값들로 랜덤 문자열을 만들거나, 또는 랜덤 문자열에서 제외할 문자 값을 설정할 필요가 있어서 만들었다. :: 사용법 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);
이 것도 예전 네이버 블로그를 하면서 올렸던 건데 블로그 이사하면서 다시 올려본다. 정말 초 간단한 카드 섞기 알고리즘 이다.루프를 돌면서 배열의 현재 위치와 다음 위치중에 랜덤한 위치의 값을 바꿔주는것 이다. - 예)빨간색 블록은 현재의 인덱스 이고, 하늘색 블록은 랜덤하게 선택한 블록이다. 마지막으로 연 보라색 블록은 이미 카드섞기가 끝난 블록이다.Input 12345Step 1. 12345Step 2. 21345Step 3. 24315Step 4. 24135Step 5. 현재 인덱스의 다음 인덱스가 더 이상 존재하지 않으면 종료. 24153 #include #include #include void swap(int *A, int *B); // 변수를 서로 바꿔주는 함수void randomCard(in..
예전에 네이버 블로그에 올렸던 건데, 이 쪽으로 이사하면서 다시 올려본다. 이를 c언어 코드로 나타낼려면 다음 코드와 같이 재귀를 사용 하여야 한다. 이곳에 붙여넣는 과정에서 주석의 스페이스가 모두 없어졌습니다. 이점 양해해 주세요. #include#include#include #defineCARDSIZE10 // 정수배열의사이즈 voidMergeSort(int* array, intsize, intfirst, intend); // 합병정렬을하는함수voidprintArray(int* card, intsize); // 정수배열을화면에출력하는함수. intmain(){ intCard[CARDSIZE]; // 정수배열선언 inti; // 반복문에쓰일변수 srand((unsignedint)time(NULL)); /..
안드로이드 디바이스의 CPU 코어 개수를 가져오는 코드이다. 이 코드의 출처는 : http://stackoverflow.com/questions/7962155/how-can-you-detect-a-dual-core-cpu-on-an-android-device-from-code 원리를 설명하자면 우선 /sys/devices/system/cpu/ 디렉토리를 찾고 이 내부에 cpu[0-9] 의 이름 규칙을 갖는 디렉토리를 찾는다. 만약 쿼드 코어라면 /sys/devices/system/cpu/cpu0/sys/devices/system/cpu/cpu1/sys/devices/system/cpu/cpu2, /sys/devices/system/cpu/cpu3 형태로 디렉토리가 존재한다.그럼 그 디렉토리 개수를 확인 ..
다음과같은코드를이용하여코드상에서폰과태블릿을구분할수있다.(코드상에서폰인지태블릿인지를가져올수있다.) int screenSizeType = (/*context.*/getResources().getConfiguration().screenLayout &Configuration.SCREENLAYOUT_SIZE_MASK);if(screenSizeType == Configuration.SCREENLAYOUT_SIZE_XLARGE) {// 매우 큰 화면 사이즈, 10인치 이상 태블릿 : 갤럭시탭 10.1, 갤럭시노트10.1, 기타 등등.}else if(screenSizeType == Configuration.SCREENLAYOUT_SIZE_LARGE) {// 큰 화면 사이즈, 약 7인치 태블릿 : 넥서스7, 갤탭, 기타..
- Total
- Today
- Yesterday
- activity
- json
- arduino
- Android
- Iot
- HC-06
- ndk
- 이더넷
- 병렬 프로그래밍
- Cheapduino
- ESP8266
- 안드로이드 개발
- 아두이노
- 칩두이노
- WS2812B
- noidemcu
- 안드로이드
- 가습기
- NeoPixel
- 블루투스
- ENC28J60
- oled
- 개발
- 침블락
- 알리익스프레스
- 스마트 무드등
- Java
- ATtiny85
- 부트로더
- bluetooth
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |