活动(activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。

在AndroidManifest文件中注册

所有的活动都需要在AndroidManifest.xml中注册。不过Android Studio会自动进行注册

                                                        
在标签中:

android:icon设置APP的图标,安装在手机上的APP图标就是这个。
android:label设置APP的标题,安装在手机上的APP标题就是这个。
通过标签来进行活动注册。

Toast提示

Toast.makeText(FirstActivity.this,"这是按钮",Toast.LENGTH_SHORT).show();
Toast通过静态方法makeText()创建,让后调用show()将其显示出来。
makeText()方法需要3个参数:

  • Context
  • Toast所需文本
  • Toast所需时长 有两个内置常量Toast.LENGTH_SHORT和Toast.LENGTH_LONG

Menu菜单

  1. res中新建一个menu文件夹,在menu中建立新建布局文件。
menu.png
            

标签就是用来创建具体的某一项菜单项。

  • 在Activity中重写onCreateOptionsMenu()方法【快捷键Ctrl+o】
@Overridepublic boolean onCreateOptionsMenu(Menu menu){//通过getMenulnflater()方法能够得到MenuInflater对象,再调用它的inflate()方法就可以给当前活动创建菜单了。//inflate方法两个参数,第一个用于指定我们通过哪一个资源文件,第二个用于指定我们的菜单项添加到哪一个menu对象中。    getMenuInflater().inflate(R.menu.main,menu);    return true;}
  • 继续重写onOptionsItemSelected()方法,为菜单添加响应事件
@Overridepublic boolean onOptionsItemSelected(MenuItem item) {    switch (item.getItemId()){        case R.id.add_item:            Toast.makeText(FirstActivity.this,"这是add按钮",Toast.LENGTH_SHORT).show();            break;        case R.id.remove_item:            Toast.makeText(FirstActivity.this,"这是remove按钮",Toast.LENGTH_SHORT).show();            break;        case R.id.finish_item:            Toast.makeText(FirstActivity.this,"这是finish按钮",Toast.LENGTH_SHORT).show();            finish();//关闭当前活动            break;    }    return true;}

Intent

Intent是Android程序中各个组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。

1. 显式Intent

Intent intent = new Intent(FirstActivity.this,SecondActivity.class);startActivity(intent);

2. 隐式Intent

在AndroidManifest.xml中的标签下配置的内容,其中可以指定,,三个标签:

                                

中的内容同时能够匹配上Intent中指定的action和actegory时,这个活动才能响应该Intent。标签用于更精确地指定当前活动能够响应什么类型的数据。

标签配置
  • android:scheme 用于指定数据的协议部分
  • android:host 用于指定数据的主机名部分
  • android:port 用与指定数据的端口部分
  • android:path 用于指定主机名和端口之后的部分
  • android:mimeType 用于指定可以处理的数据类型,允许使用通配符的方式进行指定。

3. Intent数据传递

- 向下一个活动传递数据

通过putExtra()方法传递一个字符串

Intent intent = new Intent();intent.putExtra("data","Hello SecondActivity");startActivity(intent);

通过getIntent()方法获取到启动activity的Intent,让后通过getStringExtra取得字符串。

Intent intent = getIntent();String data = intent.getStringExtra("data");Log.d("SecondActivity",data);
- 返回数据给上一个活动

可通过startActivityForResult()方法实现。该方法期望活动结束后返回一个j结果给上一个活动。其接受两个参数:Intent和请求码。请求码唯一。

//FirstActivity中Intent intent = new Intent(FirstActivity.this,SecondActivity.class);startActivityForResult(intent,1);
//SecondActivitybutton.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intentClick = new Intent();                intentClick.putExtra("data_return","Hello FirstActivity");//setResult()方法中,第一个参数用于向上一个活动返回处理结果,第二个参数则是带有数据的Intent。                setResult(RESULT_OK,intentClick);                finish();            }        });
//FirstActivity中重写onActivityResult()方法//该方法带有三个参数://requestCode 请求码、resultCode 返回数据时传入的结果集、data 带参的Intent@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {    switch (requestCode){        case 1:            if (resultCode == RESULT_OK){                String returnedData = data.getStringExtra("data_return");                Log.d("FirstActivity",returnedData);            }            break;        default:    }}
//还可以在SecondActivity中重写onBackPressed()方法实现点击Back键返回数据@Overridepublic void onBackPressed() {    Intent intent = new Intent();    intent.putExtra("data_return","Hello FirstActivity");    setResult(RESULT_OK,intent);    finish();}

当然上面的内容只是一部分而已,想更深入的了解还得在继续研究。同样我还找到一些其他的资料,比如:
intent Filter
其他人的阅读笔记
Android Developers
这里仅仅是我记录的部分笔记,以备回顾记忆
如有侵权请联系我,我将进行修改和删除

更多相关文章

  1. Android关于socket编程,实现与服务器端通信
  2. Android学习问题:关于AlertDialog中自定义布局带有的EditText无法
  3. Xamarin.Android(安卓)的照相機使用
  4. AsyncTask类的用法
  5. Android(安卓)View绘制及实践
  6. Android(安卓)中使用WebViewJavaScriptBridge进行H5和原生的交互
  7. Android歌词秀设计思路(1)SafetyTimer
  8. App Widget Framework分析之一:AppWidgetService
  9. Android(安卓)View系列(一):View的基础知识

随机推荐

  1. 【Android】Error:(32, 2) error: #error
  2. Android(安卓)代码片段
  3. TextView跑马灯效果
  4. Android(安卓)弹出有确认按键的对话
  5. Android(安卓)8.1 (O)信号强度介绍和定制
  6. Android中的多种文件读写操作方法
  7. 自定义弹窗AlertDialog
  8. android 连接CMWAP
  9. android 查看图片、保存图片
  10. Android(安卓)TextView显示html图片