free website stats program
9:12 am - Wednesday September 3, 2014

Membuat File List di Android

progress bar

Baiklah Tanpa berbasa-basi lagi saya akan menjelaskan apa maksud artikel saya ini :D
nah, di artikel saya tentang Download File dengan Progress Dialog di Android, saya akan mengeditnya atau bisa dibilang menambahinya, yang di artikel sebelumnya hanya bisa mendownload kemudian tombol cancel, di artikel yang baru ini saya akan membuat list yang hasil downloadnya  tersimpan di sdcard dan akan menampilkan list dari file yang baru saja di download.

Sebaiknya yang baru membaca artikel ini ada baiknya membaca artikel saya yang sebelumnya :).

Oke karena kita melanjutkan hubungan (weleh weleh XD)  yang sudah ada maka tinggal dibuka saja project yang sebelumnya yang telah dibuat.

1. Edit file Progress.java seperti yang saya maksud;

		/**
		 * After completing background task
		 * Dismiss the progress dialog
		 * **/
		@Override
		protected void onPostExecute(String file_url) {
			// dismiss the dialog after the file was downloaded
			dismissDialog(progress_bar_type);

			Intent i = new Intent(Progress.this, AndroidExplorer.class);
			startActivity(i);
			// Displaying downloaded image into image view
			// Reading image path from sdcard
		}

Pasti ada error kan :D… haha

2. Buat file java baru dengan namanya AndroidExplorer.java

package progress.com;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class AndroidExplorer extends ListActivity {
	TextView selection;

private List<String> list = new ArrayList<String>();
public void onCreate(Bundle savedInstanceState){
	super.onCreate(savedInstanceState);
	//setContentView(R.layout.row);
	File file = new File(Environment.getExternalStorageDirectory() File.separator "MyFiles");

	if(!file.exists()){
		file.mkdirs();
	}
	//ListView lv = getListView();
	list = getSD();
	this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list));
}

protected void onListItemClick(ListView l , View v, int position, long id)
{
	super.onListItemClick(l, v, position, id);
	Object o = this.getListAdapter().getItem(position);
	String pilihan = o.toString();
	//Toast.makeText(this, "hallo" pilihan, Toast.LENGTH_LONG).show();
	pilihan.trim();
	tampilkanPilihan(pilihan);
}

private void Dann musst du dich nur noch mit Thors Hammer durch das Bonus-Game schlagen und kannst einen der drei Jackpots gewinnen! The Rolls Royce der  <a href="http://book-of-ra-kostenlos.com/">online spiele book of ra kostenlos</a>  slots. tampilkanPilihan(String pilihan2) {
	// TODO Auto-generated method stub
	Intent i = null;
	Log.d("nilai", " " pilihan2);
	i = new Intent(AndroidExplorer.this, Single.class);

	if(pilihan2.equals("downloadedfile8.jpg"))
	{
		//Toast.makeText(this, "hallo" pilihan2, Toast.LENGTH_LONG).show();
		i.putExtra("file", pilihan2);
	}
	else if(pilihan2.equals("downloadedfile2.jpg"))
	{
		//Toast.makeText(this, "downloadfile2", Toast.LENGTH_LONG).show();
//		i = new Intent(AndroidExplorer.this, Single.class);
		i.putExtra("file", pilihan2);
	}
	startActivity(i);

}

private List<String> getSD() {

	List<String> item = new ArrayList<String>();
	File f = new File(Environment.getExternalStorageDirectory() File.separator );
	File[] files = f.listFiles();

	for(int i =0 ; i<files.length; i ){
		File file = files[i];

		if(!file.isDirectory())
		{
			if(file.canRead())
			{
				long size = file.length()/1024;
				String myfile = file.getPath().substring(file.getPath().lastIndexOf("/") 1);
						//file.getPath().length());
				String myfileku = file.getName();

				String fileku = myfile.toString();
				myfileku.trim();
				item.add(myfileku);

			}
		}

	}

	// TODO Auto-generated method stub
	return item;
}

}

