안드로이드의 모든 Application의 data는 자신만이 사용할 수 있도록 한다. (처음 안드로이드에 대해 설명할 때 Linux로 되어 있고 user ID를 가진다고 언급한 적이 있다. 이것과 연관지어 보면 쉽게 이해될 것이다.)
  하지만 다른 Application에 private data를 노출하도록 표준 방법을 제공하고 있다. (무엇을 통해서? 이전에 ContentProvider라는 것에 대해 설명한 적이 있다.)
안드로이드는 표준 data type에 대한 여러개의 content provider를 제공하고 있다.

안드로이드가 제공하는 데이터 저장과 조회를 위한 4가지의 방안을 아래에 설명하려고 한다.

Preferences
  Preference는 원시적 data type의 key-value을 저장하고 검색하는 간단한 방법이다.
Context.getSharedPreferences()를 호출하면 된다. 동일한 Application에서 서로 다른 Component와 데이터를 공유하기 위해서는 preference에 name을 부여하고, 그렇지 않을 경우는 name 없이 Activity.getPreferences()를 사용한다.
Application 간의 preference를 공유할 수는 없다 - 단 Content provider를 사용하면 가능

Files
  단말이나 삭제가능한 저장장치에 file을 저장할 수 있으며, 기본적으로 다른 Application에서는 접근이 불가능하다.

File에서 Data를 읽기위해서는 Context.openFileInput() method를 사용하고, local name과 file path를 전달한다. 해당 method는 표준 Java의 FileInputStream을 반환하므로 이 후 사용을 Java와 동일하다.
Data를 쓰기 위해서는 Context.openFileOutput() method를 사용하고 name과 path를 전달하며, FileoutputStream이 반환된다.

Application Compile 시에 static File을 package에 추가하려면, /res/raw/myDataFile에 저장하고, Resources.OpenRawResource(R.raw.myDataFile)을 사용하여 InputStream을 얻을 수 있다.

Database
  안드로이드는 SQLite database를 생성하고 사용할 수 있는 API를 제공하며, 다른 방식과 마찬가지로 생성한 Application에만 접근이 허용된다.
SQLiteDatabase Object를 사용하며 이를 통해 Database를 생성하고 query를 만들고 data를 관리할 수 있다.

Network
  java.net.*, android.net.* 를 사용하여 Network을 활용할 수도 있다.







Posted by 피의복수
BLOG main image
일에 필요한 자료 by 피의복수

카테고리

분류 전체보기 (40)
프로그램이야기 (38)
끄적끄적 (1)
취미 (0)
서비스이야기 (1)
빅데이터 (0)

최근에 올라온 글