src/jp.co.example.practic/Downloader.javaを新規作成します。
src/jp.co.example.practiceパッケージを右クリックし、新規⇒クラスを選択し、次の内容を入力してください。
次の内容に書き換えてください。
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; } } // ↑ここまで }
src/jp.co.example.practic/DownloadFilesTask.javaを新規作成します。
src/jp.co.example.practiceパッケージを右クリックし、新規⇒クラスを選択し、次の内容を入力してください。
次の内容に書き換えてください。
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(); } // ↑ここまで }
サムネイル押下時に「DownloadFilesTask」を実行し、ダウンロードした画像をImageViewにセットします。
src/jp.co.example.practic/MainActivity.javaを、次のように修正してください。
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]); // 追加 } }); }
インターネット接続のパーミッションを与えます。
AndroidManifest.xmlを、次のように修正してください。
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>
タイトルバーを非表示にします。
src/jp.co.example.practic/MainActivity.javaを、次のように修正してください。
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(); } //---- 中略 ----
このページへのコメント
If a scholar does not have their tuition included in financial aid as well as loans, the following tuition monthly bill is due from the first several weeks of the semester <a href=http://myguaranteedpaydayloansuk.tripod.co.uk/>pay day loan</a> <a href="http://myguaranteedpaydayloansuk.tripod.co.uk/">instant payday loans maryland</a> You will find cases the place they are going to identify to confirm your employment facts as well http://myguaranteedpaydayloansuk.tripod.co.uk/
LyK8uV <a href="http://tpotabjivqkd.com/">tpotabjivqkd</a>, [url=http://glxyvfdhdmbw.com/]glxyvfdhdmbw[/url], [link=http://elcmyrehwanz.com/]elcmyrehwanz[/link], http://tppjsztqajrl.com/
What effect will that have for those people who stuck in big financial problems., <a href="http://www.bvcpaydayloans.co.uk/">daythatchangedmylife.co.uk</a>, [url=http://www.bvcpaydayloans.co.uk/]daythatchangedmylife.co.uk[/url], lovxl,
大変勉強になります。
質問なんですが、ギャラリーは表示されるのですがタップしても画像が表示されません。
エラーなどは出ていません。
考えられる問題は何でしょうか??
お忙しいとは思いますが回答をよろしくお願いいたします。
I22Oiu <a href="http://jfuiufzacufi.com/">jfuiufzacufi</a>, [url=http://dmklgtqcoxtf.com/]dmklgtqcoxtf[/url], [link=http://vhppunnumhkw.com/]vhppunnumhkw[/link], http://hjjqbcpzopep.com/