Android¥¢¥×¥ê¤ò³«È¯¤¹¤ë¤¿¤á¤Î´ðÁäò¤Þ¤È¤á¤Æ¤¢¤ê¤Þ¤¹¡£

Step1

src/jp.co.example.practic/Downloader.java¤ò¿·µ¬ºîÀ®¤·¤Þ¤¹¡£
src/jp.co.example.practice¥Ñ¥Ã¥±¡¼¥¸¤ò±¦¥¯¥ê¥Ã¥¯¤·¡¢¿·µ¬¢Í¥¯¥é¥¹¤òÁªÂò¤·¡¢¼¡¤ÎÆâÍƤòÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£



¼¡¤ÎÆâÍƤ˽ñ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£
class Downloader {
        // ¢­¤³¤³¤«¤é
	static public Bitmap downloadFile(String url) {
		try {
			Bitmap bmp = null;
			final DefaultHttpClient httpClient = new DefaultHttpClient();
			HttpGet hg = new HttpGet(url);
			HttpResponse httpResponse = httpClient.execute(hg);
			if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
				bmp = BitmapFactory.decodeStream(httpResponse.getEntity()
						.getContent());
				hg.abort();
			}
			return bmp;
		} catch (ClientProtocolException e) {
			Log.d("photoViewer", "error", e);
			return null;
		} catch (IOException e) {
			Log.d("photoViewer", "error", e);
			return null;
		}
	}
        // ¢¬¤³¤³¤Þ¤Ç
}

Step2

src/jp.co.example.practic/DownloadFilesTask.java¤ò¿·µ¬ºîÀ®¤·¤Þ¤¹¡£
src/jp.co.example.practice¥Ñ¥Ã¥±¡¼¥¸¤ò±¦¥¯¥ê¥Ã¥¯¤·¡¢¿·µ¬¢Í¥¯¥é¥¹¤òÁªÂò¤·¡¢¼¡¤ÎÆâÍƤòÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£



¼¡¤ÎÆâÍƤ˽ñ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£
public class DownloadFilesTask extends AsyncTask<String, Void, Bitmap> {
        // ¢­¤³¤³¤«¤é
	private ProgressDialog mProgressDialog;
	private MainActivity mActivity;

	public DownloadFilesTask(MainActivity activity) {
		mActivity = activity;
	}

	@Override
	protected void onPreExecute() {
		// ¥×¥í¥°¥ì¥¹¥À¥¤¥¢¥í¥°¤òɽ¼¨
		mProgressDialog = new ProgressDialog(mActivity);
		mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
		mProgressDialog.setMessage("¥À¥¦¥ó¥í¡¼¥ÉÃæ...");
		mProgressDialog.show();
	}

	@Override
	protected Bitmap doInBackground(String... urls) {
		return Downloader.downloadFile(urls[0]);
	}

	@Override
	protected void onProgressUpdate(Void... progress) {
	}

	@Override
	protected void onPostExecute(Bitmap bmp) {
		mActivity.setImageBitmap(bmp);
		// ¥×¥í¥°¥ì¥¹¥À¥¤¥¢¥í¥°¤òÊĤ¸¤ë
		mProgressDialog.dismiss();
	}
        // ¢¬¤³¤³¤Þ¤Ç
}

Step3

¥µ¥à¥Í¥¤¥ë²¡²¼»þ¤Ë¡ÖDownloadFilesTask¡×¤ò¼Â¹Ô¤·¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤¿²èÁü¤òImageView¤Ë¥»¥Ã¥È¤·¤Þ¤¹¡£
src/jp.co.example.practic/MainActivity.java¤ò¡¢¼¡¤Î¤è¤¦¤Ë½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤¡£
public class MainActivity extends Activity {
	private ImageView mImageView;
	private Integer[] mThumbIds = { R.drawable.photo1, R.drawable.photo8,
			R.drawable.photo7, R.drawable.photo4, R.drawable.photo5,
			R.drawable.photo6 };
        // ÄɲÃ
	private String[] mImageUrls = {
		"http://and-roid-app.appspot.com/images/photo1.jpg",
		"http://and-roid-app.appspot.com/images/photo2.jpg",
		"http://and-roid-app.appspot.com/images/photo3.jpg",
		"http://and-roid-app.appspot.com/images/photo4.jpg",
		"http://and-roid-app.appspot.com/images/photo5.jpg",
		"http://and-roid-app.appspot.com/images/photo6.jpg",
		"http://and-roid-app.appspot.com/images/photo7.jpg",
		"http://and-roid-app.appspot.com/images/photo8.jpg"
	};
//---- Ãæά-----
public void setGallery() {
	Gallery g = (Gallery) findViewById(R.id.gallery);
	g.setAdapter(new ImageAdapter(this, mThumbIds));

	g.setOnItemClickListener(new OnItemClickListener() {
		public void onItemClick(AdapterView<?> parent, View v,
				int position, long id) {
                        // ¢­¥³¥á¥ó¥È¥¢¥¦¥È
			// Toast.makeText(MainActivity.this, "" + position,
			// Toast.LENGTH_SHORT).show();
			new DownloadFilesTask(MainActivity.this).execute(mImageUrls[position]); // ÄɲÃ
		}
	});
}

Step4

¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÀܳ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÍ¿¤¨¤Þ¤¹¡£
AndroidManifest.xml¤ò¡¢¼¡¤Î¤è¤¦¤Ë½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤¡£
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="jp.co.example.practice"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <!-- Äɲà -->
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

Step5

¥¿¥¤¥È¥ë¥Ð¡¼¤òÈóɽ¼¨¤Ë¤·¤Þ¤¹¡£
src/jp.co.example.practic/MainActivity.java¤ò¡¢¼¡¤Î¤è¤¦¤Ë½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤¡£
public class MainActivity extends Activity {

//---- Ãæά ----

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE); // --- Äɲà ----
		setContentView(R.layout.main);
		mImageView = (ImageView) findViewById(R.id.image_view);
		// ¥µ¥à¥Í¥¤¥ë¤Î¥®¥ã¥é¥ê¡¼¤òºîÀ®
		setGallery();
	}

//---- Ãæά ----

Step6

¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£²èÁü¤ò²¡²¼¤·¡¢¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤·¤¿¤«¡£



À©ºî¤Ï¡¢¤³¤ì¤Ç½ªÎ»¤Ç¤¹¡£¤ªÈè¤ìÍͤǤ·¤¿¡£

¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥³¥á¥ó¥È

ÂçÊÑÊÙ¶¯¤Ë¤Ê¤ê¤Þ¤¹¡£
¼ÁÌä¤Ê¤Î¤Ç¤¹¤¬¡¢ÈóƱ´ü¥À¥¦¥ó¥í¡¼¥É¤»¤º¤Ë¥®¥ã¥é¥ê¡¼¤Î¥µ¥à¥Í¥¤¥ë¤ò¥¿¥Ã¥×¤¹¤ë¤È²èÁü¤¬É½¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¤É¤Î¤è¤¦¤Ë¤¹¤ì¤ÐÎɤ¤¤Ç¤·¤ç¤¦¤«¡£
¤ªË»¤·¤¤¤È¤Ï»×¤¤¤Þ¤¹¤¬²óÅú¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£

0
Posted by st 2013ǯ12·î16Æü(·î) 15:21:37 ÊÖ¿®

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