編輯:關於Android編程
Intent intent = new Intent(this , OtherActivity.class); //兩個參數:第一個是上下文對象,第二個是要切換的Activity的class字節碼 startActivity(intent);
Intent intent = new Intent(); intent.setClass(this, OtherActivity.class); //設置要激活的組件 startActivity(intent);
Intent intent = new Intent(); intent.setClassName(this, "cn.itcast.activitys.OtherActivity"); startActivity(intent);
Intent intent = new Intent(); intent.setComponent(new ComponentName(this,OtherActivity.class)); startActivity(intent);
首先,我們是定義了兩個Activity,就是兩個界面:A和B。
A界面包含一個按鈕:登陸
B界面包含兩個輸入框和一個登陸按鈕:用戶名和密碼輸入框、登陸按鈕。
要求,從A界面傳遞一個字符串,B界面能夠顯示。
B界面輸入的用戶名和密碼,在點擊登陸後,可以在A界面顯示。
首先,我們看下A界面的界面:
上邊包含一個按鈕,這個按鈕定義了一個onClick屬性,設置了點擊方法:openActivity
然後,我們編寫A界面的java調用代碼(MainActivity.java):
package cn.itcast.activitys; import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void openActivity(View v){ //在 Intent intent = new Intent(this , OtherActivity.class); Bundle bundle = new Bundle(); bundle.putString("result", "我是從MainActivity傳遞過來的參數"); intent.putExtras(bundle); startActivityForResult(intent, 200); //兩個參數:第一個是意圖對象,第二個是請求碼requestCode } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { String name="",password=""; if(resultCode == 30){ //判斷返回碼是否是30 name = data.getStringExtra("name").toString(); password = data.getStringExtra("password").toString(); Toast.makeText(this, "您登陸的用戶名是:"+name+",密碼是:"+password, 1).show(); } super.onActivityResult(requestCode, resultCode, data); } }在openActivity(View v)這個方法中,我們定義了一個Bundle對象,然後傳入一個名為“result”的屬性參數,然後放在intent對象中,通過startActivityForResult(Intent intent,int requestCode)這個方法進行傳遞。可以看出我們傳遞到了OtherActivity.java這個文件了
然後,我們要先看下OtherActivity.java裡邊的代碼:
package cn.itcast.activitys; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class OtherActivity extends Activity { private EditText name; private EditText password; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.otheractivity); Intent intent = getIntent(); //用於激活它的意圖對象:這裡的intent獲得的是上個Activity傳遞的intent Bundle bundle = intent.getExtras(); String result = bundle.getString("result"); Toast.makeText(this, result, 1).show(); } public void closeActivity(View v){ Intent data = new Intent(); name = (EditText)this.findViewById(R.id.name); password = (EditText)this.findViewById(R.id.password); data.putExtra("name", name.getText().toString()); data.putExtra("password", password.getText().toString()); setResult(30, data); //設置返回數據 this.finish(); //關閉當前Activity } }在onCreae()方法中,我們調用Toast對象把獲得的參數在界面中顯示出來。
然後我們調用otheractivity.xml界面中的按鈕的onClick方法來調用closeActivity()方法。
通過這個方法,我們可以把文本框中輸入的用戶名和密碼通過setResult(int resultCode,Intent intent)方法傳遞回A界面,調用this.finish()關閉當前界面。
接下來,我們看下B界面的源碼:otheractivity.xml
我們可以看到,在MainActivity.java中有一個重寫的方法:onActivityResult()。這個方法是系統提供的,可以在“右鍵—>source—>Override/Implement Methods”中找到這個方法並重寫。
這個方法在setResult()返回後調用,我們在其中判斷返回碼是否是在OtherActivity.java中傳遞過來的30,如果是的話,就把用戶名和密碼用Toast對象顯示出來。
前言給自己的APP增加相機是一個不錯的功能,在我們打開相機時,如果能動態給我們的臉上貼上標簽,或者是貼上一個卡通的眼睛,最後點擊拍照,一張合成的圖片就產生了,這是不是一個
本章介紹android高級開發中,對於性能方面的處理。主要包括電量,視圖,內存三個性能方面的知識點。1.視圖性能(1)Overdraw簡介 &nbs
簡介:PullToRefresh是一款支持ListView,GridView,ViewPager,ScrollView,WebView等一切可以拖動,並實現
在做資源清理的時候無可避免的用到了Android-Lint,本文主要講述Android-Lint的使用以及使用中的一些注意事項。Android-Lint是SDK Tool