Android 자산 사용Using Android Assets

자산 응용 프로그램에서 텍스트, xml, 글꼴, 음악 및 비디오와 같은 임의 파일을 포함 하는 방법을 제공 합니다.Assets provide a way to include arbitrary files like text, xml, fonts, music, and video in your application. "Resources"으로 이러한 파일을 포함 하려는 경우 Android 해당 리소스 시스템으로 처리 됩니다 및 원시 데이터를 가져올 수 없습니다.If you try to include these files as "resources", Android will process them into its resource system and you will not be able to get the raw data. 변경 되지 않은 데이터에 액세스 하려는 경우 작업을 수행 하는 한 가지 방법은 자산은입니다.If you want to access data untouched, Assets are one way to do it.

프로젝트에 추가 하는 자산으로 사용 하 여 응용 프로그램에서 읽을 수 있는 파일 시스템 처럼 표시 됩니다 AssetManager합니다.Assets added to your project will show up just like a file system that can read from by your application using AssetManager. 이 간단한 데모를 사용 하 여 읽을 텍스트 파일 자산 프로젝트를 추가할 예정 AssetManager, TextView를에 표시할 수 있습니다.In this simple demo, we are going to add a text file asset to our project, read it using AssetManager, and display it in a TextView.

프로젝트에 자산 추가Add Asset to Project

자산 이동 된 Assets 프로젝트의 폴더입니다.Assets go in the Assets folder of your project. 라는이 폴더에 새 텍스트 파일을 추가 read_asset.txt합니다.Add a new text file to this folder called read_asset.txt. "또 자산에서!"와 같은 일부 텍스트를 배치 합니다.Place some text in it like "I came from an asset!".

Visual Studio 설정 해야 합니다 빌드 작업 이 파일이 AndroidAsset:Visual Studio should have set the Build Action for this file to AndroidAsset:

빌드 작업 AndroidAsset을로 설정

올바른 선택 BuildAction 컴파일 타임에 파일 APK에 패키지 수를 확인 합니다.Selecting the correct BuildAction ensures that the file will be packaged into the APK at compile time.

자산 읽기Reading Assets

사용 하 여 자산 읽힙니다.을 AssetManager합니다.Assets are read using an AssetManager. 인스턴스를 AssetManager 를 액세스 하 여 사용할 수는 자산 속성에는 Android.Content.Context, 작업 등.An instance of the AssetManager is available by accessing the Assets property on an Android.Content.Context, such as an Activity. 다음 코드에서를 열겠습니다. 우리의 read_asset.txt 자산에 콘텐츠를 읽고 TextView를 사용 하 여 표시 합니다.In the following code, we open our read_asset.txt asset, read the contents, and display it using a TextView.

protected override void OnCreate (Bundle bundle)
{
    base.OnCreate (bundle);

    // Create a new TextView and set it as our view
    TextView tv = new TextView (this);
    
    // Read the contents of our asset
    string content;
    AssetManager assets = this.Assets;
    using (StreamReader sr = new StreamReader (assets.Open ("read_asset.txt")))
    {
        content = sr.ReadToEnd ();
    }

    // Set TextView.Text to our asset content
    tv.Text = content;
    SetContentView (tv);
}

응용 프로그램 실행Running the Application

응용 프로그램을 실행 하 고 다음을 확인할 수 있습니다.Run the application and you should see the following:

예제 스크린 샷