Tuesday, 23 September 2014

Properties file in Android

Suppose we want to manage some different parameters to configure a given application, and make easy to modify these ones without the need to recompile the entire project.

Just think about the configuration parameters for the connection to a web page or to a given server: if the ip address changes and it is hard-coded within the application, we need to modify it in the code and recompile befor running again.

In this cases it can be useful to create a properties file to trace the most important parameters related to the connection.

We have to work with couples of strings of the form <key,value>, where the key is used to retrieve the correspondent value. 

Suppose that our file is the following:

# Configuration File

The class we have to realize to open and read the file is the following class (we assume that the file has been inserted in the assets folder):
public class PropertiesReader { 
 private Context context;
 private Properties properties;
 public PropertiesReader(Context context) { 
  this.context = context;
   //creates a new object ‘Properties’
   properties new Properties();

   public Properties getProperties(String FileName) {
   try {    
    //access to the folder ‘assets’ 
    AssetManager am = context.getAssets(); 
    //opening the file    
    InputStream inputStream =; 
    //loading of the properties 
   catch (IOException e) { 
  return properties;

After reading the file, we have to retrieve the values of the connection parameters within through the method readPropertiesFromFile():

private void readPropertiesFromFile(Context context) { 

 //reads the configuration file
 propertiesReader new PropertiesReader(context); 

 //recovery of the parameters
 ip_address p.getProperty("ip"); 
 hostname p.getProperty("host"); 
 port p.getProperty("port");

No comments:

Post a Comment