3. Buat file xml baru dengan nama row.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="match_parent"
 android:layout_height="match_parent">
 <TextView android:id="@ id/product_label"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:textSize="25dip"
 android:textStyle="bold"
 android:padding="10dip"
 android:textColor="#ffffff"/>

<ImageView android:id="@ id/my_imageku"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"/>
</LinearLayout>

4. Buat file java yang bernama Single.java

package progress.com;

import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Environment;
import android.widget.ImageView;
import android.widget.TextView;

public class <a href="http://www.phpaide.com/?langue=fr/">http://www.phpaide.com/?langue=fr</a> Single extends Activity {

	ImageView my_image;
	 public void onCreate(Bundle savedInstanceState) {
	 super.onCreate(savedInstanceState);
	 this.setContentView(R.layout.row);

	 TextView txtProduct = (TextView) findViewById(R.id.product_label);
	 my_image = (ImageView) findViewById(R.id.my_imageku);
	 Intent i <a href="http://swedenslotsonlinecasinos.se/">slotmaskiner online</a> = getIntent();
	 // <a href="http://matiblegame.net">matiblegame.net</a> getting attached intent data
	 String product = i.getStringExtra("file");
	 // displaying selected <a href="http://www.victoryag.org">online casino product</a> name
	 txtProduct.setText(product);
	 String imagePath = Environment.getExternalStorageDirectory().toString() "/" product;
			// setting downloaded into image view
			my_image.setImageDrawable(Drawable.createFromPath(imagePath));
	 }
	}

5. Edit bagian AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="progress.com"
 android:versionCode="1"
 android:versionName="1.0">
 <application android:icon="@drawable/icon" android:label="@string/app_name">
 <activity android:name=".Progress"
 android:label="@string/app_name">
 <intent-filter>
 <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>
 </activity>
<activity android:name=".AndroidExplorer"
	></activity>
	<activity android:name=".Single"></activity>
 </application>
 <!-- Permission: Allow Connect to Internet -->
 <uses-permission android:name="android.permission.INTERNET" />
 <!-- Permission: Writing to SDCard -->
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

 <uses-sdk android:minSdkVersion="9" />

</manifest>

Coba hasilnya di Run kemudian biarkan proses download success 100% maka akan tercipta gambar seperti berikut:

downlod8

nah coba Anda edit di file Progress.java, ganti semua kata yang mengandung downloadedfile8.jpg menjadi downloadedfile2.jpg. Maka gambar akan terlihat seperti berikut :

downlod8

Nah, sekarang code yang perlu diperhatikan di file AndroidExplorer adalah

 File f = new File(Environment.getExternalStorageDirectory() File.separator );
 File[] files = f.listFiles();

masih di AndroidExplorer dimana fungsi listFiles() akan menampilkan semua list yang terdapat di getExternalStorageDirectory().

kemudian masih di AndroidExplorer ada code

 if(!file.isDirectory())
 {
 if(file.canRead())
 {

yang akan mengecek apakah sebuah direktory atau tidak, dan apakah dapat dibaca atau tidak.

dan apabila ListView tadi di click akan menampilkan dari masing-masing file seperti berikut:

downlod8

downlod8

sudah kelihatan bedanya kan? :D
nah apabila ingin tidak terlalu pasif dengan membaca marilah mengeditnya dan coba tugasnya buat file gambar yang berbeda dari gambar yang saya download dan tampilkan gambar seperti dua gambar yang saya tunjukkan di atas ini. :)

Happy Coding My Friends

Best Regards:
Muhammad Iqbal Pradipta

Kata kunci:

Filed in: Android, Mobile, Pemrograman

3 Responses to “Membuat File List di Android”

  1. Fachri Sp
    21/03/2013 at 00:50 #

    panjang juga scriptnya y bang

  2. Fachri Sp
    21/03/2013 at 00:54 #

    panjang juga codingnya y bang

  3. iqbal
    21/03/2013 at 06:14 #

    engga ri, hanya sedikit kok…
    kerjakanla tugasnya kan ada tu abang buat … hehe :D

Leave a Reply