반응형

Android 7

[Android]CPU의 가능한 Hz, mode와 현재 상태 구하기

Android에서 CPU와 관련된 내용들을 얻는 것은 Linux에 의존하게 된다. (아님 그냥 내가 못 찾은 것. -_-;) Linux에서 CPU에 대한 정보는 /sys/device/system/cpu에서 구할 수 있다. 그 중 우리가 원하는 CPU의 현재 Hz와 Mode, 사용 가능한 Hz와 Mode에 관한 정보는 /sys/……/cpu/[cpu number]/cpufreq 폴더에 존재한다. CPU가 single core라면 CPU0만 존재하고 dual 이상이라면 CPU0, CPU1… 이런 식으로 늘어난다. 현재의 평범한 multi core system이라면 CPU숫자와 상관 없이 CPU에 대한 동일한 정보를 얻어올 수 있지만 차후 big.LITTLE 기능이 적용된다면 코어마다 다를 수도 있을 것 같다...

Programming/기타 2013.03.11

[Android]어플리케이션이 내부 미디어플레이어를 이용할 때 네트워크 사용량 측정법?

안드로이드의 YouTube 어플리케이션이나 웹 브라우저를 사용해서 동영상을 봐도 YouTube나 웹 브라우저의 네트워크 통계에는 적용되지 않는 것을 볼 수 있다. 이는 YouTube나 웹 브라우저가 자기 자신이 아닌 내부의 미디어 플레이어를 이용해서 동영상을 틀어주기 때문이다. 실제 동영상 스트리밍 서비스까지 구현을 해본 적이 없어서 이런 것이 어떠한 방식으로 진행이 되는지 감도 못 잡고 삽질만 하다가 드디어 조금은 실마리를 잡은 것 같다. /proc/net/tcp 파일을 cat 등으로 읽으면 다음과 같은 결과를 얻을 수 있다. /proc/net/tcp에 대한 자세한 정보는 이 곳 에서 /proc/net/tcp로 찾으면 확인할 수 있다. 간단히 말하면 TCP socket의 현재 내용을 dump하는 곳이다..

Programming/기타 2013.03.09

[Android] Traffic Stats Class

Traffic Stats Class Android에서 network traffic의 rx/tx 에 관한 정보를 얻어올 수 있게 해주는 class. Network 사용량들은 UID별로 /proc/uid_stat/[UID]/ 에서 파일로 확인할 수 있으며 그렇기 때문에 원하는 process의 정보를 가져오기 위해서는 process의 UID를 알아야 한다. 데이터를 가져오는 함수들은 대부분 native interface로 이루어져 있다. UID: Unix-like OS에서 user에게 할당하는 ID. Android에서는 package를 설치할 시 package에게 User ID를 할당하여 개인적인 저장 공간을 유지할 수 있도록 하고 package를 삭제할 시 UID도 삭제가 된다. 그림 1 Android /p..

Programming/기타 2013.03.08

Android OpenGL ES 1.1에서 사각형 그리기

OpenGL에서는 Vertex의 시작과 끝을 명시하고 점을 찍으면 객체가 만들어 졌던것 같은데 ES는 그렇지 않습니다. 적어도 안드로이드에서는, ByteBuffer를 이용하여 vertex의 내용을 보여줘야 합니다. private float vertices[] = { -1.0f, 1.0f, 0.0f, // 0, Top Left -1.0f, -1.0f, 0.0f, // 1, Bottom Left 1.0f, -1.0f, 0.0f, // 2, Bottom Right 1.0f, 1.0f, 0.0f, // 3, Top Right}; // a float is 4 bytes, therefore we multiply the number if vertices with 4.ByteBuffer vbb = ByteBuffer...

Programming 2012.01.05

Android OpenGL ES 사용에 앞서 알아두면 좋은것

1. OpenGL ES 1.1과 2.0의 차이점 간단하게 차이점을 적어봅시다. OpenGL ES 1.1 : OpenGL 1.5 버전과 대응. 1.0버전의 +a 버전. 고정파이프라인 함수들을 사용합니다. 컴퓨터 그래픽스 수업에서 배우시는 것들. OpenGL ES 2.0 : OpenGL 2.0 버전과 대응. 프로그래밍가능한 하드웨어 함수들을 사용. 쉐이더 언어를 사용합니다. 가장 중요한 것은 차이점에서 적었듯이 두 버전의 OpenGL에서 사용하는 함수의 종류가 완전히 다르기 때문에 호환성은 없습니다. 무엇을 더 많이 쓰느냐? 라고 한다면 일단 단순한 경우에는 OpenGL ES 1.1 버전이 아닐까 합니다. 이는 아무래도 그래픽스를 수업등을 통하여 맛만 보고 넘어가는 경우 배웠던 환경과 매우 비슷하기 떄문이라..

Programming 2012.01.05

[Android] Soundpool 사용하기 + 사용하면서 안 것.

Soundpool을 사용하는것은 안드로이펍에 너무 잘 나와있어서 더 설명하는건 의미 없는 것 같습니다. 그 외에 Soundpool에 대해 몇가지 더 설명을 하자면 1. Soundpool은 소리가 자동으로 겹친다. java에서 음악파일을 overlap 시켜서 실행하려다 실패해서 안드로이드에서 어떻게 하려나, 생각했는데 Soundpool은 알아서 실행 시킬 때 마다 overlap 돼서 나옵니다. 다수의 효과음을 겹쳐서 들려줘야 했는데, 편하게 해결. 2. 하나의 Soundpool에서 여러개의 음악파일을 열어도 overlap 된다. test해보기 전에는 Soundpool을 여러개 만들어야 하나, 생각했었는데 해보니까 잘 됩니다. 밑에 Source code에서 버튼 하나는 1번파일을, 다른 거 하나는 2번파일을..

Programming 2011.02.14

[Android]Android MapView 간단한 정리.

= XML에 추가해야 하는 것들 =MapView API 얻기1.AndroidManifest.xml 의 application 영역에을 추가해 줍니다.2.android.permission.INTERNETandroid.permission.ACCESS_COARSE_LOCATIONandroid.permission.ACCESS_FINE_LOCATION3개의 유저권한이 필요합니다.3.형식으로 Layout에 View를 추가할 수 있습니다.Android SDK 에서 제공하는 기본 Layout에는 존재하지 않으니 별도로 추가해서 사용해야 합니다.= 코드 = * Activity는 MapActivity로 수정해야 합니다.. ex) public class mapActivity extends MapActivity { * MapV..

Programming 2010.11.04
반응형