什么是initClickListener(),ComponentName,class.getPackage()?

时间:2014-02-10 13:48:36

标签: java android

我是一个Android新手也不是很富裕的java。我想了解MobiStego的源代码。

因此以下是我无法完全理解的项目代码的一部分。

请帮忙......

private void initClickListner()
    {
        Button buttonEncode = (Button) findViewById(R.id.ButtonEncode);
        buttonEncode.setOnClickListener(new Button.OnClickListener()
        {
            public void onClick(View v) {

                 Intent intent = new Intent();

                  intent.setComponent(new ComponentName(EncodeActivity.class.getPackage().getName(),
                          EncodeActivity.class.getCanonicalName()));
                  startActivity(intent);
            }
        }
        );

2 个答案:

答案 0 :(得分:0)

1-initClickListner()是一个自己创造的方法。用户方法。等;

public void myfunction(){ ..... ..... }

2-setcomponent和class.getpackage是一种意图组件。我想你知道android中的意图机制。此意图类型用于应用程序中的不同包名称。例如,你有com.axample.yourappname和com.example.yourappname2包。这个意图,针对不同包活动的交叉意图。如果你想从第一个包的活动中调用第二个包的活动你可以调用上面的功能。

答案 1 :(得分:0)

我想延长MehmetF的答案。正如他所说,initClickListner()只是一个用户定义的方法名称,没有什么特别的 ComponentName充当特定应用程序组件的identifier,此组件可以是activityserviceclass.getPackage().getName()用于获取指定类名的包名称 这两个链接也可以帮助您有一个清晰的想法:

编辑: class.getCanonicalName()是导入语句中使用的名称,唯一标识类。好吧,我认为你需要看清楚这些差异。