Android Studio 入门——001 android基本细节
Android studio
大概框架:
1.Activity 目前来看,android的结构===活动+活动内对应响应事件
2.活动首先在java->com.example...下创建活动,而后在AndroidManifest.Xml下注册活动,这样活动才能在app程序中生效。
3.给activity添加布局,在layout下创建新的布局.
1.toast---在屏幕底端出现文字提示(一定时间就会自动消失)。 在使用这个的时候,第一个要考虑的肯定是触发条件,直接就类似于监听事件. 通过静态方法makeText(context,text,time)创建一个toast对象,再调用show()显示出来就好了。
2.Menu 能够节省很多空间 新建一个文件夹menu->再建一个main菜单文件<item>用来创建菜单项至少给每个菜单项一个id【唯一标识符】一个title【显示指定菜单的名称---显示名称】 而后在对应的activity下重写onCreateOptionsMenu()方法,这个方法里首先需要获取到menu.Main菜单文件。 Public booolean onCreateOptionsMenu(Menu menu){getMenuInflater().inflater(R.menu.main,menu); return true;} 获取到菜单填充对象,而后调用inflater函数填充菜单:Inflater的两个参数,第一个是指定用哪一个资源文件创建菜单,第二个指定添加到哪一个Menu对象里去。返回true表示允许菜单显示出来,false表示不允许。 响应菜单item,重写onOptionsItemSelected()。
3.销毁活动直接就是finish()就好----给响应监听项添加finish(),当触发时自动调用finish()销毁活动。
4.Intent 这个感觉是一个很重要的东西,毕竟它承担了一个活动切换以及活动数据的传递的责任。
Intent 分为显示intent和隐式intent两种。
1->显示intent Intent(context,class)---第一个参数要求提供一个启动活动的上下文,第二个参数则是制定想要启动的活动。Intent Intent(firstActivity.this,secondActivity.class);
startActivity(intent);把构建的意图【intent】传递给start Activity,当点击按钮就能够切换到second Activity。
2->隐式intent 顾名思义,这种intent不会具体指出要启动的活动,而是通过action、category【行为、类别】在系统中找到对应的activity然后交给intent。
既然这样,那么就需要在注册activity的AndroidManifest.xml下添加action、category两条属性。 还能利用隐式intent来打开第三方应用【其他程序的应用】!!!!!!
3->利用intent来传递数据 putExtra()..在firstactivity的想要函数里面传递字符串::
string data=”with no patience”;
Intent intent=new Intent(firstactivity.this,secondactivity.class);
intent.putExtra(“extra_data”,data);
startActivity(intent);
在secondActivity里面接受字符串
Intent intent=getIntent();
String data=intent.getStringEtra(“extra_data”);
Log.d(“secondactivity”,data);
//在这个简单的例子里面,上一个活动传递一个intent对象,然后intent对象携带着一堆信息【在这个例子里就是extra_data】在响应的活动里面接受intent并把intent携带的信息显示出来。在这里感觉 intent就像是一辆兼职运输车,其中之一就是负责运送数据putExtra()相当于上货,getStringExtra()则相当于卸货。extra_data顾名思义就是运输车了。
4->返回数据给上一个活动
Intent intent=new Intent(first.this,second.class);
startActivityForResult(intent,1);//第二个参数算是请求码,在后面
//启动了secondActivity后再second Activity里面销毁活动的时候创建一个intent单纯的用来传递参数。
Intent intent=new Intent();
Intent.putExtra(“extra_data”,”hello”);
setResult(RESULT_OK,intent);
//第一个参数用来向上返回处理结果,第二个就是向上返回intent
Finish();
剩下的就是需要在first activity里接受intent传递的信息了【潜规则:用start Activity For Result()启动的活动在销毁后会调用上个活动的OnActivityResult()方法,那么只要重写放着个方法就能够获取到想要的数据了】
Protect void OnActivityResult(int requestCode,int resultCode,Intent data){
Switch(requestCode){
Case 1:
if(resultCode==RESULT_OK){
String data=data.getStringExtra(“extra_data”);
Log.d(“firstActivity”,data);};
Break;
Default;
}
//当销毁了活动后默认返回上一级也就说能够看到打印的消息了。