Monday, January 28, 2013

347 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.  

347 comments:

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

    ReplyDelete
  2. 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
  3. 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
  4. after select the particulat file how to open the file

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

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

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

    ReplyDelete
  8. Really Very Helpfull Post Thnx a lot

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

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

    ReplyDelete
  11. 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
  12. Awesome.
    Thank you very much (y)

    ReplyDelete
  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. what i have to do if user not have sdcard in the device.

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

    ReplyDelete
  46. 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
  47. 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
  48. 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
  49. how to open folder in the File manger

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

    ReplyDelete
  51. 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
  52. 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
  53. This comment has been removed by the author.

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

    Website Development Company in Lucknow

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

    ReplyDelete
  56. 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
  57. 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
  58. Would you know how to add fixed banner on bottom of FileChooser activity? Any suggestion would be appreciated.

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

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

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

    ReplyDelete
  62. 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
  63. Check it once through Android Online Training Bangalore for more information on android development.

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

    ReplyDelete
  65. 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
  66. I can't browse the internal storage folder with Download folder in it. Please advise what I need to fix to do so.

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

    ReplyDelete
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. well-written and informative piece!. this blog is very helpful and we can take lots of ideas. Android App Development Company Noida

    ReplyDelete

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

    ReplyDelete
  75. 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
  76. Awesome,
    Thank you so much for sharing such an awesome blog...
    Android Training Institute

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

    ReplyDelete
  78. 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
  79. Thanks for Sharing this information about Android i like this I can share this in with my Friend Circle.
    Android Training

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

    ReplyDelete
  81. 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
  82. 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
  83. This comment has been removed by the author.

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

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

    ReplyDelete
  86. 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
  87. i m new in Android studio..... plzz help to run dis program.. i will give uh money
    whtspp 9805198061

    ReplyDelete
  88. 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
  89. 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
  90. 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
  91. Thanks for posting such amazing post. Well explained. Keep sharing
    Android Training in Delhi

    ReplyDelete
  92. 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
  93. 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
  94. 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
  95. 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
  96. 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
  97. 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
  98. 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
  99. 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
  100. Thanks for sharing Useful information with us. Keep Sharing
    Android Development in India

    ReplyDelete
  101. We, Swavish software is top mobile apps development company in Delhi NCR. The need for mobile app developers is thus increasing at a higher rate. So, we are here to develop different mobile apps for our clients.
    Website:- https://www.swavishsoftwares.com/mobileappsdevelopment.php

    ReplyDelete
  102. Website Designing Company in Delhi offer services like responsive website design, ecommerce website design, custom website design in which our web designers deal directly with each customer.

    ReplyDelete
  103. Swavish Softwares is preeminent Website Designing Company in Delhi offer services like responsive website design, ecommerce website design, custom website design in which our web designers deal directly with each customer.

    ReplyDelete
  104. I am extremely inspired by your writing skills as intelligently as with the design of your weblog. Is this a paid matter or did you modify it yourself? Anyway keep the good quality of the writing, it is rare to see a good blog like this ... Great information!Offshore Android App Developers

    ReplyDelete
  105. Thank you for your post. This is excellent information. It is amazing and wonderful to visit your site.
    iphone training institute in bangalore
    iphone job oriented course in bangalore

    ReplyDelete
  106. NISM Series viii : Securities Markets Foundation Certification Examination is for entry level professionals, who wish to make a career in the securities markets. .This examination may be a voluntary examination. The nism series viii : Securities Markets institution Certification Examination is for entry level professionals, UN agency would like to create a career within the securities markets.

    ReplyDelete
  107. Nice blog post for sharing.. Each and every Android Application development need for file explore. with the help of this post It is easy to create explore file for my device.

    thanks..

    ReplyDelete
  108. generic-sovaldi.com requires either the User or Customer or the Caregiver to confirm he/she is completely aware of the indications, side effects, drug interactions, effects of missed dose or overdose of the medicines he/she orders from us. It is imperative to seek professional advice from your physician before purchasing or consuming any medicine from generic-sovaldi.com.Viroclear 400mg
    Sofosbuvir 400mg

    ReplyDelete
  109. "The medication data gave in the nonexclusive daklinza.com is for instructive purposes just and this Website isn't proposed to give conclusion, treatment or restorative exhortation. We are not at risk for any unfriendly impacts or damage to you because of your dependence on the data in the Website. Natdac 60mg
    Mydekla 60mg"

    ReplyDelete
  110. I am really happy with your blog because your article is very unique and powerful for new reader.
    selenium training in chennai

    ReplyDelete
  111. Good Information...thanks for sharing the valuable content. Keep Updating

    ReplyDelete
  112. Nice post. By reading your blog, i get inspired and this provides some useful information. Thank you for posting this exclusive post for our vision.
    Best IOS Training institute in Bangalore

    ReplyDelete
  113. I am so proud of you and your efforts and work make me realize that anything can be done with patience and sincerity. Well I am here to say that your work has inspired me without a doubt.
    online Python certification course | python training in OMR | Python training course in Chennai

    ReplyDelete
  114. The knowledge of technology you have been sharing thorough this post is very much helpful to develop new idea. here by i also want to share this.
    Devops training in indira-nagar

    ReplyDelete
  115. Were a gaggle of volunteers as well as starting off a brand new gumption within a community. Your blog furnished us precious details to be effective on. You've got completed any amazing work!

    Data Science Training in Chennai | Data Science course in anna nagar

    Data Science course in chennai | Data science course in Bangalore

    Data Science course in marathahalli | Data Science course in btm layout

    ReplyDelete
  116. Amazing Article ! I have bookmarked this article page as i received good information from this. All the best for the upcoming articles. I will be waiting for your new articles. Thank You ! Kindly Visit Us @ Coimbatore Travels | Ooty Travels | Coimbatore Airport Taxi

    ReplyDelete
  117. This looks absolutely perfect. All these tiny details are made with lot of background knowledge. I like it a lot. 
    python training in chennai
    python training in chennai
    python training in bangalore

    ReplyDelete
  118. Its a good post to read and to learn basic things. here is STUCORNER Best android training institute in Laxmi Nagar, Delhi you can visit there site : https://goo.gl/yiCLdT

    ReplyDelete
  119. Its a good post to read and to learn basic things. here is STUCORNER Best android training institute in Laxmi Nagar, Delhi you can visit there site : Best Training institute in Delhi

    ReplyDelete
  120. Its a good post to read and to learn basic things. here is STUCORNER Best android training institute in Laxmi Nagar, Delhi you can visit there site : Best Training institute in Delhi

    ReplyDelete
  121. STUCORNER is a best place to learn web designing you can visit the site : Best web designing training institute on Laxmi Nagar, Delhi

    ReplyDelete

  122. Thanks for sharining your post

    Here is STUCORNER the Best Android training institute in Laxmi Nagar you can visit their site:
    Best Android Training institute

    ReplyDelete
  123. Nice post which I was waiting for such an article and I have gained some useful information. Wordpress Development in USA

    ReplyDelete
  124. I bookmarked it.Useful information. Lucky me I discovered your website accidentally,
    FIND YOUR JOBS HERE : Hyseplacements

    ReplyDelete
  125. Thank you for benefiting from time to focus on this kind of, I feel firmly about it and also really like comprehending far more with this particular subject matter. In case doable, when you get know-how, is it possible to thoughts modernizing your site together with far more details? It’s extremely useful to me.
    Java training in Bangalore | Java training in Marathahalli

    Java training in Bangalore | Java training in Btm layout

    Java training in Bangalore |Java training in Rajaji nagar

    Java training in Bangalore | Java training in Kalyan nagar

    ReplyDelete
  126. This is most informative and also this post most user friendly and super navigation to all posts... Thank you so much for giving this information to me.

    rpa training in chennai
    rpa training in bangalore
    rpa training in pune
    rpa training in marathahalli
    rpa training in btm

    ReplyDelete
  127. Those rules moreover attempted to wind up plainly a decent approach to perceive that other individuals online have the indistinguishable enthusiasm like mine to get a handle on incredible arrangement more around this condition
    industrial safety course in chennai

    ReplyDelete
  128. Thanks for posting this info. I just want to let you know that I just check out your site and I find it very interesting and informative. I can't wait to read lots of your posts

    angularjs-Training in pune

    angularjs Training in bangalore

    angularjs Training in bangalore

    angularjs Training in chennai

    automation anywhere online Training

    angularjs interview questions and answers

    ReplyDelete
  129. Resources like the one you mentioned here will be very useful to me ! I will post a link to this page on my blog. I am sure my visitors will find that very useful
    online Python training
    python training in chennai

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

    ReplyDelete

  131. The great service in this blog and the nice technology is visible in this blog. I am really very happy for the nice approach is visible in this blog and thank you very much for using the nice technology in this blog
    offshore safety course in chennai

    ReplyDelete
  132. The great service in this blog and the nice technology is visible in this blog. I am really very happy for the nice approach is visible in this blog and thank you very much for using the nice technology in this blogfire and safety course in chennai

    ReplyDelete
  133. NicBest Devops online Training
    Online DevOps Certification Course - Gangboard
    e tutorial. Thanks for sharing the valuable information. it’s really helpful. Who want to learn this blog most helpful. Keep sharing on updated tutorials…

    ReplyDelete
  134. Hi ! This is very informative & interesting article.Nice to read your blog post first time ever. I really appreciate this post. Thanks for sharing this awesome post.

    ReplyDelete

  135. Thanks for sharing this Informative content. Well explained. Got to learn new things from your Blog on
    linux training in hyderabad

    ReplyDelete