Monday, January 28, 2013

186 Create a simple File Explorer in Android


Many android apps need a File browser to help users work with files in their device. In this tutorial we going to create a simple File Explorer.

Here is a result of this tutorial:
Simple File Explorer Android

This project is developed in Eclipse 4.2.0.

1. Make application interface: The main layout of this app demo is very simple layout. It have one text view, one edit text and one button.


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView android:id="@+id/textview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Get File Name From SDCard" 
        android:textSize="18dp"
        android:gravity="center"
        android:layout_marginTop="10dp"     
    />   
    <RelativeLayout android:id="@+id/relativeLayout1"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"> 
        <EditText
            android:layout_alignParentLeft="true"
            android:hint="EditText"
            android:id="@+id/editText"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="15dp"
            android:ems="10"
            android:inputType="textPersonName"
            android:layout_toLeftOf="@+id/skipButton" >
        </EditText>
   
        <Button android:text="Browser"
                 android:id="@+id/skipButton"
                 android:textSize="18dp"
                 android:layout_marginTop="10dp"
                 android:layout_alignParentRight="true"
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
                 android:onClick="getfile" >
         </Button>
    </RelativeLayout>
</LinearLayout>
We show all items(folder and file) on File-explorer under a custom list view and here is the code xml layout for each row in list:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_height="wrap_content" android:orientation="vertical" android:layout_width="fill_parent">
<ImageView
    android:id="@+id/fd_Icon1"
    android:layout_width="50dip"
    android:layout_height="50dip" >
</ImageView>
               
<TextView android:text="@+id/TextView01"
    android:id="@+id/TextView01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:textStyle="bold"
    android:layout_toRightOf="@+id/fd_Icon1"
    android:layout_marginTop="5dip" 
    android:layout_marginLeft="5dip">
</TextView>
<TextView android:text="@+id/TextView02"
    android:id="@+id/TextView02"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/fd_Icon1"
    android:layout_below="@+id/TextView01"
    android:layout_marginLeft="10dip">
   
</TextView>
<TextView android:text="@+id/TextViewDate"
    android:id="@+id/TextViewDate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/TextView01"
    android:layout_alignParentRight="true"
    android:layout_marginLeft="5dip">
</TextView>
</RelativeLayout>
Each row have three text views, the first one shows the name of item, the second text view shows the number of item if that row contains a folder and show the capacity if it is a file, the last one shows the last modifying date of this item. The result is:

Simple File Explorer Android - Figure 2


2. Java Code
2.1. Code for Main Activity, when we click on the button, we will open a new activity:
package com.example.fileexplorer;
 
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.EditText;

public class FileexplorerActivity extends Activity {

        private static final int REQUEST_PATH = 1;
        String curFileName;    
        EditText edittext;
        @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fileexplorer);
        edittext = (EditText)findViewById(R.id.editText);
    }

    public void getfile(View view){
        Intent intent1 = new Intent(this, FileChooser.class);
        startActivityForResult(intent1,REQUEST_PATH);
    }
 // Listen for results.
    protected void onActivityResult(int requestCode, int resultCode, Intent data){
        // See which child activity is calling us back.
        if (requestCode == REQUEST_PATH){
                if (resultCode == RESULT_OK) {
                        curFileName = data.getStringExtra("GetFileName");
                        edittext.setText(curFileName);
                }
         }
    }
}
The result from FileChoose is a name of file.
2.2. The new activity is FileChoose extends ListActivity, here is all codes of FileChoose Activity:
package com.example.fileexplorer;

import java.io.File;
import java.sql.Date;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.text.DateFormat;
import android.os.Bundle;
import android.app.ListActivity;
import android.content.Intent;
import android.view.View;
import android.widget.ListView;

public class FileChooser extends ListActivity {

