android培训内容明细,记录Android开发学习
記錄Android開發(fā)學(xué)習(xí)
Menu菜單學(xué)習(xí)
1.掌握Android中菜單的創(chuàng)建。
2.掌握Intent信使組件。
創(chuàng)建菜單Menu
我們模仿微信菜單欄學(xué)習(xí),創(chuàng)建一個(gè)于微信菜單欄相似的菜單
那么我們應(yīng)該如何創(chuàng)建呢?
首先我們?cè)贏ndroid Studio中找到res文件夾,新建一個(gè)Directory.
其次我們需要在彈出的對(duì)話框?qū)@個(gè)Directory進(jìn)行命名。
然后在res就會(huì)得到一個(gè)新的文件夾menu
對(duì)menu文件夾右鍵新建一個(gè)Menu Resource File
對(duì)Menu Resource File進(jìn)行設(shè)定
隨后在Menu文件夾下面找到對(duì)應(yīng)的menu.xml,進(jìn)行代碼的編寫:
android:title="發(fā)起群聊"
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" />
通過(guò)窗口預(yù)覽,我們已經(jīng)初步得到了我們需要的結(jié)果。
創(chuàng)建主界面MainActivity
將我們初步完成的菜單欄嵌入我們的主界面MainAcitivity中。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu,menu);
return super.onCreateOptionsMenu(menu);
}
有了簡(jiǎn)單的菜單還不足夠,我們需要繼續(xù)完善點(diǎn)擊菜單的響應(yīng)功能,讓用戶知道他的點(diǎn)擊得到回應(yīng)。
設(shè)置點(diǎn)擊事件
點(diǎn)擊響應(yīng)我們需要用到Toast.makeText方法
@Override
public boolean onOptionsItemSelected( MenuItem item) {
switch(item.getItemId()){
case R.id.ietmGroup:
Toast.makeText (MainActivity.this,"你點(diǎn)擊了發(fā)起群聊",Toast.LENGTH_LONG).show();
break;
case R.id.ietmAddfriend:
Toast.makeText (MainActivity.this,"你點(diǎn)擊了添加朋友",Toast.LENGTH_LONG).show();
break;
case R.id.ietmScan:
Toast.makeText (MainActivity.this,"你點(diǎn)擊了掃一掃",Toast.LENGTH_LONG).show();
break;
case R.id.ietmMoney:
Toast.makeText (MainActivity.this,"你點(diǎn)擊了收付款",Toast.LENGTH_LONG).show();
break;
case R.id.ietmHelp:
Toast.makeText (MainActivity.this,"你點(diǎn)擊了幫助與反饋",Toast.LENGTH_LONG).show();
break;
default:
}
return true;
}
這樣一來(lái),用戶就能夠知道點(diǎn)擊得到回應(yīng)。
接下來(lái)我們豐富兩個(gè)功能,點(diǎn)擊發(fā)起群聊跳轉(zhuǎn)需要實(shí)現(xiàn)的效果為當(dāng)點(diǎn)擊發(fā)起群聊可以將數(shù)據(jù)“hello 我發(fā)起群聊了”發(fā)送給目標(biāo)活動(dòng)GroupChartActivity,目標(biāo)活動(dòng)接收數(shù)據(jù)并用Toast打印出來(lái)。點(diǎn)擊添加朋友開啟目標(biāo)活動(dòng)AddFriendsActivity,目標(biāo)活動(dòng)返回?cái)?shù)據(jù)“hello 我是你的朋友teacher tony”給MainActivity,MainActivity接收數(shù)據(jù)并用Toast打印出來(lái)。
發(fā)送數(shù)據(jù)
我們先創(chuàng)建GroupChartActivity,為后續(xù)功能開發(fā)做準(zhǔn)備。我們可以使用startActivity() 方法開啟活動(dòng)發(fā)送數(shù)據(jù)。
在MainActivity中發(fā)起群聊里添加startActivity()方法,如下:
case R.id.ietmGroup:
Intent intent = new Intent(MainActivity.this,GroupChartActivity.class);
intent.putExtra("sendData","hello 我發(fā)起群聊了");
startActivity(intent);
Toast.makeText (MainActivity.this,"你點(diǎn)擊了發(fā)起群聊",Toast.LENGTH_LONG).show();
break;
在GroupCharActivity添加接受sendData,使用Intent組件進(jìn)行關(guān)聯(lián)響應(yīng),如下:
Intent intent=getIntent();
String sendData= ((Intent) intent).getStringExtra("sendData");
Toast.makeText(GroupChartActivity.this,sendData,Toast.LENGTH_LONG).show();
如此一來(lái),我們就能進(jìn)行我們的數(shù)據(jù)傳送,點(diǎn)擊發(fā)起群聊,我們跳轉(zhuǎn)頁(yè)面并且發(fā)送信息由Toast打印顯示,如圖:
接受數(shù)據(jù)
為了接受數(shù)據(jù)先創(chuàng)建AddFriendsActivity,為后續(xù)功能開發(fā)做準(zhǔn)備。我們可以使用startActivityForResult() 方法開啟活動(dòng)發(fā)送數(shù)據(jù)。
在MainActivity中發(fā)起群聊里添加startActivityForResult()方法,如下:
case R.id.ietmAddfriend:
Intent intent1=new Intent(MainActivity.this,AddFriendsActivity.class);
startActivityForResult(intent1,1);
Toast.makeText (MainActivity.this,"你點(diǎn)擊了添加朋友",Toast.LENGTH_LONG).show();
break;
在AddFriendsActivity我們需要一個(gè)按鈕進(jìn)行數(shù)據(jù)的返回,如下:
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相對(duì)應(yīng)的xml中進(jìn)行設(shè)計(jì)
android:id="@+id/buttondata"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="78dp"
android:text="返回?cái)?shù)據(jù)"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
到目前為止,我們只是完成了發(fā)送數(shù)據(jù)的步驟和接受數(shù)據(jù)的準(zhǔn)備,我們嘗試運(yùn)行一下頁(yè)面。
我們嘗試點(diǎn)擊返回?cái)?shù)據(jù),無(wú)任何結(jié)果。說(shuō)明我們的功能還未完善,只完成了部分。此時(shí)我們要運(yùn)用到if函數(shù),以及setResult(RESULT_OK,intent);這一條指令。這是我們接受數(shù)據(jù)的關(guān)鍵,當(dāng)我們得到Result_ok時(shí),我們成功返回?cái)?shù)據(jù)。
在MainActivity中添加相對(duì)應(yīng)的方法:
@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;
}
}
}
我們?cè)賴L試運(yùn)行,點(diǎn)擊返回?cái)?shù)據(jù)按鈕:
這一次,我們成功接收到了我們需要的數(shù)據(jù):hello,我是你的朋友 teacher tony。
自此,我們這一次的Android 開發(fā)的學(xué)習(xí)到了結(jié)尾。本次學(xué)習(xí)我們初步認(rèn)識(shí)了Android菜單的設(shè)定,菜單的響應(yīng),發(fā)送數(shù)據(jù)和接收數(shù)據(jù)
Android開發(fā)的學(xué)習(xí)未完待續(xù)
標(biāo)簽:Toast,MainActivity,記錄,學(xué)習(xí),點(diǎn)擊,makeText,Intent,Android,我們
來(lái)源: https://blog.csdn.net/genijmni/article/details/105760691
總結(jié)
以上是生活随笔為你收集整理的android培训内容明细,记录Android开发学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: html中双重id标签怎么写,PHP读取
- 下一篇: android web 打印,Andro