try {
url = new URL("http://hiphotos.baidu.com/baidu/pic/item/7d8aebfebf3f9e125c6008d8.jpg");
} catch (MalformedURLException e) {
e.printStackTrace();
}
for (int i = 0; i < 1; i++) {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) // 判断是否可以对SDcard进行操作
{ // 获取SDCard指定目录下
String sdCardDir = Environment.getExternalStorageDirectory() + "/testpic/";
File dirFile = new File(sdCardDir); //目录转化成文件夹
if (!dirFile.exists()) { //如果不存在,那就建立这个文件夹
dirFile.mkdirs();
}
try {//System.currentTimeMillis()
raf = new RandomAccessFile(sdCardDir + new File(String.valueOf(url)).getName(), "rw");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
AsyncTask<URL, Integer, String> execute = new LoadImageAsyncTask(raf).execute(url);
Toast.makeText(MainActivity.this, "保存已经至" + Environment.getExternalStorageDirectory() + "/testpic/" + "目录文件夹下", Toast.LENGTH_SHORT).show();
}
}
class LoadImageAsyncTask extends AsyncTask<URL, Integer, String> {
private RandomAccessFile raf1;
public LoadImageAsyncTask(RandomAccessFile raf) {
this.raf1 = raf;
}
@Override
protected String doInBackground(URL... urls) {
try {
HttpURLConnection conn = (HttpURLConnection) urls[0].openConnection();
InputStream in = conn.getInputStream();
Log.d("inooo", in.toString());
byte[] buff = new byte[2048];
int hasRead = 0;
while ((hasRead = in.read(buff)) > 0) {
raf1.write(buff, 0, hasRead);
Log.d("hasRead", hasRead + "");
}
in.close();
conn.disconnect();
} catch (IOException e) {
e.printStackTrace();
Log.d(TAG, "e.printStackTrace: " + e.toString());
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Intent intent = new Intent(MainActivity.this, UnityPlayerActivity.class);
intent.putExtra("RowColumn", "20,12,5");
intent.putExtra("Images", "/sdcard/testpic");
intent.putExtra("CenterImages", "/sdcard/center");
startActivity(intent);
}
}