伙计们我在YouTube上看过关于android的教程,它有200个视频,但没有解释什么是Bundle,View和Context。
第一个问题什么是Bundle?
第二个问题 onCreate方法里面的包是什么来自?那个包里面有什么?
第3个问题什么是上下文?我发现Activity是扩展Context,所以说Context是活动本身是正确的吗?或该活动的背景?
第4个问题什么是View?我发现TextView扩展了View和其他小部件,如Button EditText扩展TextView,这意味着它们也扩展了View。 我还发现Button,EditText和其他小部件的语法就是这个......
TextView(Context);
Button(Context);
EditText(Context);
所以我的假设是“Context = Activity = Screen”和“View = Button = TextView = EditText”
所以在这个例子中
public Example extends Activity{
onCreate(){
Button buttonObj = new Button(this):
}
}
Button buttonObj = new Button(this);
“this keyword”这里是指扩展Activity的Example类。这里的代码基本上是说“把这个按钮作为上下文中的View,这是作为屏幕的活动”?
如果我是对的那么为什么Activity在Button里面传递?因为在Activity中传递按钮是有意义的。
第五个问题这里发生了什么?
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
//code here
}
});
什么是新的View.onclickListener()??这是一个静态方法,它返回一个实现onClickListener的对象??
您是否也可以推荐学习Android的好书?
答案 0 :(得分:3)
Bundle~a Bundle是一组数据。当一个Activity开始时(通过onCreate),Android OS(或者你!)可以通过这个包将一些额外的数据传递给这个活动。你知道什么是HashMap吗? bundle是一个美化的hashmap,支持多种不同的类型。
OnCreate Bundle~此捆绑包来自Android。老实说,不要太担心。如果你想从另一个开始一个活动,你使用一个意图(你知道吗?)。因此,您可以将数据“捆绑”到intent中(使用setExtra
方法)。意图中的这些数据将包含在此onCreate包中,您可以通过那里访问它。
上下文〜正在运行的应用程序以及与之关联的任何内容。运行应用程序时,此上下文将引用与应用程序关联的所有内容。所有活动,视图,资源,一切都与上下文相关联。可以将其视为单词定义:它是您的应用程序的上下文。每个应用程序都有一个独特的背景。
查看〜视图是可以在屏幕上绘制的任何内容。
答案 1 :(得分:1)
的OnCreate(): 活动的整个生命周期发生在第一次调用之间 onCreate()到onDestroy()的最后一次调用。 一个活动完成其所有“全局”状态的初始设置 onCreate(),并释放所有剩余资源 的onDestroy()。例如,如果它有一个运行的线程 从网络下载数据的背景,它可能会创建 该线程在onCreate()中然后停止该线程 的onDestroy()。 当活动是第一个时调用OnCreate方法 创建。这就是你的地方 应该做你所有的正常 静态设置 - 创建视图, 将数据绑定到列表,等等。 这个方法传递给Bundle 包含活动的对象 以前的状态,如果是那个州 捕获。
查看: 窗口的可视内容由视图层次结构提供 - 从基础View类派生的对象。 每个视图控制窗口内的特定矩形空间。父视图包含并组织其子项的布局。叶子视图(层次结构底部的视图)绘制它们控制的矩形,并响应指向该空间的用户操作。因此,视图是活动与用户的交互发生的地方。 例如,视图可能会显示一个小图像,并在用户点按该图像时启动操作。 Android有许多可以使用的现成视图(小部件) - 包括按钮,文本字段,滚动条,菜单项,复选框等。
答案 2 :(得分:1)
我建议您查看一些基于文本的教程而不是视频,因为当您感到困惑时,更容易看到事物并重读。
我将开始帮助您弄清楚这些术语的含义。
捆绑 - 对你来说并不是非常重要。调用活动时,您可以向捆绑中添加要发送到下一个活动的内容,以便新活动包含您想要的信息。
上下文 - 每个活动都有自己的上下文,对它有一个基本的了解很重要。您的第一个应用程序将有一个活动(或类),从中完成所有操作。在这种情况下,您只需要担心“this”上下文,这意味着当前的活动活动。但是,如果您使用具有多个活动的应用程序,则某些应用程序可能处于活动状上下文告诉您的应用程序哪些活动正在请求操作,例如在屏幕上显示文本或图像。
视图是您的基本UI元素。它们可以很简单,如TextViews(只显示文本),按钮,或更复杂,如组织其他视图的布局。
对于你的例子:
public Example extends Activity{
onCreate(){
Button buttonObj = new Button(this):
}
} 示例是使用“活动”资源的类的名称。 当活动“示例”启动时,它首先调用onCreate方法。 然后,它会创建一个按钮对象,您可以将其“附加”到布局文件中的物理按钮。
setOnClickListener方法用于准备按钮单击的活动。进入onClick部分的代码是用户单击按钮时会发生的情况。
如果你想进入android编程,你真的应该首先阅读这个网站上的常见问题解答。你应该只发布有问题的问题而不是要求提出诸如好书之类的意见。数百人已经提出了这个问题,如果你不能做一个简单的谷歌搜索,你可能想等待学习编程。
但我很高兴所以这里有一些在线教程可以帮助你开始解释一些你感到困惑的事情:
http://developer.android.com/guide/index.html http://www.codeproject.com/Articles/102065/Android-A-beginner-s-guide