Please Enable JavaScript!
Gon[ Enable JavaScript ]

안드로이드(Android) CPU 버전 알아오기

안드로이드 개발
반응형

안드로이드(Android) CPU 버전 알아오기

 

개발환경 : window 7 64bit, Eclipse Mars, Android 4.2.2

 

현재 테스트 하고 있는 안드로이드 CPU 정보를

알아내어 화면에 표현을 해 보겠습니다.

터미널에서 시스템 명령어를 실행하는 것과

똑 같은 효과를 얻게 됩니다.

명령어는 두가지가 있는데 다음과 같습니다.

 

/system/bin/cat

/proc/cpuinfo

 

실행한 것을 화면에 표시합니다.

명령어를 실행하기 위해 ProcessBuilder 객체를

이용합니다.

 

String[] args = { "/system/bin/cat", "/proc/cpuinfo" };
cmd = new ProcessBuilder(args);

Process process = cmd.start();

 

그리고 스트림으로 넘어온 값을 1024 바이트에

담아 끝까지 읽어 드립니다. 문자열로 만듭니다.

 

InputStream in = process.getInputStream();
byte[] re = new byte[1024];
while (in.read(re) != -1) {
	result = result + new String(re);
}
in.close();

 

아래는 메인 activity xml 입니다.

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:autoLink="web"
        android:gravity="center_horizontal"
        android:text="mainia.tistory.com" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Android CPU 정보" />

    <TextView
        android:id="@+id/cpu_info"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

 

메인 activity 전체 소스입니다.

 

import java.io.IOException;
import java.io.InputStream;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class SampleActivity12 extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_sample_activity12);

		TextView txtOs = (TextView) findViewById(R.id.cpu_info);
		txtOs.setText(ReadOSinfo());
	}

	private String ReadOSinfo() {
		ProcessBuilder cmd;
		String result = "";
		
		try {
			String[] args = { "/system/bin/cat", "/proc/cpuinfo" };
			cmd = new ProcessBuilder(args);

			Process process = cmd.start();
			InputStream in = process.getInputStream();
			byte[] re = new byte[1024];
			while (in.read(re) != -1) {
				result = result + new String(re);
			}
			in.close();
			
		} catch (IOException ex) {
			ex.printStackTrace();
		}
		return result.toString();
	}
}

 

위 소스를 실행한 결과 입니다.

콘솔에 출력하고 TextView 에 결과값을 표현한

것입니다. Model Name Intel Core i5 이네요

이것은 컴퓨터에 있는 에뮬레이터를 이용한

결과 이므로 그렇게 나온것입니다. 스마트 폰이

이정도면 엄청 비싸겠죠 ㅋ

 

반응형
Posted by 녹두장군1
,