Java 什么是initClickListener()、ComponentName、class.getPackage()?
我是一个android新手,对java也不是很精通。我试图理解MobiStego的源代码 因此,以下是我未能完全理解的项目代码的一部分 请帮忙Java 什么是initClickListener()、ComponentName、class.getPackage()?,java,android,Java,Android,我是一个android新手,对java也不是很精通。我试图理解MobiStego的源代码 因此,以下是我未能完全理解的项目代码的一部分 请帮忙 private void initClickListner() { Button buttonEncode = (Button) findViewById(R.id.ButtonEncode); buttonEncode.setOnClickListener(new Button.OnClickListener()
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);
}
}
);
1-initClickListner()是一个自己创建的方法。用户方法。喜欢
公共函数(){
.....
.....
}
2-setcomponent和class.getpackage是一种意图组件。我想你知道安卓系统的意图机制。此意图类型适用于应用程序中的不同包名称。例如,您有com.axample.yourappname和com.example.yourappname2包。此意图,不同包活动的交叉意图。若你们想从第一个包的活动调用第二个包的活动,你们可以调用上面的函数 我只想扩展MehmetF的答案。正如他所说,
initClickListner()
只是一个用户定义的方法名,没有什么特别之处。ComponentName
充当特定应用程序组件的标识符
,该组件可以是活动
或服务
class.getPackage().getName()
用于获取前面指定类名的包名。这两个链接还将帮助您了解以下内容:
class.getCanonicalName()
是在导入语句中使用的名称,唯一标识类。嗯,我认为你需要看到这些差异才能清楚地理解