在Android中,如何在按钮点击时调用类?

4

我是一名新手Android开发者。我有两个不同的类(MainActivity.java和Upload.java)
我遇到了将Upload.java调用到Main.Activity中的问题。
当我点击按钮时,应用程序崩溃了。
我做错了什么吗?

MainActivity.java

Button upload = (Button)findViewById(R.id.upload_Btn);

upload.setOnClickListener(new View.OnClickListener()
{
    @Override
    public void onClick(View v) 
    {
        Update_Table dbClient = new  Update_Table();

        try {
            dbClient.DynamoDBClient();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            Log.i("sys", "Success");
        }
    }
}

Upload.java

public class Update_Table
{
    private String tableName = "Test";
    private AmazonDynamoDBClient client =null;
 
    public void DynamoDBClient() throws IOException
    {
        AWSCredentials cred = new PropertiesCredentials(Update_Table.class
    .getResourceAsStream("AwsCredentials.properties"));
  
        client = new AmazonDynamoDBClient(cred);
    }
}

LOGCAT是Android系统提供的一个日志工具,可以帮助开发人员在开发和调试过程中实时查看应用程序的运行状态。上图展示了LOGCAT界面的样式。

1
你能提供带有错误的logcat日志吗? - Sergey Maksimenko
是的,当然。我已经为您提供了logcat。 - Batman
1个回答

1
在该方法中更改行,如下所示:
 public class Update_Table
    {
        private String tableName = "Test";
        private AmazonDynamoDBClient client =null;

        public void DynamoDBClient() throws IOException
        {

       //changed the below line 
            AWSCredentials cred = new PropertiesCredentials(ClassLoader.getResourceAsStream("src/com.afdal.ftsmetheses/AwsCredentials.properties"));

//OR try this

AWSCredentials cred = new PropertiesCredentials(ClassLoader.getResourceAsStream("com.afdal.ftsmetheses/AwsCredentials.properties"));

            client = new AmazonDynamoDBClient(cred);

        }


    }

"AwsCredentials.properties" 是一个文件,它位于您的 src 文件夹中,您可以检查并告诉我。 - Pankaj
是的,当然 Clairvoyant。文件在我的 src 文件夹中:src/com.afdal.ftsmetheses/AWSCredentials.properties。 - Batman
尝试过了,但仍然崩溃了。我有点困惑如何调用AWS凭证。 - Batman
你尝试过我提到的两种方法吗???错误是因为您没有提供正确的路径。 - Pankaj
让我们在聊天中继续这个讨论 - Batman
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接