Android offers one more directory where you can keep files which also will be included in package. This directory called /assets. The difference between /res and /assets is that Android doesn’t generate IDs for assets content. You need to specify relative path and name for files inside /assets. I am going to show simple example which shows how you can access /assets content.
For this operation need to use AssetManager:
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import android.app.Activity;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.EditText;
/**
* Class which shows how to use assets
*
* @author FaYnaSoft Labs
*/
public class Main extends Activity {
private EditText firstField;
private EditText secondField;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AssetManager assetManager = getAssets();
String[] files = null;
try {
files = assetManager.list("image");
} catch (IOException e) {
Log.e("tag", e.getMessage());
}
firstField = (EditText) findViewById(R.id.firstId);
firstField.setText(Integer.toString(files.length) + " file. File name is "
+ files[0]);
InputStream inputStream = null;
try {
inputStream = assetManager.open("readme.txt");
} catch (IOException e) {
Log.e("tag", e.getMessage());
}
String s = readTextFile(inputStream);
secondField = (EditText) findViewById(R.id.secondId);
secondField.setText(s);
}
/**
* This method reads simple text file
* @param inputStream
* @return data from file
*/
private String readTextFile(InputStream inputStream) {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte buf[] = new byte[1024];
int len;
try {
while ((len = inputStream.read(buf)) != -1) {
outputStream.write(buf, 0, len);
}
outputStream.close();
inputStream.close();
} catch (IOException e) {
}
return outputStream.toString();
}
}
In folder /assets i created folder /image and put icon.png from /drawable. And also I created simple readme.txt with text Hello, World!
I used
AssetManager assetManager = getAssets();
for accessing to /assets folder.
As you can see it is simple.

Hey dude thanks for the tutorial
I am making an android app and i need to play videos
So far i think that assets folder is the best option of playing the videos in android
can you please write down a sample code along with comments on each line showing the meaning of that particular line of code??
Thanks
[Translate]
Hi,
How can i read SDCard data from android application?
[Translate]
[...] LinkedIn [...]
[Translate]
I’m just getting started on learning about android development. I wanted to say that this tutorial was very very helpful! Thanks so much! Please keep up the good work! These basic tutorials are priceless.
[Translate]
Hii
This is realy helpfull
[Translate]