1.掌握Android中菜单的创建。 我们模仿微信菜单栏学习,创建一个于微信菜单栏相似的菜单 通过窗口预览,我们已经初步得到了我们需要的结果。 将我们初步完成的菜单栏嵌入我们的主界面MainAcitivity中。 有了简单的菜单还不足够,我们需要继续完善点击菜单的响应功能,让用户知道他的点击得到回应。 点击响应我们需要用到Toast.makeText方法 这样一来,用户就能够知道点击得到回应。 我们先创建GroupChartActivity,为后续功能开发做准备。我们可以使用startActivity() 方法开启活动发送数据。 在GroupCharActivity添加接受sendData,使用Intent组件进行关联响应,如下: 如此一来,我们就能进行我们的数据传送,点击发起群聊,我们跳转页面并且发送信息由Toast打印显示,如图: 为了接受数据先创建AddFriendsActivity,为后续功能开发做准备。我们可以使用startActivityForResult() 方法开启活动发送数据。 在AddFriendsActivity我们需要一个按钮进行数据的返回,如下: 按钮我们需要在AddFriendsActivit相对应的xml中进行设计 到目前为止,我们只是完成了发送数据的步骤和接受数据的准备,我们尝试运行一下页面。 我们再尝试运行,点击返回数据按钮:Menu菜单学习
2.掌握Intent信使组件。创建菜单Menu
那么我们应该如何创建呢?
首先我们在Android Studio中找到res文件夹,新建一个Directory.
其次我们需要在弹出的对话框对这个Directory进行命名。
然后在res就会得到一个新的文件夹menu
对menu文件夹右键新建一个Menu Resource File
对Menu Resource File进行设定
随后在Menu文件夹下面找到对应的menu.xml,进行代码的编写:<item android:title="发起群聊" android:id="@+id/ietmGroup" /> <item android:title="添加朋友" android:id="@+id/ietmAddfriend" /> <item android:title="扫一扫" android:id="@+id/ietmScan" /> <item android:title="收付款" android:id="@+id/ietmMoney" /> <item android:title="帮助与反馈" android:id="@+id/ietmHelp" />
创建主界面MainActivity
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu,menu); return super.onCreateOptionsMenu(menu); }
设置点击事件
@Override public boolean onOptionsItemSelected( MenuItem item) { switch(item.getItemId()){ case R.id.ietmGroup: Toast.makeText (MainActivity.this,"你点击了发起群聊",Toast.LENGTH_LONG).show(); break; case R.id.ietmAddfriend: Toast.makeText (MainActivity.this,"你点击了添加朋友",Toast.LENGTH_LONG).show(); break; case R.id.ietmScan: Toast.makeText (MainActivity.this,"你点击了扫一扫",Toast.LENGTH_LONG).show(); break; case R.id.ietmMoney: Toast.makeText (MainActivity.this,"你点击了收付款",Toast.LENGTH_LONG).show(); break; case R.id.ietmHelp: Toast.makeText (MainActivity.this,"你点击了帮助与反馈",Toast.LENGTH_LONG).show(); break; default: } return true; }
接下来我们丰富两个功能,点击发起群聊跳转需要实现的效果为当点击发起群聊可以将数据“hello 我发起群聊了”发送给目标活动GroupChartActivity,目标活动接收数据并用Toast打印出来。点击添加朋友开启目标活动AddFriendsActivity,目标活动返回数据“hello 我是你的朋友teacher tony”给MainActivity,MainActivity接收数据并用Toast打印出来。发送数据
在MainActivity中发起群聊里添加startActivity()方法,如下:case R.id.ietmGroup: Intent intent = new Intent(MainActivity.this,GroupChartActivity.class); intent.putExtra("sendData","hello 我发起群聊了"); startActivity(intent); Toast.makeText (MainActivity.this,"你点击了发起群聊",Toast.LENGTH_LONG).show(); break;
Intent intent=getIntent(); String sendData= ((Intent) intent).getStringExtra("sendData"); Toast.makeText(GroupChartActivity.this,sendData,Toast.LENGTH_LONG).show();
接受数据
在MainActivity中发起群聊里添加startActivityForResult()方法,如下:case R.id.ietmAddfriend: Intent intent1=new Intent(MainActivity.this,AddFriendsActivity.class); startActivityForResult(intent1,1); Toast.makeText (MainActivity.this,"你点击了添加朋友",Toast.LENGTH_LONG).show(); break;
Button button=findViewById(R.id.buttondata); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent =new Intent(); intent.putExtra("returnData","hello 我是你的朋友 teacher tony"); setResult(RESULT_OK,intent); finish(); } }); }
<Button android:id="@+id/buttondata" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="78dp" android:text="返回数据" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
我们尝试点击返回数据,无任何结果。说明我们的功能还未完善,只完成了部分。此时我们要运用到if函数,以及setResult(RESULT_OK,intent);这一条指令。这是我们接受数据的关键,当我们得到Result_ok时,我们成功返回数据。
在MainActivity中添加相对应的方法:@Override protected void onActivityResult(int requestCode, int resultCode,Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case 1: if (resultCode == RESULT_OK){ String returnData =data.getStringExtra("returnData"); Toast.makeText(MainActivity.this,returnData,Toast.LENGTH_LONG).show(); break; } } }
这一次,我们成功接收到了我们需要的数据:hello,我是你的朋友 teacher tony。
自此,我们这一次的Android 开发的学习到了结尾。本次学习我们初步认识了Android菜单的设定,菜单的响应,发送数据和接收数据
Android开发的学习未完待续
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算