Android 安卓jpg动画
我想从一个网站下载10张JPG图片 间隔拍摄的照片>>这没有问题Android 安卓jpg动画,android,Android,我想从一个网站下载10张JPG图片 间隔拍摄的照片>>这没有问题 如何在一组图片中保存图片 我将如何将它们显示为动态图片(类似电影) Android上使用什么组件(imageView、animator) 如何设置组件的动画 任何具体的例子都将不胜感激。我有一个这样的例子,这里我从站点下载三幅图像,然后存储在它的路径“/mnt/sdcard/”中。如果您想在动画中显示这一点,那么我认为您可以使用flipper,然后动态添加此图像,然后使用异步任务,接下来可以翻转图像 import java.io.
任何具体的例子都将不胜感激。我有一个这样的例子,这里我从站点下载三幅图像,然后存储在它的路径“/mnt/sdcard/”中。如果您想在动画中显示这一点,那么我认为您可以使用flipper,然后动态添加此图像,然后使用异步任务,接下来可以翻转图像
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;
}
}
}
import java.io.BufferedInputStream;
导入java.io.FileOutputStream;
导入java.io.InputStream;
导入java.io.OutputStream;
导入java.net.URL;
导入java.net.URLConnection;
导入android.app.Activity;
导入android.app.ProgressDialog;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.Button;
导入android.widget.Toast;
公共类测试活动扩展了活动{
/**在首次创建活动时调用*/
按钮btn;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn=(按钮)findViewById(R.id.startBtn);
最后一个字符串url1=”http://farm1.static.flickr.com/114/298125983_0e4bf66782_b.jpg";
最后一个字符串url2=”http://farm1.static.flickr.com/114/298125983_0e4bf66782_b.jpg";
最后一个字符串url3=”http://farm1.static.flickr.com/114/298125983_0e4bf66782_b.jpg";
btn.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
新建AsyncDownload().execute(url1、url2、url3);
}
});
}
//------------------------------类异步下载----------------------------------
公共类AsyncDownload扩展了AsyncTask
{
进程对话;
@凌驾
受保护的void onPostExecute(字符串结果){
//TODO自动生成的方法存根
super.onPostExecute(结果);
dialog.dismise();
Toast.makeText(TestActivity.this,“成功下载投诉”,2.show();
}
@凌驾
受保护的void onPreExecute(){
//TODO自动生成的方法存根
super.onPreExecute();
dialog=新的ProgressDialog(TestActivity.this);
setMessage(“下载文件…”);
设置ProgressStyle(ProgressDialog.STYLE_水平);
dialog.setMax(100);
dialog.show();
}
@凌驾
受保护的void onProgressUpdate(字符串…值){
//TODO自动生成的方法存根
super.onProgressUpdate(值);
setProgress(Integer.parseInt(值[0]);
}
@凌驾
受保护的字符串背景(字符串…aurl){
整数计数;
int lenghtOfFile=0;
长总计=0;
试一试{
对于(int i=0;i我有一个这样的例子,这里我从站点下载三幅图像,然后存储在它的路径“/mnt/sdcard/。”。如果您想在动画中显示这一点,那么我认为您可以使用flipper,然后动态添加此图像,然后使用异步任务来翻转图像
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;
}
}
}
import java.io.BufferedInputStream;
导入java.io.FileOutputStream;
导入java.io.InputStream;
导入java.io.OutputStream;
导入java.net.URL;
导入java.net.URLConnection;
导入android.app.Activity;
导入android.app.ProgressDialog;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.Button;
导入android.widget.Toast;
公共类测试活动扩展了活动{
/**在首次创建活动时调用*/
按钮btn;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn=(按钮)findViewById(R.id.startBtn);
最后一个字符串url1=”http://farm1.static.flickr.com/114/298125983_0e4bf66782_b.jpg";
最后一个字符串url2=”http://farm1.static.flickr.com/114/298125983_0e4bf66782_b.jpg";
最后一个字符串url3=”http://farm1.static.flickr.com/114/298125983_0e4bf66782_b.jpg";
btn.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
新建AsyncDownload().execute(url1、url2、url3);
}
});
}
//------------------------------类异步下载----------------------------------
公共类AsyncDownload扩展了AsyncTask
{
进程对话;
@凌驾
受保护的void onPostExecute(字符串结果){
//TODO自动生成的方法存根
super.onPostExecute(结果);
dialog.dismise();
Toast.makeText(TestActivity.this,“成功下载投诉”,2.show();
}
@凌驾
受保护的void onPreExecute(){
//TODO自动生成的方法存根
super.onPreExecute();
dialog=新的ProgressDialog(TestActivity.this);
setMessage(“下载文件…”);
设置ProgressStyle(ProgressDialog.STYLE_水平);
dialog.setMax(100);
dialog.show();
}
@凌驾
受保护的void onProgressUpdate(字符串…值){
//TODO自动生成的方法存根
super.onProgressUpdate(值);
setProgress(Integer.parseInt(值[0]);
}
@凌驾
受保护的字符串背景(字符串…aurl){
整数计数;