我想从网站下载10张JPG图片。
以间隔>>拍摄的图片。这没问题
非常感谢任何具体的例子。
答案 0 :(得分:1)
您可能希望在ImageView
中使用AnimationDrawable。
使用addFrame(Drawable frame, int duration)
方法添加框架,然后使用start()
启动动画。
您可以使用许多不同的方法下载和存储图像(可能是外部存储或数据库)。
答案 1 :(得分:0)
我有一个这样的例子,这里我从网站下载三个图像然后存储在路径“/ mnt / sdcard / ..”。如果你想在动画中显示这个,那么我认为你可以使用鳍状肢然后动态添加这个图像并使用异步任务你可以翻转下一个图像。
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class TestActivity extends Activity {
/** Called when the activity is first created. */
Button btn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn=(Button)findViewById(R.id.startBtn);
final String url1 = "http://farm1.static.flickr.com/114/298125983_0e4bf66782_b.jpg";
final String url2 = "http://farm1.static.flickr.com/114/298125983_0e4bf66782_b.jpg";
final String url3 = "http://farm1.static.flickr.com/114/298125983_0e4bf66782_b.jpg";
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new AsyncDownload().execute(url1,url2,url3);
}
});
}
//------------------------------Class AsyncDownload----------------------------------
public class AsyncDownload extends AsyncTask<String, String, String>
{
ProgressDialog dialog;
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
dialog.dismiss();
Toast.makeText(TestActivity.this,"Downloading complate successfully",2).show();
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
dialog=new ProgressDialog(TestActivity.this);
dialog.setMessage("Downloading file..");
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setMax(100);
dialog.show();
}
@Override
protected void onProgressUpdate(String... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
dialog.setProgress(Integer.parseInt(values[0]));
}
@Override
protected String doInBackground(String... aurl) {
int count;
int lenghtOfFile=0;
long total = 0;
try {
for(int i=0;i<aurl.length;i++)
{
URL url = new URL(aurl[i]);
URLConnection conexion = url.openConnection();
conexion.connect();
lenghtOfFile =lenghtOfFile+conexion.getContentLength();
}
for(int i=0;i<aurl.length;i++)
{
URL url = new URL(aurl[i]);
URLConnection conexion = url.openConnection();
conexion.connect();
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream("/mnt/sdcard/img"+i+".jpg");
byte data[] = new byte[1024];
while ((count = input.read(data)) != -1) {
total += count;
publishProgress(""+(int)((total*100)/lenghtOfFile));
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
}
} catch (Exception e) {
e.getMessage();
}
return null;
}
}
}