- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
목록android (171)
드럼치는 프로그래머
Few days back I had a requirement to send ArrayList of my Custom Class/Objects which need to be sent through Intent, I guess most of you also find this requirement now and then. I never thought it can be that tricky. There are built in functions in Intent to send ArrayList of primitive objects e.g. String, Integer, but when it comes to Custom Data Handling Objects, BOOM… you need to take that ex..
Activity를 투명하게 만들어서 사용해야 하는 경우가 생깁니다. 예를 들면 BroadCastReceiver에서 다이얼로그를 호출 할 수 없으므로 Activity로 다이얼로그를 구현하게 되는데요.! 그럴경우에 해당 속성을 이용하여 마치 Activity가 없이 다이얼로그만 호출하는 것 처럼 보여 지게 됩니다. 자 그럼 해당 속성을 추가해 볼까요? 우선 AndroidManifest.xml 로 들어 갑니다. 그리고 아래 예문에 나와 있는 것 처럼 android:theme="@android:style/Theme.Translucent" 해당 테마 스타일을 추가해 줍니다. 스크린샷 : 마치 Activity 가 존재하지 않는 것 처럼 ProgressDialog가 호출 되는 모습을 볼 수 있습니다. [출처] http..
public static void WriteLog() { String logPath = "C:\\app\\log.txt"; //파일 경로 File templog = new File(logPath); try { if(!templog.exists())//해당경로에 파일있는 없는 경우 생성 templog.createNewFile(); RandomAccessFile raf = new RandomAccessFile(logPath, "rw"); //이어쓰기용 raf.seek(raf.length());//맨마지막 위치로 커서 이동 SimpleDateFormat SDF = new SimpleDateFormat(); //시간값 얻기 String str = "\r\n현재시간은 "+SDF.format(System.curre..
Java에서 callback function을 이용하려면 어떻게 해야할까? 해답은 매우 간단한데, Swing이나 Android에서 사용자 event를 각각의 component 등에서 처리하기 위해 linstener를 등록하는 데에서 찾아볼 수 있다. 잘 알고 있다시피 모든 listener는 interface로 구현되어 있다. 다음과 같은 간단한 Java 예제를 통해 interface를 이용해 listener(또는 callback)가 어떻게 동작하는지 살펴보자. 아래 예시한 Sum이란 class는 addNumber()란 method를 통해 전달된 값들을 합산하고, getTotal()이란 method를 이용해 그 결과값을 얻을 수 있도록 설계되어 있다. 또한, setMaxNumber()라는 method를 이..
프로그래밍에 친숙한 네트워크 전문가는 프로토콜 문서를 보는 것보다 그 프로토콜이 구현된 API를 들여다 보는 것을 통해 보다 빠르고 정확하게 프로토콜에 대해 이해하기도 한다. - Softgear Ko 본 문서는 http://developer.android.com/sdk/android-4.0.html 의 WiFi Direct 를 번역하였습니다. Wi-Fi Direct 안드로이드는 이제 사용자간 연결(P2P)을 위한 Wi-Fi Direct 를 지원한다. 이 P2P 연결은, 핫스팟이나 인터넷 연결 없이, 안드로이드 장치 또는 다른 디바이스 간의 직접 연결 및 통신을 말한다. 안드로이드 프레임워크는 Wi-Fi P2P API를 제공하여, 당신이 Wi-Fi Direct를 지원하는 다른 디바이스를 찾고 연결할 수 있..
최근 WiFi Alliance가 WiFi Direct 기술을 활용한 단말 5종을 최초로 인증했다. 이에 따라 디지털 단말간 네트워크 접속이 한층 용이해 질 것으로 전망된다. WiFi Direct는 WiFi Alliance가 개발한 기술로 기존의 WiFi 기술을 활용해 이통망이나 WiFi AP 없이도 단말 상호간에 빠르고 안전하며 끊김없는 접속을 지원한다. 또한 기존의 Bluetooth 기술을 대체할 가능성이 높을 뿐만 아니라, 실제 Bluetooth 보다 응용할 수 있는 기술이나 기능도 풍부한 만큼 'Bluetooth Killer'로 언급되기도 한다. 한편, WiFi Direct는 표준 WiFi 기술을 활용하긴 하지만 네트워크 접속방식은 전혀 다르다. 즉, 기존의 WiFi 네트워크나 라우터를 경유하지 않..
현재 단말기의 버전을 알아오고 싶다면, 다음의 코드를 이용하면 된다. 그리고, 아래와 같이 상황에 맞춰서 대처하여 보자. OS별 코드 버전 넘버는 전의 포스트 참조. (2011/11/17 - [Programming/android] - Android의 역사.) int version = android.os.Build.VERSION.SDK_INT; switch (version) { case 2: Log.d("VERSION", "? 1.1"); break; case 3: Log.d("VERSION", "CUPCAKE 1.5"); break; case 4: Log.d("VERSION", "DONUT 1.6"); break; case 5: Log.d("VERSION", "ECLAIR 2.0"); break; cas..
갑자기 잘되던 프로그램이 안된다... 당황하다가 다시 마음을 잡고 천천히 디버깅 해보았다. Native와 JAVA 사이에 연결되는 함수가 호출되다가 죽는다. 아래와 같이 반복문이 15회정도 반복되는 함수였다.float correctCount = 0.0f; for( int i = 0; i < 30; i++ ) { if( jni_GetPUnlocked( s, i ) == true ) { correctCount++; } } jni_GetPUnlocked 함수는 JAVA함수를 C언어로 읽어들여 체크하는 함수였다. 함수 내용은 아래와 같다. bool jni_GetPUnlocked(int game, int question) { JNIEnv *env; jclass jNativesCls; bool pUnlocked =..
안드로이드 쓰레드 종료를 위해 Thread.stop(), Thread.suspend() 다 해보았지만 모두 deprecated 되어서 사용하면 안될 뿐더러, 정상 동작 하지도 않는다. 그럼 남은건 interrupt() 하나 뿐인데.. 이걸 쓴다고 해서 쓰레드가 바로 종료되는건 아니더라.. 보니까 interrupt() 쓴다고 쓰레드가 그냥 죽는게 아니고 쓰레드 내부에 직접 구현을 해줘야 했다. 중복 쓰레드 실행 시 이전 쓰레드를 죽이는 것도 처음에 boolean 변수 만들어서 죽여주는 그런 방법으로 시도했다가, interrupt()와 interrupted()를 활용 하는 것이 훨씬 간결 하다는 것을 알았다. 구현 소스는 다음과 같다. ----------------------------------------..
[Intro] 제가 이전에 세미나에서 발표 했던 내용과도 관련이 있는 내용이긴 합니다. Activity를 안전하게 보호하기 위한 방법 중에서, 태그에 있는 exported 속성을 false로 만들어서 다른 어플리케이션에서 접근 할 수 없게 만들 수 있었습니다. 그런데 exported ="false"속성은 다른 어플리케이션에서 전혀 보이지 않게 숨기는 속성이기 때문에, 재사용을 할 수 없다는, 다소 Activity 철학과는 살짝 거리가 있는 속성이기도 합니다. 뭐... 그래도 재사용 필요없는 Activity에겐 유용한 속성이긴 하지요. [exported="false" 를 쓰면 안되는 상황이 있다고?] 예... 그렇습니다. 모든 상황에서 사용 가능한건 아닙니다. 원래 오늘 별 내용 없습니다. 간단한 메모 수..