    private File currentDir;
    private FileArrayAdapter adapter;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        currentDir = new File("/sdcard/");
        fill(currentDir);
    }
    private void fill(File f)
    {
        File[]dirs = f.listFiles();
                 this.setTitle("Current Dir: "+f.getName());
                 List<Item>dir = new ArrayList<Item>();
                 List<Item>fls = new ArrayList<Item>();
                 try{
                         for(File ff: dirs)
                         {
                                Date lastModDate = new Date(ff.lastModified());
                                DateFormat formater = DateFormat.getDateTimeInstance();
                                String date_modify = formater.format(lastModDate);
                                if(ff.isDirectory()){
                                       
                                       
                                        File[] fbuf = ff.listFiles();
                                        int buf = 0;
                                        if(fbuf != null){
                                                buf = fbuf.length;
                                        }
                                        else buf = 0;
                                        String num_item = String.valueOf(buf);
                                        if(buf == 0) num_item = num_item + " item";
                                        else num_item = num_item + " items";
                                       
                                        //String formated = lastModDate.toString();
                                        dir.add(new Item(ff.getName(),num_item,date_modify,ff.getAbsolutePath(),"directory_icon"));
                                }
                                else
                                {
                                        fls.add(new Item(ff.getName(),ff.length() + " Byte", date_modify, ff.getAbsolutePath(),"file_icon"));
                                }
                         }
                 }catch(Exception e)
                 {   
                         
                 }
                 Collections.sort(dir);
                 Collections.sort(fls);
                 dir.addAll(fls);
                 if(!f.getName().equalsIgnoreCase("sdcard"))
                         dir.add(0,new Item("..","Parent Directory","",f.getParent(),"directory_up"));
                 adapter = new FileArrayAdapter(FileChooser.this,R.layout.file_view,dir);
                 this.setListAdapter(adapter);
    }
    @Override
        protected void onListItemClick(ListView l, View v, int position, long id) {
                // TODO Auto-generated method stub
                super.onListItemClick(l, v, position, id);
                Item o = adapter.getItem(position);
                if(o.getImage().equalsIgnoreCase("directory_icon")||o.getImage().equalsIgnoreCase("directory_up")){
                                currentDir = new File(o.getPath());
                                fill(currentDir);
                }
                else
                {
                        onFileClick(o);
                }
        }
    private void onFileClick(Item o)
    {
        //Toast.makeText(this, "Folder Clicked: "+ currentDir, Toast.LENGTH_SHORT).show();
        Intent intent = new Intent();
        intent.putExtra("GetPath",currentDir.toString());
        intent.putExtra("GetFileName",o.getName());
        setResult(RESULT_OK, intent);
        finish();
    }
}
2.3. Create FileArrayAdapter for Listview above:
package com.example.fileexplorer;

