Java 为什么widgets';构造函数需要上下文吗?
我刚刚开始学习Android编程,我有一个疑问。如果我有一个活动和一个小部件(在其中),为什么我必须在小部件的构造函数中声明一个上下文?难道它不应该理解我所处的环境吗?在Java中,如果我创建一个框架,我只需要键入:Java 为什么widgets';构造函数需要上下文吗?,java,android,Java,Android,我刚刚开始学习Android编程,我有一个疑问。如果我有一个活动和一个小部件(在其中),为什么我必须在小部件的构造函数中声明一个上下文?难道它不应该理解我所处的环境吗?在Java中,如果我创建一个框架,我只需要键入: JFrame frame = new Frame(); 我不明白为什么我需要用Android写这个: LinearLayout ll = new LinearLayout(this); 上下文类详细信息: 与有关应用程序环境的全局信息的接口。这是一个抽象类,其实现由Androi
JFrame frame = new Frame();
我不明白为什么我需要用Android写这个:
LinearLayout ll = new LinearLayout(this);
上下文类详细信息: 与有关应用程序环境的全局信息的接口。这是一个抽象类,其实现由Android系统提供
它允许访问特定于应用程序的资源和类
,以及对应用程序级操作(如启动活动、广播和接收意图等)的up调用
假设您的应用程序没有此,它允许访问特定于应用程序的资源。
现在您将如何在LinearLayout->Child(ImageView)中添加图像为此,您需要一些参考,通过这些参考,您可以访问在项目的drawable文件夹中声明的图像
编辑部分:
这是android中上下文的超集
(我不能说这是准确的,但我试着这样理解)
new Frame(),new LinearLayout(this)
除了这个
参数外,其他的表示形式都是相同的,现在尝试从代码中避免使用new
关键字,现在我们只有
Frame(),LinearLayout(此)
现在调用两个构造函数Frame()和LinearLayout(this)
需要注意的一点:在每个构造函数或每个方法中,都有一个为方法或构造函数自动创建的堆栈。堆栈被创建为临时存储
(范围相关)&在每个堆栈的第一个位置,这是调用函数的this
。所以,你是否发送这个并不重要
对于android,我认为brilliant minds(android Api的创建者)已经添加了它(context
),以提高用户的可读性,用户可以正确理解它。context类详细信息:
与有关应用程序环境的全局信息的接口。这是一个抽象类,其实现由Android系统提供它允许访问特定于应用程序的资源和类
,以及对应用程序级操作(如启动活动、广播和接收意图等)的up调用
假设您的应用程序没有此,它允许访问特定于应用程序的资源。
现在您将如何在LinearLayout->Child(ImageView)中添加图像为此,您需要一些参考,通过这些参考,您可以访问在项目的drawable文件夹中声明的图像
编辑部分:
这是android中上下文的超集
(我不能说这是准确的,但我试着这样理解)
new Frame(),new LinearLayout(this)
除了这个
参数外,其他的表示形式都是相同的,现在尝试从代码中避免使用new
关键字,现在我们只有
Frame(),LinearLayout(此)
现在调用两个构造函数Frame()和LinearLayout(this)
需要注意的一点:在每个构造函数或每个方法中,都有一个为方法或构造函数自动创建的堆栈。堆栈被创建为临时存储
(范围相关)&在每个堆栈的第一个位置,这是调用函数的this
。所以,你是否发送这个并不重要
对于android,我认为brilliant minds(android Api的创建者)已经添加了它(context
),以便用户能够更好地理解它。android中的视图
需要从资源
中检索某些属性,例如尺寸、颜色、,等。要检索这些,它需要上下文
(例如上下文.getResources()
)。Android中的视图
需要从资源
中检索某些属性,例如维度、颜色等。要检索这些,它需要上下文
(例如上下文.getResources()
).你认为它会怎么做?一个被创造的物体对它的创造者一无所知。我更新了我的问题,也许我的怀疑现在更清楚了,你认为它会怎么做?创建的对象对其创建者一无所知。我更新了我的问题,也许我的疑问现在更清楚了,但为什么我可以在java中编写JButton button=new JButton();在android编程中,我不能只键入Button=new Button();?但是为什么我可以用java编写JButton button=newjbutton();在android编程中,我不能只键入Button=new Button();?