java - 无法将数据保存到 Parse.com 云服务

标签 java android parse-platform

我正在尝试在 Android 应用程序中的“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();
    }

我非常确定我给出的文件路径是正确的。下面提到的是我的堆栈跟踪:

 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)

            

任何建议都有帮助!

最佳答案

在 Android 中,您无法直接从本地系统导入文件。

您必须首先将其保存到 sdacrd 或将该文本文件复制到 Android 项目中的 raw 文件夹中。

然后您可以使用适当的 API 将其保存到任何地方。

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

这条线引起了问题。

关于java - 无法将数据保存到 Parse.com 云服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32429483/

相关文章:

java - @Entity和@Embeddable之间的继承

java - for循环中同时初始化两个变量

android - 在哪里可以找到初始化 ORMLite 所需的 ApplicationContext?

android - LeakCanary 收到 Fragment#onDestroy() 回调并且 Fragment#mFragmentManager 为空

android - 将匿名用户转换为普通用户并保存

Java 隐式将整数转换为 ASCII 字符 A-F

java - 如何切换 if 和 else 语句来尝试和捕获

安卓 getUriForFile IllegalArgumentException

android - 使用 Android Parse 的多个组合 "Or"查询

javascript - 当我在 Parse 中使用事件时,在使用事件调用触发器后,不会执行监听器回调