2015-09-07 84 views
0

我试图将文件保存在“Parse.com”在我的Android application.However,我正在以下错误无法将数据保存到Parse.com云服务

java.lang.IllegalArgumentException: invalid type for value: class java.io.File 

下面提到缠着是我的代码:

protected void onCreate(Bundle savedInstanceState) { 

    try { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main_activity); 
     Parse.enableLocalDatastore(this); 
     Parse.initialize(this, "nNDrIDPB8evzutqXnMkLNwV5l0yKm6RHQDshJhLN", "bkIb6fI9RWgezwulCHismlNUeYBz9sNxFaLxf8NB"); 
     File f = new File("C:\\Users\\rishii\\AndroidStudioProjects\\Introduction\\file_input9.txt"); 
     FileInputStream fileInputStream = new FileInputStream(f); 
     byte fileContent[] = new byte[(int)f.length()]; 
     fileInputStream.read(fileContent); 
     ParseFile parseFile = new ParseFile(fileContent); 
     ParseObject dataObject = new ParseObject("file_content!"); 
     dataObject.put("file",parseFile); 
     dataObject.saveInBackground(); 
     ParseUser.enableAutomaticUser(); 
     ParseACL defaultACL = new ParseACL(); 
     ParseACL.setDefaultACL(defaultACL, true); 


    } 
    catch (Exception e) { 
     e.printStackTrace(); 
    } 

我敢肯定,我已经给是correct.Below提到的文件路径是我的堆栈跟踪:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.rishii.introduction/com.example.rishii.introduction.Main_activity}: java.lang.IllegalArgumentException: invalid type for value: class java.io.File 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
     at android.app.ActivityThread.access$800(ActivityThread.java:135) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5021) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643) 
     at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.IllegalArgumentException: invalid type for value: class java.io.File 
     at com.parse.ParseObject.performPut(ParseObject.java:3152) 
     at com.parse.ParseObject.put(ParseObject.java:3139) 
     at com.example.rishii.introduction.Main_activity.onCreate(Main_activity.java:77) 
     at android.app.Activity.performCreate(Activity.java:5231) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
     at 
    android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 

任何建议是有帮助的!

+1

作为未来问题的建议:您不应在Stack Overflow上发布您的Parse访问令牌。 – fixmycode

+0

@fixmycode谢谢!!会记住这一点 –

回答

1

在android中,您不能直接从本地系统导入文件。

你要先将它保存到sdacrd中或将该文本文件复制到你的android项目的原始文件夹中。

然后,您可以将它保存到任何适合apis的地方。

File f = new File("C:\\Users\\rishii\\AndroidStudioProjects\\Introduction\\file_input9.txt 

此行正在引发问题。