android培训内容明细,记录Android开发学习
記錄Android開發學習
Menu菜單學習
1.掌握Android中菜單的創建。
2.掌握Intent信使組件。
創建菜單Menu
我們模仿微信菜單欄學習,創建一個于微信菜單欄相似的菜單
那么我們應該如何創建呢?
首先我們在Android Studio中找到res文件夾,新建一個Directory.
其次我們需要在彈出的對話框對這個Directory進行命名。
然后在res就會得到一個新的文件夾menu
對menu文件夾右鍵新建一個Menu Resource File
對Menu Resource File進行設定
隨后在Menu文件夾下面找到對應的menu.xml,進行代碼的編寫:
android:title="發起群聊"
android:id="@+id/ietmGroup" />
android:title="添加朋友"
android:id="@+id/ietmAddfriend" />
android:title="掃一掃"
android:id="@+id/ietmScan" />
android:title="收付款"
android:id="@+id/ietmMoney" />
android:title="幫助與反饋"
android:id="@+id/ietmHelp" />
通過窗口預覽,我們已經初步得到了我們需要的結果。
創建主界面MainActivity
將我們初步完成的菜單欄嵌入我們的主界面MainAcitivity中。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu,menu);
return super.onCreateOptionsMenu(menu);
}
有了簡單的菜單還不足夠,我們需要繼續完善點擊菜單的響應功能,讓用戶知道他的點擊得到回應。
設置點擊事件
點擊響應我們需要用到Toast.makeText方法
@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打印出來。
發送數據
我們先創建GroupChartActivity,為后續功能開發做準備。我們可以使用startActivity() 方法開啟活動發送數據。
在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;
在GroupCharActivity添加接受sendData,使用Intent組件進行關聯響應,如下:
Intent intent=getIntent();
String sendData= ((Intent) intent).getStringExtra("sendData");
Toast.makeText(GroupChartActivity.this,sendData,Toast.LENGTH_LONG).show();
如此一來,我們就能進行我們的數據傳送,點擊發起群聊,我們跳轉頁面并且發送信息由Toast打印顯示,如圖:
接受數據
為了接受數據先創建AddFriendsActivity,為后續功能開發做準備。我們可以使用startActivityForResult() 方法開啟活動發送數據。
在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;
在AddFriendsActivity我們需要一個按鈕進行數據的返回,如下:
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();
}
});
}
按鈕我們需要在AddFriendsActivit相對應的xml中進行設計
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開發的學習未完待續
標簽:Toast,MainActivity,記錄,學習,點擊,makeText,Intent,Android,我們
來源: https://blog.csdn.net/genijmni/article/details/105760691
總結
以上是生活随笔為你收集整理的android培训内容明细,记录Android开发学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html中双重id标签怎么写,PHP读取
- 下一篇: 服务端转发html页面,html5关于外