반응형
|
안드로이드(Android) OS 버전과 시스템정보 알아오기 |
|
개발환경 : window 7 64bit, Eclipse Kepler, Android 4.2.2 |
현재 테스트 하고 있는 안드로이드 OS 버전과
System.getProperty() 를 이용해 시스템정보를
알아내어 화면에 표현을 해 보겠습니다.
터미널에서 시스템 명령어를 실행하는 것과
똑 같은 효과를 얻게 됩니다.
/system/bin/cat
/proc/version
실행한 것을 화면에 표시합니다.
명령어를 실행하기 위해 ProcessBuilder 객체를
이용합니다.
String[] args = { "/system/bin/cat", "/proc/version" };
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();
두번째 시스템 정보를 가져오기 위해서 System.getProperties()
이용합니다. 사용자 디렉토리, Home, 이름등 인수로
정보를 넘기게 되면 시스템정보를 넘겨 받게 됩니다.
// system.getProperty 이용하여 시스템 정보 알아오기
sysInfo = new StringBuffer();
getProperty("os.name", "os.name", sysInfo);
getProperty("os.version", "os.version", sysInfo);
getProperty("java.vendor.url", "java.vendor.url", sysInfo);
getProperty("java.version", "java.version", sysInfo);
getProperty("java.class.path", "java.class.path", sysInfo);
getProperty("java.class.version", "java.class.version", sysInfo);
getProperty("java.vendor", "java.vendor", sysInfo);
getProperty("java.home", "java.home", sysInfo);
getProperty("user.name", "user.name", sysInfo);
getProperty("user.home", "user.home", sysInfo);
getProperty("user.dir", "user.dir", sysInfo);
아래는 메인 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 OS:" />
<TextView
android:id="@+id/os"
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 SampleActivity4 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sample_activity4);
TextView txtOs = (TextView) findViewById(R.id.os);
txtOs.setText(ReadOSinfo());
}
private String ReadOSinfo() {
ProcessBuilder cmd;
String result = "";
try {
String[] args = { "/system/bin/cat", "/proc/version" };
cmd = new ProcessBuilder(args);
Process process = cmd.start();
InputStream in = process.getInputStream();
byte[] re = new byte[1024];
while (in.read(re) != -1) {
System.out.println(new String(re));
result = result + new String(re);
}
in.close();
} catch (IOException ex) {
ex.printStackTrace();
}
return result;
}
}
위 소스를 실행한 결과 입니다.
콘솔에 출력하고 TextView 에 결과값을 표현한
것입니다. 리눅스 버전과 gcc 버전이 나오네요.
그리고 vender url, home 주소등 각종 시스템
정보를 알아올수 있습니다.
반응형
'안드로이드 개발' 카테고리의 다른 글
| 안드로이드(Android) WebView 이용해 브라우저구현과 메뉴구현 (0) | 2014.10.25 |
|---|---|
| 안드로이드(Android) 스마트 폰에 모든 시스템 정보 알아보기 (1) | 2014.10.25 |
| 안드로이드(Android) CPU 버전 알아오기 (0) | 2014.10.24 |
| 안드로이드(Android) 2014년 9월 까지 플랫폼 버전과 화면해상도 분포 (0) | 2014.10.24 |
| 안드로이드(Android) 저장소(Sdcard) 에서 읽어온 파일이 이미지인지 판단하기 (0) | 2014.10.23 |
| 안드로이드(Android) google map API v2 에서 지도에 마커설정하기 (1) | 2014.10.22 |
| 안드로이드(Android) HorizontalScrollView 이용해 이미지 갤러리 만들기 – 2부 (0) | 2014.10.22 |
| 안드로이드(Android) HorizontalScrollView 이용해 이미지 갤러리 만들기 – 1부 (0) | 2014.10.22 |

