java - 无法解析符号 Instagram 应用

标签 java android instagram android-sharing

我正在开发一个允许通过 Instagram 共享内容的应用程序。我的编码有错误。我无法将 instagramApp 导入到我的代码中。它说无法解析符号 instagramApp。有人可以指导我解决这个问题吗?编码和错误日志如下。

主 Activity .java

package com.example.dothis.instagram;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import com.example.dothis.instagram.InstagramApp;
import    com.example.dothis.instagram.InstagramApp.OAuthAuthenticationListener;

public class MainActivity extends Activity {

private InstagramApp mApp;
private Button btnConnect;
private TextView tvSummary;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mApp = new InstagramApp(this, ApplicationData.CLIENT_ID,
            ApplicationData.CLIENT_SECRET, ApplicationData.CALLBACK_URL);
    mApp.setListener(listener);

    tvSummary = (TextView) findViewById(R.id.tvSummary);

    btnConnect = (Button) findViewById(R.id.btnConnect);
    btnConnect.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View view) {
            if (mApp.hasAccessToken()) {
                final AlertDialog.Builder builder = new AlertDialog.Builder(
                        MainActivity.this);
                builder.setMessage("Disconnect from Instagram?")
                        .setCancelable(false)
                        .setPositiveButton("Yes",
                                new DialogInterface.OnClickListener() {
                                    public void onClick(
                                            DialogInterface dialog, int id) {
                                        mApp.resetAccessToken();
                                        btnConnect.setText("Connect");
                                        tvSummary.setText("Not connected");
                                    }
                                })
                        .setNegativeButton("No",
                                new DialogInterface.OnClickListener() {
                                    public void onClick(
                                            DialogInterface dialog, int id) {
                                        dialog.cancel();
                                    }
                                });
                final AlertDialog alert = builder.create();
                alert.show();
            } else {
                mApp.authorize();
            }
        }
    });

    if (mApp.hasAccessToken()) {
        tvSummary.setText("Connected as " + mApp.getUserName());
        btnConnect.setText("Disconnect");
    }

}

OAuthAuthenticationListener listener = new OAuthAuthenticationListener() {

    @Override
    public void onSuccess() {
        tvSummary.setText("Connected as " + mApp.getUserName());
        btnConnect.setText("Disconnect");
    }

    @Override
    public void onFail(String error) {
        Toast.makeText(MainActivity.this, error,   Toast.LENGTH_SHORT).show();
    }
};
}

错误日志:

Information:Gradle tasks [:app:assembleDebug]
:app:preBuild
:app:compileDebugNdk
:app:preDebugBuild
:app:checkDebugManifest
:app:preReleaseBuild
:app:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42103Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:compileDebugJava
/Users/marian/AndroidStudioProjects/Instagram/app/src/main/java/com/example/dothis/instagram/MainActivity.java
Error:(13, 36) error: cannot find symbol class InstagramApp
Error:(14, 49) error: package com.example.dothis.instagram.InstagramApp does not exist
Error:(18, 13) error: cannot find symbol class InstagramApp
Error:(74, 5) error: cannot find symbol class OAuthAuthenticationListener
Error:(25, 32) error: cannot find symbol variable main
Error:(27, 20) error: cannot find symbol class InstagramApp
Error:(74, 48) error: cannot find symbol class OAuthAuthenticationListener
Error:Execution failed for task ':app:compileDebugJava'.
> Compilation failed; see the compiler error output for details.
Information:BUILD FAILED
Information:Total time: 3.909 secs
Information:8 errors
Information:0 warnings
Information:See complete output in console

解决此问题的任何建议和指导都会非常有帮助。谢谢。

最佳答案

这一行:

error: package com.example.dothis.instagram.InstagramApp does not exist Error:(18, 13)

提示您正在使用的包不存在。所以该路径上没有文件。您应该将 InstagramApp java 文件放在该路径上,或者将包名称更改为正确的路径。


TL;DR:您正在尝试导入这两个文件:

import com.example.dothis.instagram.InstagramApp;
import com.example.dothis.instagram.InstagramApp.OAuthAuthenticationListener;

但他们不在您提供的路径上。您必须将 InstagramApp.java 文件放在您的 instagram 文件夹下才能导入。


编辑:您可以阅读 this related question关于 java import 以了解您的代码有什么问题。您还可以阅读 this tutorial关于包。

第二次编辑:您需要输入 this file在您的项目下导入工作。您不能在没有获得所需文件的情况下简单地复制和粘贴示例。你错过了一个,这就是你收到错误的原因。

关于java - 无法解析符号 Instagram 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32836087/

相关文章:

java - 是否可以在pom中允许循环引用

java - Android 服务不停止

instagram - 使用 Instagram API 从我的帐户读取统计信息?

Instagram API 说用户不存在

html - 500 内部服务器错误仅在通过 Instagram 简历访问移动网站时发生

java - 和之间的区别

java - Android表格布局从手机边缘开始

java - 从命令行使用 StdIn 接口(interface)时,Java 在哪里查找文件?

java - gradle编译成功,但项目运行失败

android - 如何在我的 HTC Magic 上安装我的安卓应用程序?