import java.util.List; 
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class FileArrayAdapter extends ArrayAdapter<Item>{

        private Context c;
        private int id;
        private List<Item>items;
       
        public FileArrayAdapter(Context context, int textViewResourceId,
                        List<Item> objects) {
                super(context, textViewResourceId, objects);
                c = context;
                id = textViewResourceId;
                items = objects;
        }
        public Item getItem(int i)
         {
                 return items.get(i);
         }
         @Override
       public View getView(int position, View convertView, ViewGroup parent) {
               View v = convertView;
               if (v == null) {
                   LayoutInflater vi = (LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                   v = vi.inflate(id, null);
               }
              
               /* create a new view of my layout and inflate it in the row */
                //convertView = ( RelativeLayout ) inflater.inflate( resource, null );
               
               final Item o = items.get(position);
               if (o != null) {
                       TextView t1 = (TextView) v.findViewById(R.id.TextView01);
                       TextView t2 = (TextView) v.findViewById(R.id.TextView02);
                       TextView t3 = (TextView) v.findViewById(R.id.TextViewDate);
                       /* Take the ImageView from layout and set the city's image */
                                ImageView imageCity = (ImageView) v.findViewById(R.id.fd_Icon1);
                                String uri = "drawable/" + o.getImage();
                           int imageResource = c.getResources().getIdentifier(uri, null, c.getPackageName());
                           Drawable image = c.getResources().getDrawable(imageResource);
                           imageCity.setImageDrawable(image);
                      
                       if(t1!=null)
                       t1.setText(o.getName());
                       if(t2!=null)
                                t2.setText(o.getData());
                       if(t3!=null)
                                t3.setText(o.getDate());
               }
               return v;
       }
}
2.4. Finally we create file item.java for item object:
package com.example.fileexplorer;

public class Item implements Comparable<Item>{
        private String name;
        private String data;
        private String date;
        private String path;
        private String image;
       
        public Item(String n,String d, String dt, String p, String img)
        {
                name = n;
                data = d;
                date = dt;
                path = p;
                image = img;           
        }
        public String getName()
        {
                return name;
        }
        public String getData()
        {
                return data;
        }
        public String getDate()
        {
                return date;
        }
        public String getPath()
        {
                return path;
        }
        public String getImage() {
                return image;
        }
        public int compareTo(Item o) {
                if(this.name != null)
                        return this.name.toLowerCase().compareTo(o.getName().toLowerCase());
                else
                        throw new IllegalArgumentException();
        }
}

3.DEMO
3.1. Run application
Simple File Explorer Android - Figure 3


3.2. Click on a button


3.3. After click on a file in File-explorer, show this file name on edit text on Main activity


You can download all source codes of this tutorial from here.  

186 comments:

  1. Awesome and very detailed. Thank you very much.

    ReplyDelete
  2. Nice post.Give it up. Thanks for share this article. For more visit:Web App Development

    ReplyDelete
  3. you put the name in a edittex, i need put a image in a imageview how i can do that... please help :P

    ReplyDelete
    Replies
    1. jose roberto amaro aguilarMay... No entiendo muy bien tu duda, pero podrian ser estas tres posibles soluciones:

      1.-
      Si solo quieres mostrar un ImageView, tienes que rediseñar el layout que representa cada archivo y recodificar el adaptador (el que recibe la lista de items [Archivos y directorios] )

      2.-
      En este blog el usa una variable string para almacenar el nombre de la imagen (Ej: "directory_up"). Lo que podrias hacer, es mejor alamcenar el ID del recurso y evitarte la linea en donde el obtiene el ID en base al nombre

      3.-
      Para asignar una imagen a una ImageView usando la ruta completa del archivo, se puede hacer de la siguiente forma:

      Android.Graphics.Bitmap myBitmap = Android.Graphics.BitmapFactory.DecodeFile(Ruta_Completa_Archivo);

      MiImageView.SetImageBitmap(myBitmap);

      Delete
    2. Hi, I created a simple and light weight file Browser for android
      https://github.com/amitAnvay/Android-File-Browser

      Delete
  4. Gracias!!! Me ha servido bastante. Hubo unas cosas que se me complicaron.. ya que lo hice bajo c#, pero de ahi en fuera.. todo bien.

    ReplyDelete
  5. after select the particulat file how to open the file

    ReplyDelete
  6. Nice guide,can teach how to develope File Explorer that browser file in server

    ReplyDelete
  7. can u please tell me how to open file that is in the edittext

    ReplyDelete
  8. and can u tell me how to open a excel file from sdcard using this example

    ReplyDelete
  9. Really Very Helpfull Post Thnx a lot

    ReplyDelete
  10. This comment has been removed by a blog administrator.

    ReplyDelete
  11. my apps ganarate error when i clicked on Browser button.

    ReplyDelete
  12. urgent!!!
    hello!
    thank you for this tutorial,
    but I have a small problem with your code, when I press next browse: "could not find a method getfile(View) in the activity class for onClick handler "
    can you help me? please

    ReplyDelete
    Replies
    1. my apps also generate error when i clicked on Browser button.plzzzz can u exlpain how to solve ...

      Delete
    2. try on clickListener

      Delete
    3. Seems your java classes are not defined in AndroidManifest.xml

      Delete
  13. my click the button opens the screen but nothing appears! put him in the cell error could help me?

    ReplyDelete
  14. You rock for this excercise. I finished everything according to the guidelines yet rather than my
    index.html substance, I am getting "Hi World!" message. Under www envelope I have put index.html and a benefits organizer holding css and js indexes.
    Develop Android Apps // Mobile
    Application Development
    // Android Application Development

    ReplyDelete
  15. ủa sao phần khai báo currentDir = new File("/sdcard1/"); của mình chạy bị lỗi nhỉ :(

    ReplyDelete
  16. This file explorer library is awesome, thank you so much.

    ReplyDelete
  17. This code is working explained well but its not working for the android device having internalmemory or having different SDCARD name like "sdcard0" or "ExtSdcard"

    ReplyDelete
  18. Hi thanks for sharing the tutorials!

    But How can we implement the fileexplorer instead of ListActivity ,
    we prefer to implement into the ListView.... ?

    ReplyDelete
  19. Nice tutorial!!
    But there is a problem: when I click on a folder nothing happens. Solutions?

    ReplyDelete
    Replies
    1. Sorry!! I solved the problem. All works perfectly!

      Delete
  20. How can I browse files not in the SD card?

    ReplyDelete
  21. geting error at this code Collections.sort(dir);

    ReplyDelete
  22. Item was a predefined function How can we create a another Item.java

    ReplyDelete
  23. sorry my English
    i have a question i need to show only .txt files and folders how can i do that
    hey thank u so much

    ReplyDelete
    Replies
    1. Hey Ömer whatsapp i want to help you
      this is your code

      int dotposition= file.lastIndexOf(".");
      //String filename_Without_Ext = file.substring(0,dotposition);
      String ext = file.substring(dotposition + 1, file.length());

      i'm glad to help you :) see u

      Delete
  24. Can we really open the chosen file? What I mean is if I have selected a jpg file, can the image be displayed? or this explorer is just to show what is inside the storage? Thanks!

    ReplyDelete
  25. This comment has been removed by the author.

    ReplyDelete
  26. Check out my blog. It explains how to create a Directory Chooser. This code can be adapted to create a File Chooser as well, and even integrated into a fully fledged file manager app.

    http://androidprogrammeringcorner.blogspot.com/p/android.html?m=1

    Best regards,

    Philip

    ReplyDelete
  27. Hi, I´m design with a samsung tablet, and I implement this code in an activity, works fine in landscape orientation, but in portrait orientation the application shows the error "android.content.res.Resources$NotFoundException: Resource ID #0x7f040018", in this part:
    LayoutInflater vi = (LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    v = vi.inflate(id, null);
    Thanks in advance.

    ReplyDelete
    Replies
    1. Hi, I found the problem, and no has relation with the code, thanks

      Delete
  28. Thanks for the tutorial.
    First, I should mention that if a blank page is shown after pressing “Browser” button, as some people stated in comments, READ_EXTERNAL_STORAGE permission should be granted to the app by adding

    in the manifest file.

    I have a problem. A "Resources$NotFoundException" exception is thrown when
    Drawable image = c.getResources().getDrawable(imageResource);
    is executed. It is because that imageResource is always 0 after executing
    int imageResource = c.getResources().getIdentifier(uri, null, c.getPackageName());

    Can anyone help me?

    ReplyDelete
    Replies
    1. **correction:
      by adding
      uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
      in the manifest file.

      Delete
    2. I believe this is no longer sufficient after API 23:

      http://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en

      However, these steps seem to pull up a permissions dialog for me, so I'm still not sure how to resolve the blank screen problem.

      Delete
  29. how to execute this project in android studio?

    ReplyDelete
    Replies
    1. 1. Download source code and extract to FileExplorer folder
      2. Open Android Studio
      3. Select menu File -> Close Project
      4. From welcome form -> Select Import Project(Eclipse ADT, Gradle, ect)
      5. Browse FileExplorer folder (source code) -> OK -> NEXT -> FINISH
      6. Waiting process until completed.

      Delete
  30. Thanks....
    You did great job for us...

    ReplyDelete
  31. Thanks....
    You did great job for us...

    ReplyDelete
  32. Thanks!!!!!!!!!!!!
    It saved me a lot of time

    ReplyDelete
  33. as I can explore a folder on my pc with android through code.

    ReplyDelete
  34. It works really well for all my android phone users, except for 2 people with Samsung Galaxy Core Prime (Android v4.4). I get the following Stack Trace message:
    android.view.InflateException: Binary XML file line #20: Error inflating class android.widget.ListView
    ...
    Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x7f010080 a=2}
    ...
    Any ideas?

    ReplyDelete
  35. i have used this code but when we click on browse button blank screen i opening.
    i want to know that which permisstions and gradle dependencies will show .

    ReplyDelete
  36. when we click on browse button this error is coming


    android.content.res.Resources$NotFoundException: Resource ID #0x0

    ReplyDelete
    Replies
    1. in resources (drawables) you have to put three icons:
      file_icon
      directory_icon
      directory_up

      Delete
  37. This can't see my external SD card..It works perfectly but I really need to see the external SD. Any help would be incredibly appreciated.

    ReplyDelete
    Replies
    1. Never mind! I achieved this by using the following as the current directory;
      Environment.getExternalStorageDirectory().getPath()
      in place of the string "sdcard".
      Thank you GREATLY for this tutorial, you've spared me a ton of frustration.

      Delete
  38. Im using this kind of code in fragment, when i click on folder, i refresh the adaptor, i have to handle the back press, how will i do that

    ReplyDelete
  39. Thank you. I just wanted to know where to ship it since I know now to keep producing it

    Android Training in Chennai

    ReplyDelete
  40. How can we make the back button go to the upper directory?

    ReplyDelete
  41. Thank you for sharing this article, it is great info provide me. visit best leading
    mobile app developer

    ReplyDelete
  42. Thank you so much for sharing this code. Very useful. I've added the following code to prevent file browsing reset on orientation change:

    @Override
    public void onSaveInstanceState(Bundle savedInstanceState) {
    super.onSaveInstanceState(savedInstanceState);
    // Save UI state changes to the savedInstanceState.
    // This bundle will be passed to onCreate if the process is
    // killed and restarted.
    savedInstanceState.putString("currentDir", currentDir.toString());
    // etc.
    }
    @Override
    public void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    // Restore UI state from the savedInstanceState.
    // This bundle has also been passed to onCreate.
    currentDir = new File (savedInstanceState.getString("currentDir"));
    fill(currentDir);
    }

    Thanks. Cheers :)
    Zox
    Piandro

    ReplyDelete
  43. this blog really helpful blog to everyone... thanks for sharing

    android training institute in chennai

    ReplyDelete
  44. You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...

    Mobile App Development Company
    Android app Development Company
    ios app development Company
    Mobile App Development Companies

    ReplyDelete
  45. "Nice it seems to be good post... It will get readers engagement on the article since readers engagement plays an vital role in every blog.. i am expecting more updated posts from your hands."!!

    android apps development service

    ReplyDelete
  46. what i have to do if user not have sdcard in the device.

    ReplyDelete
  47. there is no File view layout code plz provide

    ReplyDelete
  48. Great one Keep sharing your blogs, it was very useful. For more information on Android App Development my website can also be used
    Top Android App Development Company in India

    ReplyDelete
  49. Very Useful information for freshers, keep sharing your blogs. My website can also be used for the else information about android app development.
    Top Android App Development Company in India

    ReplyDelete
  50. Great Work. This post is worth everyone’s attention. web design company in chennai

    ReplyDelete
  51. It's interesting that many of the bloggers your tips helped to clarify a few things for me as well as giving... very specific nice content.Android training in chennai with placement | Android Training in chennai |Android Training in Velachery

    ReplyDelete
  52. This information is impressive; I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.Android Training institute in chennai with placement | Best Android Training in velachery

    ReplyDelete
  53. how to open folder in the File manger

    ReplyDelete
  54. These ways are very simple and very much useful, as a beginner level these helped me a lot thanks fore sharing these kinds of useful and knowledgeable information.
    Mobile App Development Company
    Mobile App Development Companies

    ReplyDelete
  55. This comment has been removed by the author.

    ReplyDelete


  56. Thanks for posting useful information.You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...Really it was an awesome article...very interesting to read..
    please sharing like this information......
    Android training in chennai
    Ios training in chennai


    ReplyDelete
  57. Very informative ..i suggest this blog to my friends..Thank you for sharing Information...

    Android ios App Developers in India

    Android applications taking off high in the market, it may very well appear a piece of cake to the layman as to an Android Application Development Company in India.

    ReplyDelete
  58. This article is very much helpful and i hope this will be an useful information for the needed one. Keep on updating these kinds of informative things...

    Android App Development Company
    Android App Development Company

    ReplyDelete
  59. Being the top Android training in Noida Croma campus has placed more than 96% percent candidates in every single batch. We have expert placement officers who work for best placements of students in big IT companies with exciting career and high salaries. So call now Croma campus and get free counselling and demo classes. +91-7503121768

    ReplyDelete
  60. This comment has been removed by the author.

    ReplyDelete
  61. I wondered upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I’ll be subscribing to your feed and I hope you post again soon.

    Android App Development Company

    ReplyDelete

  62. Nice it seems to be good post... It will get readers engagement on the article since readers engagement plays an vital role in every blog.. i am expecting more updated posts from your hands.
    PHP training in chennai

    ReplyDelete
  63. I just want to say that all the information you have given here is awesome...great and nice blog thanks sharing..Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...
    Web Design Development Company
    Web design Company in Chennai
    Web development Company in Chennai

    ReplyDelete
  64. it is really amazing...thanks for sharing....provide more useful information...
    Mobile app development company

    ReplyDelete
  65. Nice post. Thanks for sharing this relevant and informative post. This is really helpful.

    Website Development Company in Lucknow

    ReplyDelete
  66. it is really amazing...thanks for sharing....provide more useful information...
    Mobile app development company

    ReplyDelete
  67. Being new to the blogging world I feel like there is still so much to learn. Your tips helped to clarify a few things for me as well
    iOS App Development Company

    ReplyDelete
  68. Nice blog.. Thanks for sharing informative blog.. I just want to say that all the information you have given here is awesome...great and nice blog thanks sharing. Android development company

    ReplyDelete
  69. I was doing a programming Custom Research Re-Writing, and this blog has provided me with not only resourceful information but also programs that have helped me rewrite my research paper very fast thus meeting my submission deadlines. Thanks so much for the continual commitment to keep us updated with new programming and technological information.

    ReplyDelete
  70. You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...
    Fitness SMS
    Fitness Text
    Salon SMS
    Salon Text
    Investor Relation SMS
    Investor Relation Text

    ReplyDelete
  71. Would you know how to add fixed banner on bottom of FileChooser activity? Any suggestion would be appreciated.

    ReplyDelete
  72. Online mba in India
    DEIEDU is the best online Institute in the world with high class course outline and up to date learning materials. DEIEDU is providing the online mba in india, online mba in india, Distance learning mba courses in india, Correspondence mba in India Mba from distance in India, Online Executive Mba in India, distance Mba from India, Online distance mba in India. Distance learning mba degree in India.
    Address:
    401, fourth floor sg alpha tower
    Vashundhra (up)
    Phone: 9811210788
    Email: info@deiedu.in
    Website: http://www.deiedu.in/
    online mba in india

    ReplyDelete
  73. Online mba in India
    DEIEDU is the best online Institute in the world with high class course outline and up to date learning materials. DEIEDU is providing the online mba in india, online mba in india, Distance learning mba courses in india, Correspondence mba in India Mba from distance in India, Online Executive Mba in India, distance Mba from India, Online distance mba in India. Distance learning mba degree in India.
    Address:
    401, fourth floor sg alpha tower
    Vashundhra (up)
    Phone: 9811210788
    Email: info@deiedu.in
    Website: http://www.deiedu.in/
    online mba in india

    ReplyDelete
  74. do you have link how to create an app similar to vender app?

    ReplyDelete
  75. Your blog is an interesting for reading. Thank you for Sharing.Mobile App development companies

    ReplyDelete
  76. what if i want to browse from internal storage instead of sd card or both?

    ReplyDelete
  77. Projects done by Nitroindia-nitroindia is one of the leading mobile app development companies in India. Our mobile app development agency has an experienced team to work on different projects. This application might return in-built or are often downloaded by customers from the individual device platform, free or paid, or delivered as net application to supply AN "application-like" expertise inside application.

    ReplyDelete
  78. great and nice blog thanks sharing..I just want to say that all the information you have given here is awesome...Thank you very much for this one.
    web design Company
    web development Company
    web design Company in chennai
    web development Company in chennai
    web design Company in India
    web development Company in India

    ReplyDelete
  79. Check it once through Android Online Training Bangalore for more information on android development.

    ReplyDelete
  80. Nice to read this article.. Thanks for sharing....
    Android training

    ReplyDelete
  81. good article. I like to read this post because I met so many new facts about it actually. Thanks a lot. Android App Development Company Noida

    ReplyDelete
  82. The blog was absolutely fantastic! Lot of great information which can be helpful in some or the other way. Keep updating the blog, looking forward for more contents...Great job, keep it up..Website Designing Company Bangalore | Web Development Company Bangalore

    ReplyDelete
  83. I can't browse the internal storage folder with Download folder in it. Please advise what I need to fix to do so.

    ReplyDelete
  84. Hai,
    It's very nice blog
    Is Android 8 OREO is better than Noughat or not?

    Thanks for Your suggestion...

    ReplyDelete
  85. Awesome,
    Thank you so much for sharing such an awesome blog...
    ios app development course

    ReplyDelete
  86. It is an awesome sharing...Mobile App Development in Delhi
    I am particularly satisfied with the substance you have said. I needed to thank you for this extraordinary article.Mobile App Development in Delhi

    ReplyDelete
  87. good article. I like to read this post because I met so many new facts about it actually. Thanks a lot.Android App Development Company in India

    ReplyDelete
  88. This is a very good tip especially to those fresh to the blogosphere.
    Simple but very precise info… Thanks for sharing this one.
    Android App Development Company in USA

    ReplyDelete
  89. Need to figure out how to create Android applications. You'll figure out how to make an Android venture with Android Studio and run a debuggable adaptation of the application. You'll likewise take in some Android engineering and the key standards hidden its outline. You will pick up a comprehension of the procedures that are engaged with an Android created application and you will get comfortable with Android improvement apparatuses and UI.
    Android App Development in Gurugram

    ReplyDelete
  90. The Goods and Services Tax (GST) is a Value Added Tax (VAT) to be implemented in India, the decision on which is pending.
    It will replace all indirect taxes levied on goods and services by the Indian Central and State governments. It is aimed at being comprehensive for most goods and services.India is a federal republic, and the GST will thus be implemented concurrently by the central and state governmentsas the Central GST and the State GST r espectively
    Item wise GST Rate List

    ReplyDelete
  91. well-written and informative piece!. this blog is very helpful and we can take lots of ideas. Android App Development Company Noida

    ReplyDelete

  92. Nice post.Give it up. Thanks for share this article. For more visit: Android App Development Company

    ReplyDelete
  93. Thanks for the information. Very helpful blog for people who want know that Android Training in Ahmedabad, here I am sharing additional details of best Android App Development just go with this Android App Development

    ReplyDelete
  94. Linux Online training in India – Webtrackker Technology is providing the linux online training with 100% placement support. If you are looking for the BEST LINUX & UNIX Training Institute In india or linux online training from india, live project based LINUX & UNIX online training then you can contact to us.

    Python online training in India, RPA Online training in India, Salesforce online training in india, AWS online training in india, Cloud Computing Online Training in India, SAS Online Training in india, Hadoop online training in INDIA, Oracle DBA online training in India, SAP online Training In india, Linux Online training in India








    ReplyDelete
  95. Nice blog. Thanks for sharing such great information.Develop android application Android development services , Android development company

    ReplyDelete
  96. Awesome,
    Thank you so much for sharing such an awesome blog...
    Android Training Institute

    ReplyDelete
  97. I am following your blog regularly and got great information. Thanks for an insightful post.These tips are really helpful. Thanks a lot.Keep it up.Keep blogging.!!

    Best SEO Company in Bangalore
    Website Design and Development Company in Bangalore
    E-Commerce Web Design Company in Bangalore
    Internet Marketing Company in Bangalore

    ReplyDelete
  98. Thank You for sharing the basic concept.Keep posting
    Android Course in Noida

    ReplyDelete
  99. Great!!This blog is a very nice blog.Thank you for sharing this blog which contains a lot of information. Mobile Application Development in Bangalore | Android App Development Company Bangalore

    ReplyDelete
  100. Thanks for Sharing this information about Android i like this I can share this in with my Friend Circle.
    Android Training

    ReplyDelete
  101. How to onItemLongClick or onLongClick show item from this list?

    ReplyDelete
  102. This would seem to have the name of the list, but I do not have a list name!!!
    dataList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
    public boolean onItemLongClick(AdapterView arg0, View v, int index, long arg3) {

    // imageId = imageArry.get(index).getID();
    name1=imageArry.get(index).getName1();
    Toast.makeText(getApplicationContext(), name1 , Toast.LENGTH_SHORT).show();
    return true;
    }
    });

    ReplyDelete
  103. However, stay up the nice quality writing, it is uncommon to see a nice blog like this one...Great Information!!! App Development Company in Bangalore

    ReplyDelete
  104. This is incredible posting! I quite enjoyed reading it, you happen to be a great author. I will remember to bookmark your blog and will eventually come back very soon. Also share with my community and friends about this.
    Web development company in bangalore
    Outsource magento ecommerce services india
    ECommerce Website developers in bangalore

    ReplyDelete
  105. I have now dealt with the problem now for the longer posting on the item the desired information appears.

    ReplyDelete
  106. Thank you for sharing this article, it is very easy to understand and informative. Excellent!

    ReplyDelete
  107. Thanks, Learned a lot of new things from your post! Good creation and HATS OFF to the creativity of your mind.
    Very interesting and useful blog!
    Android Training in Gurgaon



    ReplyDelete
  108. We Are Providing Services like app install, SEO, ASO, Social Media Marketing, Pay Per Click, Cross App Promotion , Mobile App Development, Web Development And Web Designing In a cheap price. Visit https://www.storetopper.com for this services.

    ReplyDelete
  109. These ways are very simple and very much useful, as a beginner level these helped me a lot thanks fore sharing these kinds of useful and knowledgeable information.
    ios App Development Company in India
    Android App Development Company in India
    Mobile App Development Company in India

    ReplyDelete
  110. i m new in Android studio..... plzz help to run dis program.. i will give uh money
    whtspp 9805198061

    ReplyDelete
  111. It is really a great work and the way in which u r sharing the knowledge is excellent.Thanks for helping me to understand Creat a simple File Explorer in Android. As a beginner in java programming your post help me a lot.Thanks for your informative article
    Android Training in chennai | Android Training institute | Android Training in Velachery

    ReplyDelete
  112. Omnist Tech Hub is a Professional Custom Mobile Application Development Company in India, offers Iphone & Android Mobile App Development for every type of companies or businesses. We design and develop an application that makes sense and required for every business. Visit at http://omnisttechhub.com/ for details.

    ReplyDelete
  113. Best iOS Summer Training Institute in Noida | iOS Summer Internship

    KVCH offers Best 6 Weeks iOS Summer Training in Noida. KVCH is a standout amongst other Training Institute for iOS App Development course. KVCH enhances the learning with job oriented iOS Summer Internship and guarantees 100% placement with top MNCs.
    For more visit
    best ios summer training in noida

    ios summer internship

    ReplyDelete
  114. Thanks for posting such amazing post. Well explained. Keep sharing
    Android Training in Delhi

    ReplyDelete
  115. CIITN is the Best Php training institute in Noida and delhi Ncr. You will get Live Project Training on PHP by our PHP expert who have 5+ year industrial experience.Focus on practical and live project training. In our PHP training, we you will learn core PHP, advance PHP, HTML, CSS, JavaScript, jQuery, Bootstrap, Cake PHP and Wordpress.CIITN provides 100% job assistance in PHP training. CIITN is well known PHP coaching center because our 100% PHP students are placed now.


    Ciitnoida provides Core and java training institute in noida. We have a team of experienced Java professionals who help our students learn Java with the help of Live Base Projects. The object-oriented, class-based build of Java has made it one of most popular programming languages and the demand of professionals with certification in Advance Java training is at an all-time high not just in India but foreign countries too.

    By helping our students understand the fundamentals and Advance concepts of Java, we prepare them for a successful programming career. With over 13 years of sound experience, we have successfully trained hundreds of students in Noida and have been able to turn ourselves into an institute for best Java training in Noida.


    java training institute in noida
    php training in noida
    linux training in noida
    linux institute in noida
    java course in noida

    ReplyDelete
  116. I read this article. I think You put a lot of effort to create this article. I appreciate your work.
    Dissertation Writing Services

    ReplyDelete
  117. Bulk SMS is brilliant, cost-effective, promotional, advertising service, and reasonable, these India service industry has given rise to some such aspects for which even the small scale and large scale industry are opting for these low-priced service profit.

    http://truebulksms.com/bulk-sms.html

    ReplyDelete
  118. Bulk SMS is brilliant, cost-effective, promotional, advertising service, and reasonable, these India service industry has given rise to some such aspects for which even the small scale and large scale industry are opting for these low-priced service profit.

    http://truebulksms.com/bulk-sms.html

    ReplyDelete
  119. Bulk SMS is brilliant, cost-effective, promotional, advertising service, and reasonable, these India service industry has given rise to some such aspects for which even the small scale and large scale industry are opting for these low-priced service profit.

    http://truebulksms.com/bulk-sms.html

    ReplyDelete
  120. Bulk SMS is brilliant, cost-effective, promotional, advertising service, and reasonable, these India service industry has given rise to some such aspects for which even the small scale and large scale industry are opting for these low-priced service profit.
    Bulk SMS marketing is the best way for marketing your brand these days. Bulk SMS marketing is on the top of the list of most profitable yet useful approaches for any enterprise that wants to advertise and market the brand that it offers, to its potential customers. One can surely expect a huge amount of money, and a great client stand as well by using bulk SMS services.

    http://truebulksms.com/bulk-sms.html

    ReplyDelete
  121. Thank you for your post. This is excellent information. It is amazing and wonderful to visit your site.

    Best Linux training in Noida
    Linux Training Institute in Noida
    Shell Scripting Training Institute in Noida

    ReplyDelete
  122. SMS is a popular form of communication. For low cost and usability linked with SMS, modern mobile users rather using this way to communicate, rather than calling. Short Messaging Service is the system through which one can send messages to other mobile phones in text format.



    Bulk SMS services open doors to unlimited possible in terms of creating awareness specially for start ups. Read more to understand how it can benefit your undertaking.
    Mobile: 9910589191
    http://truebulksms.com/services.html

    ReplyDelete
  123. SMS is a popular form of communication. For low cost and usability linked with SMS, modern mobile users rather using this way to communicate, rather than calling. Short Messaging Service is the system through which one can send messages to other mobile phones in text format.



    Bulk SMS services open doors to unlimited possible in terms of creating awareness specially for start ups. Read more to understand how it can benefit your undertaking.
    Mobile: 9910589191
    http://truebulksms.com/services.html

    ReplyDelete
  124. SMS is a popular form of communication. For low cost and usability linked with SMS, modern mobile users rather using this way to communicate, rather than calling. Short Messaging Service is the system through which one can send messages to other mobile phones in text format.



    Bulk SMS services open doors to unlimited possible in terms of creating awareness specially for start ups. Read more to understand how it can benefit your undertaking.
    Mobile: 9910589191
    http://truebulksms.com/services.html

    ReplyDelete
  125. Can a mobile app help you tap into the audiences worldwide? Yes, it can, because in today's mobile era, if you want to grow your brand exponentially, then you require a website too for sprucing it up. So, count on the best mobile app development services in the USA now.

    ReplyDelete
  126. Nice Blog, When i was read this blog i learnt new things & its truly have well stuff related to developing technology, Thank you for sharing this blog.
    iphone app training course
    Best ios training in Hyderabad


    ReplyDelete
  127. Bulk SMS is brilliant, cost-effective, promotional, advertising service, and reasonable, these India service industry has given rise to some such aspects for which still the small scale and large scale industry are opting for these low-priced services profit.

    ReplyDelete
  128. Pro Integrate is one of the best technology companies which gives you the best services and also provides mixed working environment On Site as well as Nearshore. The goal of our company is to help match employers who have job openings with qualified employees who are available. We provided specific resources, as requested, to be integrated in our partner’s projects. Business consultancy like us provides information, consulting, and insights to importers and exporters so that they can take accurate decisions.

    ReplyDelete
  129. Bulk SMS services is the best mode to deliver your message to your customer then it is the newest choice for most of the companies these days.

    ReplyDelete
  130. Nowadays, company like Pro Integrate wants their IT consultants to offer them staffing services. Several surveys have proven that IT consulting is really important. More and more companies are spending on these services. So we provide better and improved access to resources. Information which we provide cannot be done by the IT employees of your organization.

    ReplyDelete
  131. Bulk SMS services is the best mode to deliver your message to your customer then it is the newest choice for most of the companies these days.

    ReplyDelete
  132. Pro Integrate is one of the best technology companies which gives you the best services and also provides mixed working environment On-Site as well as Nearshore. The goal of our company is to help match employers who have job openings with qualified employees who are available. We provided specific resources, as requested, to be integrated into our partner’s projects. Business consultancy like us provides information, consulting, and insights to importers and exporters so that they can take accurate decisions.

    ReplyDelete
  133. Thanks for sharing Useful information with us. Keep Sharing
    Android Development in India

    ReplyDelete