@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
工程中要有 WRITE_EXTERNAL_STOREAGE权限 和 INTERNET 权限 此线程中下载程序已完全通过!
button1.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
new Thread(new Runnable()
{
@Override
public void run()
{ try
{
//---线程中执行代码------------------
isSuccess=true;
}
catch(Exception e)
{
isSuccess=false;
}
Message m=handler.obtainMessage();
handler.sendMessage(m);
isSuccess=false;
}
}).start();
}
}); //new OnClickListener
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.*;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.MotionEvent;
import android.view.View.OnTouchListener;import java.net.URL;
import java.io.*;
import android.graphics.Bitmap;
import android.os.*;public class MainActivity extends Activity {
ImageView imageView1;
TextView textView1;
Button button1;
RelativeLayout layout;
static int count=0;
//----------------
boolean flag;
Handler handler;
void copyfile(InputStream f1,OutputStream f2)
{ // 流复制
byte[] buf=new byte[1024];
int size=0;
try
{
while ((size=f1.read(buf))>0)
f2.write(buf,0,size);
f1.close();f2.close();
}
catch(Exception e)
{
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("多线程下载试验");
setContentView(R.layout.activity_main);
handler=new Handler()
{
@Override
public void handleMessage(Message msg) // 收到消息
{
Toast.makeText(MainActivity.this, flag?"文件下载完成":"文件下载失败",
8000).show();
setTitle("完成!");
super.handleMessage(msg);
}
};
button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
new Thread(new Runnable()
{
@Override
public void run()
{
String http="http://p1.qhimg.com/t01bb524e6934bce208.jpg";
InputStream inS; // 下载这幅图
FileOutputStream outS;
try
{
outS=new FileOutputStream("/sdcard/pic.jpg");
URL url=new URL(http);
inS= url.openStream();
copyfile(inS,outS);
outS.close();
flag=true;
}
catch(Exception e)
{
flag=false;
}
Message m=handler.obtainMessage();
handler.sendMessage(m); // 发消息
} //public
}).start();
} //public
}); // new On
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
和 INTERNET 权限
此线程中下载程序已完全通过!