Intent 信使、意圖
站在用戶的角度思考問題,與客戶深入溝通,找到會同網(wǎng)站設(shè)計與會同網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋會同地區(qū)。
由Intent來協(xié)助Android各個組件之間跳轉(zhuǎn)
1、
startActivity(intent)
包下新建一個類,F(xiàn)Activity.class
public class FActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.factivity); } }
新建一個XML文件factivity.xml
同樣在創(chuàng)建第二對class和xml。
在AndroidManiFest中注冊兩個新類,并將默認(rèn)啟動類放在最前:
添加按鈕事件:
public class FActivity extends AppCompatActivity { private Button bt_first; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.factivity); /*** * 點擊第一個按鈕實現(xiàn)跳轉(zhuǎn)頁面 */ bt_first= (Button) findViewById(R.id.bt1); bt_first.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(); //第一個:上下文對象 //第二個:目標(biāo)文件 intent.setClass (FActivity.this,SActivity.class); startActivity(intent); } }); } }
2、
startActivityForResult(intent,requestCode);
onActivityResult(int requestCode,int resultCode,Intent data)
setResult(resultCode,data);
查看代碼:
FActivity.java
public class FActivity extends AppCompatActivity { private Button bt_first; private Button bt_second; private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.factivity); /*** * 點擊第一個按鈕實現(xiàn)跳轉(zhuǎn)頁面 */ bt_first= (Button) findViewById(R.id.bt1); bt_first.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(); intent.setClass (FActivity.this,SActivity.class); startActivity(intent); } }); /*** * 通過startActivityForresult實現(xiàn) */ bt_second= (Button) findViewById(R.id.bt2); bt_second.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent().setClass(FActivity.this,SActivity.class); /*** * 第二個參數(shù)是請求的標(biāo)示 */ startActivityForResult(intent,1); } }); tv= (TextView) findViewById(R.id.text1); } /*** * 通過startActivityForresult實現(xiàn),接收返回數(shù)據(jù)的方法 * 一、請求的標(biāo)示 * 二、第二個頁面返回的標(biāo)示 * 三、第二個頁面?zhèn)骰氐臄?shù)據(jù) */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //判斷是否滿足條件來進(jìn)行回傳數(shù)據(jù) if(requestCode==1&&resultCode==2){ String content=data.getStringExtra("intent"); tv.setText(content); } } }
SActivity.java
public class SActivity extends AppCompatActivity{ private Button bt; private String content="Hello~!"; @Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sactivity); /*** * 第二個頁面給第一個頁面回傳數(shù)據(jù) * 回傳給第一個頁面的實際上是一個intent對象 */ bt= (Button) findViewById(R.id.bt3); bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(); //創(chuàng)建回傳對象 intent.putExtra("intent",content); setResult(2,intent); //結(jié)束當(dāng)前頁面 finish(); } }); } }
App的簽名和打包:
1、為了保證每個應(yīng)用開發(fā)者的合法。
2、防止別人通過相同的Package Name來混淆替換已經(jīng)安裝的程序,從而出現(xiàn)一些惡意篡改
3、保證我們每次發(fā)布的版本的一致性(如自動更新不會因為版本不一樣而無法安裝)