android studio開發筆記五

來源:互聯網
上載者:User

標籤:

 

1.activity:一個應用程式組件,提供使用者與程式互動的介面
2.android四大組件:
--activity --service --BroadcastReceiver --Content Provider
3.如何建立使用activity
(1)繼承android的acivity的類
(2)重寫方法
(3)設定顯示布局
(4)在androidmanifest檔案中,註冊activity
4.activity的生命週期:建立--->銷毀
onCreate()建立 onStart()運行 onResume()擷取焦點
onPause()失去焦點 onStop()暫停 onDestroy()銷毀 onRestart()
onCreate()->onStart()->onResume()->onPause()->onStop()->onDestroy()
5.activity的四種狀態:
(1)活動狀態:activity處於介面最頂端,擷取焦點
(2)暫停狀態:activity失去焦點,但對使用者可見,程式暫停
(3)停止狀態:activity被完全遮擋,但保留所有的狀態和成員資訊
比如返回home介面,程式在後台運行
(4)非使用中:activity被停止


Intent
1.由Intent來協助完成andro各個組件之間的通訊
2.實現跳轉方式:
(1)>startActivity(intent)--無返回結果
(2)>startActivityForResult(intent,requestCode)
--有返回結果,即兩個頁面能夠進行資料的交換
>onActivityResult()
>setResult()
代碼:
manifest檔案:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.administrator.myintent">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
</activity>
<activity android:name=".FActivity">
//下面這段代碼,表示以此為首頁
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SActivity">
</activity>

</application>

</manifest>


第一個頁面的代碼:
public class FActivity extends Activity {
private Button bt1;
private Button bt2;
private TextView tv;
@Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
setContentView(R.layout.factivity);
/*
通過點擊bt1實現頁面之間的跳轉
1.startactivity的方式來實現
1.>初始化intent
*/
bt1=(Button)findViewById(R.id.button1_first);
bt2=(Button)findViewById(R.id.button2_first);
tv=(TextView)findViewById(R.id.textView1);
bt1.setOnClickListener(new View.OnClickListener() {
/*
第一個參數:上下文this
第二個參數:目標檔案
*/
@Override
public void onClick(View v) {
Intent intent=new Intent(FActivity.this,SActivity.class);
startActivity(intent);
}
});
/*
通過startActivityForresult實現
*/
bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(FActivity.this,SActivity.class);
/*
第一個參數是Intent參數
第二個參數是請求的一個標識,為整數類型
*/
startActivityForResult(intent,1);
}
});
}
/*
通過startActivityForResult跳轉,接受返回的資料
第一個參數:請求的標識
第二個參數:第二個頁面返回的標識,即能夠知道是從哪個頁面返回過來的
第三個參數:第二個頁面回傳的資料
*/
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode,requestCode,data);
if(requestCode==1&&resultCode==2){
String content=data.getStringExtra("data");
tv.setText(content);
}
}
}
第二個頁面的代碼:
public class SActivity extends Activity {
private Button bt;
private String content="這是第二個頁面返回的資料";
@Override
protected void onCreate(Bundle hInstace){
super.onCreate(hInstace);
setContentView(R.layout.sactivity);
/*
第二個頁面什麼時候開始回傳資料
回傳到第一個頁面的資料實際上是一個Intent對象
*/
bt=(Button)findViewById(R.id.button1_second);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent data=new Intent();
data.putExtra("data",content);
//回傳資料
setResult(2,data);
//結束當前頁面
finish();
}
});
}
}

 

android studio開發筆記五

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.