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不会具体指出要启动的活动,而是通过actioncategory【行为、类别】在系统中找到对应的activity然后交给intent

既然这样,那么就需要在注册activityAndroidManifest.xml下添加actioncategory两条属性。   还能利用隐式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;

}

//当销毁了活动后默认返回上一级也就说能够看到打印的消息了。

 

 

posted @ 2017-03-21 09:02  LayManDM  阅读(289)  评论(0编辑  收藏  举报