提交 030851cb 作者: cbd

1、使用glide网络加载obj,dae文件

上级 487c54f8
......@@ -126,18 +126,18 @@ public class ModelActivity extends AppCompatActivity implements EventListener {
glView= findViewById(R.id.surfaceView);
handler = new Handler(getMainLooper());
// Create our 3D scenario
/* datas.add("https://appmanage.youcai168.cn/villain/villain_obj.obj");
/* datas.add("https://appmanage.youcai168.cn/villain/villain_obj.obj");
datas.add("https://appmanage.youcai168.cn/villain/villain_mtl");
datas.add("https://appmanage.youcai168.cn/villain/villain_d.png");
datas.add("https://appmanage.youcai168.cn/villain/villain_n.png");*/
datas.add("https://appmanage.youcai168.cn/androidtest/sj.dae");
/* datas.add("https://appmanage.youcai168.cn/androidtest/sj.dae");
datas.add("https://appmanage.youcai168.cn/androidtest/sj01.jpg");
datas.add("https://appmanage.youcai168.cn/androidtest/sj02.jpg");
datas.add("https://appmanage.youcai168.cn/androidtest/sj02.jpg");*/
// datas.add("https://appmanage.youcai168.cn/androidtest/33.dae");
//datas.add("https://appmanage.youcai168.cn/androidtest/cgaxis_models_77_19_01.jpg");
// datas.add("https://appmanage.youcai168.cn/androidtest/cgaxis_models_77_19_02.jpg");
// datas.add("https://appmanage.youcai168.cn/androidtest/cgaxis_models_77_19_02_bump.jpg");
datas.add("https://appmanage.youcai168.cn/androidtest/33.dae");
datas.add("https://appmanage.youcai168.cn/androidtest/cgaxis_models_77_19_01.jpg");
datas.add("https://appmanage.youcai168.cn/androidtest/cgaxis_models_77_19_02.jpg");
datas.add("https://appmanage.youcai168.cn/androidtest/cgaxis_models_77_19_02_bump.jpg");
load3dModel();
}
......@@ -333,6 +333,7 @@ public class ModelActivity extends AppCompatActivity implements EventListener {
//下载并保存
save3dModelResourceToLocal(datas);
}
}
private void initScene(Uri uri,int type) {
......@@ -421,12 +422,12 @@ public class ModelActivity extends AppCompatActivity implements EventListener {
Log.i("ModelActivity", "Finished loading");
}
/*private void save3dModelResourceToLocal(List<String> datas) {
private void save3dModelResourceToLocal(List<String> datas) {
//// 发起多个请求
for (String url : datas) {
String fileName = url.substring(url.lastIndexOf('/') + 1);
// File destFile = new File(this.getExternalFilesDir("3dModel").toString(), fileName);
File destFile = new File(Environment.getExternalStorageDirectory()+File.separator+"3dModel",fileName);
File destFile = new File(this.getExternalFilesDir("3dModel").toString(), fileName);
// File destFile = new File(Environment.getExternalStorageDirectory()+File.separator+"3dModel",fileName);
if(destFile.exists()){
continue;
}
......@@ -444,10 +445,28 @@ public class ModelActivity extends AppCompatActivity implements EventListener {
@Override
public boolean onResourceReady(File resource, Object model, Target<File> target, DataSource dataSource, boolean isFirstResource) {
// Toast.makeText(context, "下载成功", Toast.LENGTH_SHORT).show();
String fileName = url.substring(url.lastIndexOf('/') + 1);
// File destFile = new File(ModelActivity.this.getExternalFilesDir("3dModel").toString(), fileName);
File destFile = new File(Environment.getExternalStorageDirectory()+File.separator+"3dModel",fileName);
FileUtils.copy(resource, destFile);
String url = model.toString(); // 获取下载的文件的URL
String fileName = url.substring(url.lastIndexOf('/') + 1); // 从URL中提取文件名
// 指定目标目录和文件名
File destDirectory = new File(ModelActivity.this.getExternalFilesDir("3dModel").toString());
File destFile = new File(destDirectory, fileName);
// 将下载的文件移动到指定目录并重命名
boolean success = resource.renameTo(destFile);
Log.e("file=", "move success= "+success);
if (success) {
// 文件移动成功
// 执行相关操作或显示成功消息
} else {
// 文件移动失败
// 执行相关错误处理或显示失败消息
}
/* String fileName = url.substring(url.lastIndexOf('/') + 1);
File destFile = new File(ModelActivity.this.getExternalFilesDir("3dModel").toString(), fileName);
// File destFile = new File(Environment.getExternalStorageDirectory()+File.separator+"3dModel",fileName);
// 将下载的文件移动到指定目录
resource.renameTo(destFile);
//这个方法下载的文件有时候会多出一些东西
//FileUtils.copy(resource, destFile);*/
// 这里可以执行某些逻辑,如记录日志等
counter++;
Log.e("file= ", "url= "+url+" fileName= " + fileName );
......@@ -463,7 +482,8 @@ public class ModelActivity extends AppCompatActivity implements EventListener {
// 在这里执行处理逻辑
// parseMtlmappic(0x0000ff,objName,mtlName);
// File objFile =
File objFile = new File(Environment.getExternalStorageDirectory(),objName);
File objFile = new File(ModelActivity.this.getExternalFilesDir("3dModel").toString(), objName);
// File objFile = new File(Environment.getExternalStorageDirectory()+File.separator+"3dModel",objName);
if(objFile.isFile() && objFile.exists()){
// 0 = obj, 1 = stl, 2 = dae,3 = gtlf
int type = 0;
......@@ -472,6 +492,7 @@ public class ModelActivity extends AppCompatActivity implements EventListener {
}else if(objFile.getAbsolutePath().contains(".dae")){
type = 2;
}
ContentUtils.setCurrentDir(objFile.getParentFile());
Uri uri = Uri.parse("file://" + objFile.getAbsolutePath());
initScene(uri,type);
}
......@@ -481,10 +502,12 @@ public class ModelActivity extends AppCompatActivity implements EventListener {
})
.preload();
}
}*/
}
private void save3dModelResourceToLocal(List<String> datas) {
/**
* 方式2:FileDownloader下载
*/
/*private void save3dModelResourceToLocal(List<String> datas) {
//// 发起多个请求
for (String url : datas) {
String fileName = url.substring(url.lastIndexOf('/') + 1);
......@@ -561,5 +584,5 @@ public class ModelActivity extends AppCompatActivity implements EventListener {
}
}).start();
}
}
}*/
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论