I need again your help please!!
I've an android application that write/read files to/from External memory.
I've written all riquired permissions in AndroidManifest but I still get an error access denied.
Hier my code:
private static File convertStreamToFile(InputStream is) throws IOException {
String dir = Environment.getExternalStorageDirectory().getAbsolutePath();
// I have tried this one too but it didn't work!!
File root = new File (Environment.getExternalStorageDirectory(),"ekg_daten.zip");
File root = new File(dir+ "/ekg_daten.zip");
if (!root.exists())
root.mkdirs();
File zippedDaten = new File(root, "outPut.zip");
ZipInputStream zin = new ZipInputStream(is);
ZipEntry ze =
while ((ze = zin.getNextEntry()) != null) {
FileOutputStream fout = new FileOutputStream(root);
for (int c = zin.read(); c != -1; c = zin.read()) {
fout.write(c);
zin.closeEntry();
fout.close();
my AndroidManifest.xml
&manifest xmlns:android="/apk/res/android"
package="com.praktikum.androidcrestclient"
android:versionCode="1"
android:versionName="1.0" &
android:minSdkVersion="8"
android:targetSdkVersion="15" /&
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" &
&/uses-permission&
&uses-permission android:name="android.permission.INTERNET" &
&/uses-permission&
&uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" &
&/uses-permission&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" &
&/uses-permission&
&uses-permission android:name="android.permission.READ_CONTACTS" &
&/uses-permission&
and my logcat
10-12 18:33:24.297: I/ActivityManager(79): Force stopping package com.praktikum.androidcrestclient uid=10034
10-12 18:33:24.537: I/installd(34): move /data/dalvik-cache/data@app@com.praktikum.androidcrestclient-1.apk@classes.dex -& /data/dalvik-cache/data@app@com.praktikum.androidcrestclient-1.apk@classes.dex
10-12 18:33:24.537: D/PackageManager(79): New package installed in /data/app/com.praktikum.androidcrestclient-1.apk
10-12 18:33:24.537: W/PackageManager(79): Unknown permission android.permission.WRITE_INTERNAL_STORAGE in package com.praktikum.androidcrestclient
10-12 18:33:24.790: I/ActivityManager(79): Force stopping package com.praktikum.androidcrestclient uid=10034
10-12 18:33:24.887: D/dalvikvm(79): GC_EXPLICIT freed 662K, 59% free K, external K, paused 67ms
10-12 18:33:24.947: D/dalvikvm(228): GC_EXPLICIT freed 4K, 51% free K, external K, paused 79ms
10-12 18:33:25.077: W/RecognitionManagerService(79): no available voice recognition services found
10-12 18:33:25.187: D/dalvikvm(235): GC_EXPLICIT freed 85K, 53% free K, external K, paused 228ms
10-12 18:33:25.277: D/dalvikvm(79): GC_EXPLICIT freed 216K, 59% free K, external K, paused 87ms
10-12 18:33:25.297: I/installd(34): unlink /data/dalvik-cache/data@app@com.praktikum.androidcrestclient-2.apk@classes.dex
10-12 18:33:25.307: D/AndroidRuntime(1938): Shutting down VM
10-12 18:33:25.317: D/dalvikvm(1938): GC_CONCURRENT freed 101K, 72% free 295K/1024K, external 0K/0K, paused 1ms+1ms
10-12 18:33:25.328: D/jdwp(1938): Got wake-up signal, bailing out of select
10-12 18:33:25.328: D/dalvikvm(1938): D object registry had 1 entries
10-12 18:33:25.858: D/AndroidRuntime(1952): &&&&&& AndroidRuntime START com.android.internal.os.RuntimeInit &&&&&&
10-12 18:33:25.858: D/AndroidRuntime(1952): CheckJNI is ON
10-12 18:33:26.487: D/AndroidRuntime(1952): Calling main entry mands.am.Am
10-12 18:33:26.517: I/ActivityManager(79): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x cmp=com.praktikum.androidcrestclient/.MainActivity } from pid 1952
10-12 18:33:26.547: I/ActivityManager(79): Start proc com.praktikum.androidcrestclient for activity com.praktikum.androidcrestclient/.MainActivity: pid=1960 uid=10034 gids={}
10-12 18:33:26.587: D/AndroidRuntime(1952): Shutting down VM
10-12 18:33:26.607: D/dalvikvm(1952): GC_CONCURRENT freed 103K, 69% free 319K/1024K, external 0K/0K, paused 7ms+2ms
10-12 18:33:26.648: I/AndroidRuntime(1952): NOTE: attach of thread 'Binder Thread #3' failed
10-12 18:33:26.670: D/dalvikvm(1952): D object registry had 1 entries
10-12 18:33:27.637: I/ActivityManager(79): Displayed com.praktikum.androidcrestclient/.MainActivity: +1s98ms
10-12 18:33:28.857: D/dalvikvm(157): GC_EXTERNAL_ALLOC freed 40K, 44% free K, external K, paused 44ms
10-12 18:33:32.627: W/KeyCharacterMap(157): No keyboard for id 0
10-12 18:33:32.627: W/KeyCharacterMap(157): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
10-12 18:33:33.006: D/dalvikvm(389): GC_EXPLICIT freed 7K, 54% free K, external K, paused 311ms
10-12 18:33:34.257: D/getrespond()(1960): service calling
10-12 18:33:34.726: W/System.err(1960): java.io.FileNotFoundException: /mnt/sdcard/ekg_daten.zip (Permission denied)
10-12 18:33:34.736: W/System.err(1960):
at org.apache.harmony.luni.platform.OSFileSystem.open(Native Method)
10-12 18:33:34.736: W/System.err(1960):
at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:232)
10-12 18:33:34.736: W/System.err(1960):
at java.io.FileOutputStream.&init&(FileOutputStream.java:94)
10-12 18:33:34.736: W/System.err(1960):
at java.io.FileOutputStream.&init&(FileOutputStream.java:66)
10-12 18:33:34.736: W/System.err(1960):
at com.praktikum.androidcrestclient.RestClient.convertStreamToFile(RestClient.java:181)
10-12 18:33:34.736: W/System.err(1960):
at com.praktikum.androidcrestclient.RestClient.executeRequest(RestClient.java:152)
10-12 18:33:34.736: W/System.err(1960):
at com.praktikum.androidcrestclient.RestClient.Execute(RestClient.java:112)
10-12 18:33:34.736: W/System.err(1960):
at com.praktikum.androidcrestclient.MainActivity.retrieveSampleData(MainActivity.java:37)
10-12 18:33:34.736: W/System.err(1960):
at java.lang.reflect.Method.invokeNative(Native Method)
10-12 18:33:34.736: W/System.err(1960):
at java.lang.reflect.Method.invoke(Method.java:507)
10-12 18:33:34.736: W/System.err(1960):
at android.view.View$1.onClick(View.java:2139)
10-12 18:33:34.736: W/System.err(1960):
at android.view.View.performClick(View.java:2485)
10-12 18:33:34.746: W/System.err(1960):
at android.view.View$PerformClick.run(View.java:9080)
10-12 18:33:34.746: W/System.err(1960):
at android.os.Handler.handleCallback(Handler.java:587)
10-12 18:33:34.746: W/System.err(1960):
at android.os.Handler.dispatchMessage(Handler.java:92)
10-12 18:33:34.746: W/System.err(1960):
at android.os.Looper.loop(Looper.java:123)
10-12 18:33:34.746: W/System.err(1960):
at android.app.ActivityThread.main(ActivityThread.java:3683)
10-12 18:33:34.746: W/System.err(1960):
at java.lang.reflect.Method.invokeNative(Native Method)
10-12 18:33:34.756: W/System.err(1960):
at java.lang.reflect.Method.invoke(Method.java:507)
10-12 18:33:34.756: W/System.err(1960):
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-12 18:33:34.756: W/System.err(1960):
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-12 18:33:34.756: W/System.err(1960):
at dalvik.system.NativeStart.main(Native Method)
10-12 18:33:34.766: W/System.err(1960): java.lang.NullPointerException
Please, can someone help!!
解决方案 First open the path, then add the file:
String dir = Environment.getExternalStorageDirectory(); // getAbsolutePath is not requried
File path = new File(dir);
File root = new File(path,
"ekg_daten.zip");
本文地址: &
我又需要你的帮助,请!
我已经是读/写文件到/从外部存储器Android应用程序。
我写的所有riquired权限AndroidManifest但我仍然得到一个错误拒绝访问。
我的得票数code:
私有静态文件convertStreamToFile(InputStream的是)抛出IOException异常{
字符串DIR = Environment.getExternalStorageDirectory()getAbsolutePath()。
//我已经试过这一个了,但它没有工作!
//文件根=新的文件(Environment.getExternalStorageDirectory(),“ekg_daten.zip”);
文件根=新的文件(目录+“/ekg_daten.zip”);
如果(!root.exists())
root.mkdirs();
//文件zippedDaten =新的文件(根,“outPut.zip”);
ZipInputStream ZIN =新ZipInputStream(是);
ZipEntry的泽= NULL;
而((泽= zin.getNextEntry())!= NULL){
FileOutputStream中FOUT =新的FileOutputStream(根);
对于(INT C = zin.read(); C = -1;!C = zin.read()){
fout.write(C);
zin.closeEntry();
fout.close();
我的AndroidManifest.xml
<舱单的xmlns:机器人=“/apk/res/android”
包=“com.praktikum.androidcrestclient”
安卓版code =“1”
机器人:VERSIONNAME =“1.0”>
<用途-SDK
安卓的minSdkVersion =“8”
机器人:targetSdkVersion =“15”/>
<使用-权限的Android:名称=“android.permission.ACCESS_NETWORK_STATE”>
< /使用-许可>
<使用-权限的Android:名称=“android.permission.INTERNET对”>
< /使用-许可>
<使用-权限的Android:名称=“android.permission.WRITE_INTERNAL_STORAGE”>
< /使用-许可>
<使用-权限的Android:名称=“android.permission.WRITE_EXTERNAL_STORAGE”>
< /使用-许可>
<使用-权限的Android:名称=“android.permission.READ_CONTACTS”>
< /使用-许可>
和我的logcat
10-12 18:33:24.297:I / ActivityManager(79):强制停止包com.praktikum.androidcrestclient的uid = 10034
10-12 18:33:24.537:I / INSTALLD(34):移动/data/dalvik-cache/data@app@com.praktikum.androidcrestclient-1.apk@classes.dex
- > /data/dalvik-cache/data@app@com.praktikum.androidcrestclient-1.apk@classes.dex
10-12 18:33:24.537:D / PackageManager(79):新的程序包***在/data/app/com.praktikum.androidcrestclient-1.apk
10-12 18:33:24.537:W / PackageManager(79):未知许可android.permission.WRITE_INTERNAL_STORAGE封装com.praktikum.androidcrestclient
10-12 18:33:24.790:I / ActivityManager(79):强制停止包com.praktikum.androidcrestclient的uid = 10034
10-12 18:33:24.887:D / dalvikvm(79):GC_EXPLICIT释放662K,59%免费4335K / 10375K,外部3511K / 3903K,暂停67ms
10-12 18:33:24.947:D / dalvikvm(228):GC_EXPLICIT释放4K,51%免费2885K / 5831K,外部5876K / 7285K,暂停79ms
10-12 18:33:25.077:W / RecognitionManagerService(79):发现没有可用的语音识别服务
10-12 18:33:25.187:D / dalvikvm(235):GC_EXPLICIT释放85K,53%免费2755K / 5767K,外部1625K / 2137K,暂停228ms
10-12 18:33:25.277:D / dalvikvm(79):GC_EXPLICIT释放216K,59%免费4288K / 10375K,外部3511K / 3903K,暂停87ms
10-12 18:33:25.297:I / INSTALLD(34):取消链接/data/dalvik-cache/data@app@com.praktikum.androidcrestclient-2.apk@classes.dex
10-12 18:33:25.307:D / AndroidRuntime(1938年):关闭虚拟机
10-12 18:33:25.317:D / dalvikvm(1938年):GC_CONCURRENT释放101K,72%的自由295K / 1024K,外部0K / 0K,暂停1毫秒+ 1毫秒
10-12 18:33:25.328:D / JDWP(1938年):GOT唤醒信号,救助的选择了
10-12 18:33:25.328:D / dalvikvm(1938年):调试器分离;对象注册了1项
10月12日18:33:25.858:D / AndroidRuntime(1952):>>>>>> AndroidRuntime开始com.android.internal.os.RuntimeInit<<<<<<
10-12 18:33:25.858:D / AndroidRuntime(1952年):CheckJNI为ON
10-12 18:33:26.487:D / AndroidRuntime(1952年):调用主入口mands.am.Am
10-12 18:33:26.517:I / ActivityManager(79):开始:意向{行为= android.intent.action.MAIN猫= [android.intent.category.LAUNCHER] FLG = 0x处CMP = com.praktikum.androidcrestclient /.MainActivity}从PID 1952年
10-12 18:33:26.547:I / ActivityManager(79):启动PROC com.praktikum.androidcrestclient的活动com.praktikum.androidcrestclient / .MainActivity:PID = 1960年的uid = 10034导报= {}
10-12 18:33:26.587:D / AndroidRuntime(1952年):关闭虚拟机
10-12 18:33:26.607:D / dalvikvm(1952年):GC_CONCURRENT释放103K,69%的自由319K / 1024K,外部0K / 0K,暂停7毫秒+ 2ms的
10-12 18:33:26.648:I / AndroidRuntime(1952年):注:连接线的“捆扎线#3'失败
10-12 18:33:26.670:D / dalvikvm(1952年):调试器分离;对象注册了1项
10-12 18:33:27.637:I / ActivityManager(79):显示com.praktikum.androidcrestclient / .MainActivity:+ 1s98ms
10-12 18:33:28.857:D / dalvikvm(157):GC_EXTERNAL_ALLOC释放40K,44%免费3469K / 6151K,外部6952K / 7268K,暂停44ms
10-12 18:33:32.627:W / KeyCharacterMap(157):没有键盘ID 0
10-12 18:33:32.627:W / KeyCharacterMap(157):使用默认的键盘对应:/system/usr/keychars/qwerty.kcm.bin
10-12 18:33:33.006:D / dalvikvm(389):GC_EXPLICIT释放7K,54%免费2537K / 5511K,外部1625K / 2137K,暂停311ms
10-12 18:33:34.257:D / getrespond()(1960年):服务***
10-12 18:33:34.726:W / System.err的(1960年):java.io.FileNotFoundException:/mnt/sdcard/ekg_daten.zip(权限被拒绝)
10-12 18:33:34.736:W / System.err的(1960年):在org.apache.harmony.luni.platform.OSFileSystem.open(本机方法)
10-12 18:33:34.736:W / System.err的(1960年):在dalvik.system.BlockGuard $ WrappedFileSystem.open(BlockGuard.java:232)
10月12日18:33:34.736:W / System.err的(1960):在java.io.FileOutputStream中所述&;初始化>(FileOutputStream.java:94)
10月12日18:33:34.736:W / System.err的(1960):在java.io.FileOutputStream中所述&;初始化>(FileOutputStream.java:66)
10月12日18:33:34.736:W / System.err的(1960):在com.praktikum.androidcrestclient.RestClient.convertStreamToFile(RestClient.java:181)
10月12日18:33:34.736:W / System.err的(1960):在com.praktikum.androidcrestclient.RestClient.executeRequest(RestClient.java:152)
10月12日18:33:34.736:W / System.err的(1960):在com.praktikum.androidcrestclient.RestClient.Execute(RestClient.java:112)
10月12日18:33:34.736:W / System.err的(1960):在com.praktikum.androidcrestclient.MainActivity.retrieveSampleData(MainActivity.java:37)
10-12 18:33:34.736:W / System.err的(1960年):在java.lang.reflect.Method.invokeNative(本机方法)
10月12日18:33:34.736:W / System.err的(1960):在java.lang.reflect.Method.invoke(Method.java:507)
10-12 18:33:34.736:W / System.err的(1960年):在android.view.View $ 1.onClick(View.java:2139)
10月12日18:33:34.736:W / System.err的(1960):在android.view.View.performClick(View.java:2485)
10-12 18:33:34.746:W / System.err的(1960年):在android.view.View $ PerformClick.run(View.java:9080)
10月12日18:33:34.746:W / System.err的(1960):在android.os.Handler.handleCallback(Handler.java:587)
10月12日18:33:34.746:W / System.err的(1960):在android.os.Handler.dispatchMessage(Handler.java:92)
10月12日18:33:34.746:W / System.err的(1960):在android.os.Looper.loop(Looper.java:123)
10月12日18:33:34.746:W / System.err的(1960):在android.app.ActivityThread.main(ActivityThread.java:3683)
10-12 18:33:34.746:W / System.err的(1960年):在java.lang.reflect.Method.invokeNative(本机方法)
10月12日18:33:34.756:W / System.err的(1960):在java.lang.reflect.Method.invoke(Method.java:507)
10-12 18:33:34.756:W / System.err的(1960年):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)
10月12日18:33:34.756:W / System.err的(1960):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-12 18:33:34.756:W / System.err的(1960年):在dalvik.system.NativeStart.main(本机方法)
10-12 18:33:34.766:W / System.err的(1960年):显示java.lang.NullPointerException
请,有人可以帮助!
解决方案 首先打开的路径,然后添加文件:
字符串DIR = Environment.getExternalStorageDirectory(); // getAbsolutePath不requried
文件路径=新的文件(目录);
文件根=新的文件(路径,“ekg_daten.zip”);
本文地址: &
扫一扫关注官方微信今天看啥 热点:
高仿QQ源码下载 (android前端+J***A后台+spark&windows版聊天&)方便集成到自己系统,androidspark
A&openfire (XMPP+开源源码);
B&android前端源码(仿QQ高大上UI);
C&J***A后台源码(UI高大上HTML5);&
Dspark(windows版);&
获取下载地址:劳动所得 不喜勿喷
系统主要实现为:J***A后台(springmvc+mybaits)+openfire(xmpp推送)+android(asmark+ActiveAndroid+async-http+universal-image-loader)+spark(windows版);&
android前端
1、集成ActivieAndroid数据持久化框架(操作SQLITE轻松搞定)
2、集成async-http网络请求框架(HTTP请求+文件上传+文件下载 再也不是事)
3、集成universal-image-loader高性能图片加载(SD卡缓存+内存缓存)
4、集成二维码扫描功能(UI超级漂亮)
5、水印相机
6、集成xlist高性能listview插件(下拉刷新+加载更多listview)
7、treeView 自定义UI组件(分组+置顶)
8、字母排序 自宝义UI组件(仿联系人按ABCD检索)
9、QQ表情UI组件
10、主界面仿QQ抽屉式UI组件
11、集成asmark(openfire推送)
&-------------------------------------------------------------------------------------------------------------------------
&1. 消息:聊天消息记录,扫一扫,水印相机。
&2. 联系人:好友分组,拼音检索。
&3. 我:仿QQ我UI(没有具体实现)
4、聊天:仿QQ气泡聊天界面,QQ表情(后续加上语音聊天)
&-------------------------------------------------------------------------------------------------------------------------
实物截图如下
后台框架为
&1. 框架集成多种工具
&-------------------------------------------------------------------------------------------------------------------------
&1. 业务管理:员工管理(已完成OPENFIRE用户同步),部门管理。
&-------------------------------------------------------------------------------------------------------------------------
实物截图如下
暂无相关文章
相关搜索:
相关阅读:
相关频道:
Android教程最近更新package com.yk.test.executor.processor
public class InstantiationTracingBeanPostProcessor implements ApplicationListener {
public void onApplicationEvent(ContextRefreshedEvent event) {
//需要执行的逻辑代码,当spring容器初始化完成后就会执行该方法。
在ApplicationListener使用时,会存在一个问题,在web 项目中(spring mvc),系统会存在两个容器,一个是root application context ,另一个就是我们自己的 projectName-servletcontext(作为root application context的子容器)。这种情况下,就会造成onApplicationEvent方法被执行两次。解决此问题的方法如下: 方法一 直接通过注解方式注解bean 其执行一次,否则执行两次。 package com.becom.import org.springframework.beans.factory.annotation.Aimport org.springframework.context.ApplicationLimport org.springframework.context.event.ContextRefreshedE/*直接通过注解方式注解bean*/@Service
public class InstantiationTracingBeanPostProcessor implements ApplicationListener{
@Autowired private DYXConsumeService dYXConsumeS
@Override public void onApplicationEvent(ContextRefreshedEvent event) {
System.out.println('123456'); }} 方法二 @Override
public void onApplicationEvent(ContextRefreshedEvent event) {
if(event.getApplicationContext().getParent() == null){//root application context 没有parent
//需要执行的逻辑代码,当spring容器初始化完成后就会执行该方法。
我们可以只在root application context初始化完成后调用逻辑代码,其他的容器的初始化完成,则不做任何处理,上面是执行代码。 方法三 可以个人设置判断条件,在执行一次后,执行条件置为false,使其第二次不执行。 相关文章:/problems/90629
最新教程周点击榜
微信扫一扫