一、活動中使用Menu
1、新建menu文件夾,在其中新建Menu resource file,這是一個xml類型的文件,并在里面添加字段,每一個item標簽是一個菜單項,其中,title為必須項
2、在Activity中重寫onCreateOptionsMenu(),如下
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main,menu); return true; }3、重寫 onOptionsItemSelected(MenuItem item)這個方法來實現監聽邏輯二、隱式Intent
1、在AndroidManifest.xml的activity標簽一般都有過濾器,過濾器有三種,action,cetegory和data。其中cetegory默認是default類型,只有代碼中的這三個類型與清單文件中這三個類型能夠同時匹配時,該活動才能響應這個隱式intent。
2、action只能指定一個,cetegory卻可以指定多個,在代碼中可以通過intent.addCetegory()來動態添加cetegory 3、相對于清單文件來說,要想成功響應某隱式intent,“大項必須完全相同,小項可多不可少”,且cetegory的defaul類型t就像無參構造器,僅自己時可不寫,若多了則必須寫4、隱式intent不僅可以匹配本程序的acticity,還可匹配其他app的活動。
5、代碼中可以使用setdata()方法設置data,方法內接受uri參數,用于指定現在正在操作的數據,清單文件中的data標簽內容與intent中所攜帶的data相同,才可匹配
6、Action_View 隱式網頁,Action_Dail 隱式電話聯系人
三、返回數據給上一活動
1、在第一個活動中
startActivityForResult(intent,request)
重寫onActivityResult方法
2、在第二個活動中
setResult(RESULT_OK,intent)
四、瑣碎知識
1、重寫onBackPRessed可以重寫返回鍵功能,就好像onkeydown那樣
2、重寫onSavaInstanceState()可保存數據防止被殺掉,獲取的話要在oncreate里邊用那個bundle參數進行獲取,獲取與存儲方式為鍵值對
3、getTask()可以獲得當前棧id
4、getclass().getSimpleName()可獲得當前活動名
5、為保證程序完全退出,可以使用殺死進程的代碼android.os.Process.killProcess(android.os.Process.myPid());殺死當前進程
6、活動生命周期中onRestart之后是onStart而不是onResurme
新聞熱點
疑難解答