Androidアプリでassetsフォルダのファイルを読み込む方法【初心者向け解説】
本記事では、Androidアプリでassets(アセット)フォルダに格納したテキストファイルを読み込み、画面に表示する方法をステップごとに解説します。サンプルコード付きなので、そのままプロジェクトに組み込んで動作を確認できます。
アセットファイル読み込みの全体像
Androidでは、画像やテキストなどのリソースファイルを assets フォルダに配置することで、アプリ内部から生データとしてアクセスできます。読み込みには AssetManager の open() メソッドを使用し、取得した InputStream をバイト配列として読み取るのが基本の流れです。
手順1:新規プロジェクトを作成する
Android Studioを起動し、メニューから「File」→「New Project」を選択して、必要な項目を入力して新しいプロジェクトを作成します。
手順2:レイアウトファイル(activity_main.xml)を編集する
次のコードを res/layout/activity_main.xml に追加します。中央にTextView、その下にボタンを配置するシンプルな構成です。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="12sp"
android:textStyle="bold"/>
<Button
android:id="@+id/btnReadText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Read text from assets"
android:layout_centerHorizontal="true"
android:layout_marginTop="20sp"
android:textStyle="bold">
</Button>
</RelativeLayout>手順3:assetsフォルダとテキストファイルを作成する
プロジェクトビューで「app」を右クリックし、「New」→「Folder」→「Assets Folder」を選択してassetsフォルダを生成します。続けて、assetsフォルダ上で右クリック→「New」→「File」を選び、myText.txt という名前でテキストファイルを作成し、任意のテキストを記述します。
“Darkness cannot drive out darkness: only light can do that. Hate cannot drive out hate: only love can do that.”
手順4:MainActivity.javaに読み込み処理を実装する
次のコードを src/MainActivity.java に追加します。ボタンがタップされると、getAssets().open() でファイルのInputStreamを取得し、バイト配列経由で文字列に変換してTextViewに表示します。
package app.com.sample;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.io.IOException;
import java.io.InputStream;
public class MainActivity extends AppCompatActivity{
TextView textView;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
button = findViewById(R.id.btnReadText);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String string = "";
try {
InputStream inputStream = getAssets().open("myText.txt");
int size = inputStream.available();
byte[] buffer = new byte[size];
inputStream.read(buffer);
string = new String(buffer);
} catch (IOException e) {
e.printStackTrace();
}
textView.setText(string);
}
});
}
}手順5:AndroidManifest.xmlを確認する
次のコードを androidManifest.xml に設定します。特別なパーミッションは不要ですが、アクティビティの宣言が必要です。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>アプリを実行して確認する
それでは実際にアプリを実行してみましょう。Android端末をPCに接続していることを前提とします。Android Studioでプロジェクト内のアクティビティファイルを開き、ツールバーの「Run」アイコンをクリックします。実行デバイスとして接続したスマートフォンを選択すると、端末の画面に以下のように表示されます。


補足:より安全な実装のポイント
サンプルでは available() でファイルサイズを取得していますが、大きなファイルを扱う場合は BufferedReader を使った行単位の読み込みや、文字コード(UTF-8など)を明示的に指定する new String(buffer, "UTF-8") の利用を推奨します。また、使用後は必ず inputStream.close() でストリームを閉じることで、リソースリークを防げます。
-
Androidからマルウェアを削除する方法|感染の兆候と予防策を徹底解説
現代社会において、スマートフォンは生活に欠かせない存在となっています。銀行アプリ、ナビゲーションアプリ、各種ユーティリティアプリなど、個人の重要な情報や機能がほぼすべて詰まっています。だからこそ、プライバシーを守るためにも、スマートフォンをしっかりと保護することが何よりも重要です。パソコンと同様に、Androidスマートフォンもウイルス、トロイの木馬、スパイウェア、アドウェアなどの悪意あるプログラム(マルウェア)に感染する可能性があります。Androidマルウェアの主な目的は、機密情報の窃取、無関係な広告の表示によるユーザーの誤誘導、悪質なサイトへのリダイレクトなどです。マルウェアはさまざまな
-
JavaでCSVファイルを読み込む方法|BufferedReaderによる基本的なデータ読み取り手順
CSVとは「Comma Separated Values(カンマ区切り値)」の略で、テキスト形式のデータファイルの一種です。CSVファイルでは、1行ごとに複数の項目がカンマ(,)で区切られて記録されており、拡張子は「.csv」として保存されます。表形式のデータを扱う際に広く利用されている、シンプルで汎用性の高いフォーマットです。 JavaでCSVファイルを読み込む仕組み JavaでCSVファイルを読み込むには、BufferedReaderクラスのreadLine()メソッドを使用するのが基本的な方法です。このメソッドを使うと、ファイルの内容を1行ずつ順番に読み取ることができます。 読み取った各