Java 尝试使用kinvey从android应用程序向云上传图像

Java 尝试使用kinvey从android应用程序向云上传图像,java,android,android-studio,kinvey,cloud-storage,Java,Android,Android Studio,Kinvey,Cloud Storage,我正试图上传一张储存在手机内存中的图像,通过安卓应用程序点击后上传到云服务中,我正在使用Kinvey来实现这一点。但我面临着一些问题 每次运行包含上载部分的代码时,都会遇到异常。我正在上传一张“.png”类型的图片。与谷歌云平台不同,任何到blob的转换都不是必需的过程 这是我的.java代码- `Client mKinveyClient = new Client.Builder(APP_KEY, SECRET_KEY, this.getApplicationContext()).build()

我正试图上传一张储存在手机内存中的图像,通过安卓应用程序点击后上传到云服务中,我正在使用Kinvey来实现这一点。但我面临着一些问题

每次运行包含上载部分的代码时,都会遇到异常。我正在上传一张“.png”类型的图片。与谷歌云平台不同,任何到blob的转换都不是必需的过程

这是我的.java代码-

`Client mKinveyClient = new Client.Builder(APP_KEY, SECRET_KEY, this.getApplicationContext()).build();
    mKinveyClient.enableDebugLogging();

    mKinveyClient.ping(new KinveyPingCallback() {
        public void onFailure(Throwable t) {
            Log.e(TAG, "Kinvey Ping Failed", t);
        }
        public void onSuccess(Boolean b) {

            Log.d(TAG, "Kinvey Ping Success");
        }
    });

    java.io.File file = new java.io.File(Environment.getExternalStorageDirectory().getPath() + "/Camera/" + "IMG_20161115_193353.jpg");

    mKinveyClient.file().upload(file, new UploaderProgressListener() {
            public void onSuccess(Void result) {
            Log.i(TAG, "successfully upload file");
        }

        @Override
        public void onSuccess(FileMetaData fileMetaData) { 
                Log.i(TAG, "successfully uploaded file");
            }
        @Override
        public void onFailure(Throwable error) {
            Log.e(TAG, "failed to upload file.", error);
            }
        @Override
        public void progressChanged(MediaHttpUploader uploader) throws IOException {
            Log.i(TAG, "upload progress: " + uploader.getUploadState());                       // all updates to UI widgets need to be done on the UI thread
            }
        });`
现在,虽然ping呼叫给了我一个成功的响应,但上传部分给了我一个错误

E/Activity文件:无法上载文件。 com.kinvey.java.KinveyException: 原因:当前没有用户登录

关于这个话题,我在金维的讨论平台和这里搜索了很多。但我还是被卡住了。我不知道我错在哪里,也不知道我错过了什么


如果有人成功地通过kinvey上传了图片,请帮助我

任何类型的Kinvey操作都必须通过登录用户提供。 在开始输入/输出任何信息之前,您必须注册(或登录)

mKinveyClient.user().create(“用户名”、“密码”、新KinveyUserCallback()){
@凌驾
失效时的公共无效(可丢弃的t){
CharSequence text=“无法注册。”;
Toast.makeText(getApplicationContext(),text,Toast.LENGTH_SHORT).show();
}
@凌驾
成功时的公共无效(用户u){
//这里我们继续上传文件
}
});

您可以找到有关用户的更多信息

任何类型的Kinvey操作都必须通过登录用户提供。 在开始输入/输出任何信息之前,您必须注册(或登录)

mKinveyClient.user().create(“用户名”、“密码”、新KinveyUserCallback()){
@凌驾
失效时的公共无效(可丢弃的t){
CharSequence text=“无法注册。”;
Toast.makeText(getApplicationContext(),text,Toast.LENGTH_SHORT).show();
}
@凌驾
成功时的公共无效(用户u){
//这里我们继续上传文件
}
});
您可以找到有关用户的更多信息

Sharmistha

是的,每个应用程序操作都需要一个活动的用户上下文。 因此,您需要登录应用程序,然后上传文件

请看以下内容:

谢谢, 普拉纳夫 金维

沙米沙

是的,每个应用程序操作都需要一个活动的用户上下文。 因此,您需要登录应用程序,然后上传文件

请看以下内容:

谢谢, 普拉纳夫 金维