要恰饭的么,要生活的么
基于第一行代码,不知道能看多少
1、Android 系统架构
1、linux内核层
2、系统运行库层
3、应用框架层
4、应用层
2、直接上AS使用吧
2.1、UI设计阶段
UI是安卓的一个必经之路,它和web的前端相似,需要先进行前端的设计,再进行后续的逻辑实现,这么说来和asp又有点相似,总之UI设计并不是随随便便的东西一拉就完事了的,基本都是需要进行专业的测量和比例分配,而AS很好的进行了一些辅助线来帮忙进行设计。
那么进行UI设计第一步就是布局,传统前端布局有很多,安卓的则是主要有线性和相对布局。(逻辑与视图分离)
2.2、活动
2.2.1什么是活动?
活动是一种可以包含用户界面的组件,主要用于和用户进行交互,一个应用程序中包含0个或多个活动,但不包含任何任何活动的应用程序很少见。
2.2.2建立第一个活动项目
新建一个项目,Add no Activity,方便我们接下来自己建立,然后再项目中New empty activity,然后不要勾选Generate Layout File(生成布局文件)和Launcher Activity(活动启动器–将这个活动设置为项目的主活动)。
加载布局–在add/res目录中新建一个文件夹layout,然后在layout文件夹中新建layout resource file,根元素默认为LinearLayout,完成创建之后,会显示布局编译器,然后一般使用Text模式使用XML文件进行编辑布局。
在XML设置完之后,还需要在你的activity中,在onCreate()中加入setContentView(R.layout.first_layout);
这才算把这个布局加载到你的活动项目中了。
活动注册–然后到了这一步仍然不算完成,需要在AndroidManifest中再注册你的项目,才能真正运行。
<activity android:name=".FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"></action>
<category android:name="android.intent.category.LAUNCHER"></category>
//注册成为主活动
</intent-filter>
</activity>
这样就完毕了。
2.2.4 活动中使用Toast
这种下面出一个小提示的就是Toast。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button button = (Button) findViewById(R.id.button_1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(FirstActivity.this,"Button1 clicked",Toast.LENGTH_SHORT).show();
}
});
}
2.2.5活动中使用Menu
需要继续在你的活动中进行重写AppCompatActivity中的方法,AS中直接使用ctrl+O。
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main,menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.add_item:
Toast.makeText(this,"Add Clicked",Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this,"Remove Clicked",Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
2.2.6 销毁一个活动,Activity提供一个finish()方法,直接可以进行调用。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button button = (Button) findViewById(R.id.button_1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}