本篇不作任何阅读以及用处,只作索引!
AndroidManifest.xml
活动注册需要放在 <application> 标签内,通过 <activity> 标签对活动进行注册。
- android:name 来指定具体注册的活动,**填写具体包名下的某活动文件名称。由于 <manifest>
已完成指定故此名称处只需要填写“.**”(一个点替代前面的一长串包名+活动名) - android:lable参数可以对指定活动中的标题栏进行命名。如果是给主活动指定 lable
,还会同时成为启动器(Launcher)中应用程序显示的名称。
<activity android:name="**"><activity>
AndroidManifest.xml文件中,在 <activity> 标签内,有以下 <intent-filter> 标签,用于配置程序主活动:
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
onCreate
onCreate的方法是在Activity创建时被系统调用,是一个Activity生命周期的开始。
public void onCreate (Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.**);
}
setContentView(R.layout.**)
用 setContentView() 方法给当前的活动加载一个布局,而在 setContentView() 方法中,我们一般会传入一个布局文件的id。项目中添加的任何资源都会在R文件中生成一个id,因此之前的布局文件**.xml已经添加到R文件中了。
findViewById(R.id.**)
获取 xml 布局文件中的具体元素/ widget 控件(如:Button、TextView 等),传入 R.id. ,来获得的实例,这个值则是在xml中通过android:id属性指定的。
setOnClickListener()
经常碰到代码,比如
public class MainActivity extends AppCompatActivity {
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
}
//onClicklistener是一个接口,不能实例化,这就是一个匿名内部类,这个类实现onClickListener
//然后被new 了,无形中传了一个对象进去,这个对象给了button/TextView中的mOnClicklistener,就是这家伙调用了onClick方法
//当然要是Activity实现了这个接口,就可以setonClickListener(this)
//this是当前类的一个对象
//传进去一个Activity对象给monclickListener,就是一个接口引用指向Activity对象,不过接口引用只能调用自己的方法
makeText()
public static Toast makeText (Context context, int resId, int duration)
context:使用上下文。通常您的应用程序或Activity对象。
resId:使用string资源的id去调用,或者可以使用格式化的文本。
duration:显示信息时间的长短。可以是length_short或length_long
onCreateOptionsMenu(Menu menu)
public boolean onCreateOptionsMenu(Menu menu) {
/**
* 此方法用于初始化菜单,其中menu参数就是即将要显示的Menu实例。 返回true则显示该menu,false 则不显示;
* (只会在第一次初始化菜单时调用) Inflate the menu; this adds items to the action bar
* if it is present.
*/
getMenuInflater().inflate(R.menu.main, menu);
return true;
}