我的Android应用程序允许用户从互联网下载zip文件。有人可以判断是否可以从应用程序本身安装zip文件?无法访问互联网。我一直在寻找机会来做这件事很长一段时间,并且已经不知所措了。
private void gotoact1(View view)
{
switch (view.getId()) {
case R.id.buttonDow:
Intent intent3 = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://drive.google.com/file/d/16eu-
2gI8c549rt6Ve04UIyDm3oeGAHeu/view?usp=sharing"));
startActivity(intent3);
break;
default:
break;
}
}
public void onClick(View view) {
//requestNewInterstitial();
clicked = view;
{gotoact1(clicked); }
}
附言:谢谢回复,我开始明白了!我将我的zip文件添加到名称为“my.zip”的“原始”文件夹中,并添加了代码(如下),不幸的是手机上的文件安装没有发生,你能看到我的错误吗?
private void gotoact1(View view)
{
switch (view.getId()) {
case
R.id.buttonDowN:
saveResourceToFile();
break;
default:
break;
}
}
public void saveResourceToFile() {
InputStream in = null;
FileOutputStream fout = null;
try {
in = getResources().openRawResource(R.raw.signature);
String downloadsDirectoryPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
String filename = "my.zip";
fout = new FileOutputStream(new File(downloadsDirectoryPath + "/" + filename));
final byte data[] = new byte[1024];
int count;
while ((count = in.read(data, 0, 1024)) != -1) {
fout.write(data, 0, count);
}
Toast toast = Toast.makeText(getApplicationContext(),
"DownloadOne!", Toast.LENGTH_SHORT);
toast.show();
} catch (FileNotFoundException e) {
e.printStackTrace();
Toast toast = Toast.makeText(getApplicationContext(),
"DownloadTwo!", Toast.LENGTH_SHORT);
toast.show();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fout != null) {
try {
fout.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
我在代码中添加了Toast并包含了DownloadTwo。为什么打开了FileNotFoundException?我还是不明白:(很尴尬,我自己也想不出来,对不起
2019-03-24 05:10:03.662 5385-5385/com.example。我的应用程序W/系统。错误:java.io。FileNotFoundException:/storage/emulated/0/Download/my。zip(许可被拒绝)2019-03-24 05:10:03.663 5385-5385/com.example。我的应用程序W/系统。错误:在java.io.FileOutputStream。open0(原生方法)2019-03-24 05:10:03.663 5385-5385/com.example。我的应用程序W/系统。错误:在java.io.FileOutputStream.open(FileOutputStream.java:308)2019-03-24 05:10:03.663 5385-5385/com.example。我的应用程序W/系统。错误:在java.io.FileOutputStream(FileOutputStream.java:238)2019-03-24 05:10:03.663 5385-5385/com.example。我的应用程序W/系统。错误:在java.io.FileOutputStream。(FileOutputStream.java:180)2019-03-24 05:10:03.663 5385-5385/com.example。我的应用程序W/系统。错误:在com.example.myapplication.Main4.saveResourceToFile(Main4.java:57)2019-03-24 05:10:03.663 5385-5385/com.exchange。我的应用程序W/系统。错误:在com.example.myapplication.Main4.gotoact1(Main4.java:42)2019-03-24 05:10:03.663 5385-5385/com.exchange。我的应用程序W/系统。错误:在com.example.myapplication.Main4.onClick(Main4.java:33)2019-03-24 05:10:03.663 5385-5385/com.exchange。我的应用程序W/系统。错误:在android.view.view.performClick(view.java:6648)2019-03-24 05:10:03.663 5385-5385/com.example。我的应用程序W/系统。错误:在android.view.view.performClickInternal(view.java:6620)2019-03-24 05:10:03.663 5385-5385/com.example。我的应用程序W/系统。错误:在android.view.view.access$3100(view.java:787)2019-03-24 05:10:03.663 5385-5385/com.example。我的应用程序W/系统。错误:在android.view.view$PerformClick.run(view.java:26167)2019-03-24 05:10:03.664 5385-5385/com.example。我的应用程序W/系统。错误:在android.os.Handler.handleCallback(Handler.java:891)2019-03-24 05:10:03.664 5385-5385/com.example。我的应用程序W/系统。错误:在android.os.Handler.dispatchMessage(Handler.java:102)2019-03-24 05:10:03.664 5385-5385/com.example。我的应用程序W/系统。错误:在android.os.Looper.loop(Looper.java:207)2019-03-24 05:10:03.664 5385-5385/com.example。我的应用程序W/系统。错误:在android.app.ActivityThread.main(ActivityThread.java:7536)2019-03-24 05:10:03.664 5385-5385/com.example。我的应用程序W/系统。错误:在java.lang.reflect.Method中。调用(本机方法)2019-03-24 05:10:03.664 5385-5385/com.example。我的应用程序W/系统。错误:在com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)2019-03-24 05:10:03.664 5385-5385/com.example。我的应用程序W/系统。错误:在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)2019-03-24 05:10:03.690 5385-5385/com.example。myapplication D/hwappinerBoostimpl:asyncReportData.com.example。myapplication,2,1,1,0间隔=80 2019-03-24 05:10:03.706 5385-5412/com.example。我的应用程序D/OpenGLRenderer:HWUI二进制已启用2019-03-24 05:10:03.740 5385-5412/com.example。myapplication D/mali_winsys:EGLint new_window_surface(egl_winsys_display*,void*,EGLSurface,EGLConfig,egl_ winsys_surface**,EGLBoolean)返回0x3000 2019-03-24 05:10:03.741 5385-5412/com.example。myapplication D/OpenGLRenderer:HWUI二进制已启用2019-03-24 05:10:03.940 5385-5385/com.example。myapplication D/hwappinerBoostimpl:asyncReportData.com.example。myapplication,2,1,2,0间隔=330 2019-03-24 05:10:05.332 5385-5385/com.example。myapplication D/AwareBitmapCacher:handleInit开关未打开pid=5385 2019-03-24 05:10:05.696 5385-5412/com.example。myapplication W/libEGL:EGLNativeWindowType 0x7abd817010断开连接失败
是否通过将zip文件从应用程序的原始文件夹复制到Android下载文件夹来解决?
我认为这个问题是相似的。
但是,您将需要添加权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
同样在我的情况下,我不得不修复答案的以下部分。添加: “/”
fout = new FileOutputStream(new File(downloadsDirectoryPath + "/" + filename));
我正在尝试将容器部署到AWS上的专用网络Fargate集群。我的单个专有网络上确实有一个互联网网关: 我的集群/服务所在的VPC中确实有一个NAT网关,用于特定子网: 该子网的路由似乎也可以: 服务的安全组不会阻止任何传入连接: 但我的容器甚至没有以臭名昭著的异常开始:CannotPullContainerError:来自守护进程的错误响应:Gethttps://registry-name/:ne
(是的,这是hacky,可能不是最佳实践,但它是体积最小的解决方案) 我有一个涉及几个jar的项目——一个可运行的启动器、一个服务器、一个服务器的包装器和服务器的插件。 启动器通过启动一个新的未连接的进程、一个子进程或者只是实例化它来运行包装器,这取决于配置。对于这个问题来说,这应该不重要。 包装器使用URLClassLoader来加载服务器jar并启动它,这工作正常。 在启动服务器之前,包装器会
问题内容: 如果要使用Linq-SQL,还必须将DB Table拖到设计器表面以创建实体类。 我一直喜欢我的应用程序中的完全控制权,并且不喜欢dotnet创建的类。 是否可以使用我自己的数据访问层实体类在Linq和DB之间提供此连接? 我该如何完成? 问题答案: 您可以使用Linq-to-SQL非常轻松地编写自己的类-只需使用一些属性绘制类即可。 例如,这是我的一个项目中有一个非常简单的表,它可以
问题内容: SpringSource.org将其站点更改为http://spring.io 有人知道如何在没有Maven / github的情况下获取最新版本吗?来自http://spring.io/projects 问题答案: 请编辑以使此镜像列表保持最新 我找到了这个仓库,你可以在其中直接从包含所需jar的文件中下载文件。 http://maven.springframework.org/re
我们有一个使用Spring WebFlux的应用程序,它使用Project Reactor。我对应用程序运行了BlockHound评估,它报告了java。io。随机访问文件。readBytes在hibernate validator、orika mapper等库中阻止调用。hibernate validator从其ValidationMessages中读取错误消息。属性文件。此阻塞调用(仅从属性文
我的问题是,有什么方法可以让我序列化/反序列化一个名为onlinePlayers的列表,该列表引用了“John1”的实例,它也碰巧在List allPlayers中,而不重复“John1”,同时仍然引用那个对象? 我猜当我反序列化allPlayers时,它将创建不同于原始对象的对象,所以onlinePlayers在反序列化后不可能仍然引用相同的对象。我是否应该编写一个自定义方法,在反序列化后将新创