반응형
안드로이드(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 |