日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从零开始学androidIntent初步.四十.

發(fā)布時間:2023/12/10 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从零开始学androidIntent初步.四十. 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Intent意圖是android中非常重要的部分,他在Activity,service中有較為廣泛的應(yīng)用。

1 public void startActivity(Intent intent) 普通 啟動一個Activity,并通過Intent傳送數(shù)據(jù)
2 public void startActivityForResult(Intent intent, int requestCode) 普通 啟動并接收另一個Activity程序回傳數(shù)據(jù),當requestCode大于0才可以觸發(fā)onActivityResult()
3 public Intent getIntent() 普通 返回啟動當前Activity程序的Intent
4 protected void onActivityResult(int requestCode, int resultCode, Intent data) 普通 當需要接收Intent回傳數(shù)據(jù)的時候覆寫此方法對回傳操作進行處理
5 public void finish() 普通 調(diào)用此方法會返回之前的Activity程序,并自動調(diào)用onActivityResult()方法
6 public final Cursor managedQuery (Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) 普通 處理返回的Cursor結(jié)果集


接下里用例子逐步講解


最簡單的Intent

主界面xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/hello_world" /><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:layout_marginBottom="141dp"android:text="轉(zhuǎn)跳" /></RelativeLayout>
轉(zhuǎn)跳界面Xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="我是第二屏界面" /></RelativeLayout>


package com.example.intent1;import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button;public class MainActivity extends Activity {private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button) this.findViewById(R.id.button1);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent(MainActivity.this, Other.class);//創(chuàng)建Intent 對象startActivity(intent);//開啟intentMainActivity.this.finish();//使當前Activity結(jié)束}});}}

Otner.java

package com.example.intent1;import android.app.Activity; import android.os.Bundle; import android.text.style.SuperscriptSpan;public class Other extends Activity { @Override protected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.other); } }





接下來看一看可以傳遞數(shù)據(jù)的Intent



<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:text="傳遞" /><EditTextandroid:id="@+id/edit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:ems="10"android:text=" /></RelativeLayout> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:text="傳遞" /><EditTextandroid:id="@+id/edit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:ems="10"android:text="" /></RelativeLayout>

Other.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/textView1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="TextView" /><Buttonandroid:id="@+id/button2"android:gravity="center_horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="獲取數(shù)據(jù)" /></LinearLayout>



java文件


package com.example.intent2;import android.os.Bundle; import android.R.integer; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText;public class MainActivity extends Activity { private Button button; private EditText info;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button=(Button)this.findViewById(R.id.button1);info=(EditText)this.findViewById(R.id.edit);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent=new Intent(MainActivity.this,Other.class);//設(shè)置意圖intent.putExtra("info", info.getText().toString());//為意圖增加附加信息startActivity(intent);//開始意圖MainActivity.this.finish();//終止當前Ativity} });}}

Other.java

package com.example.intent2;import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class Other extends Activity {Intent intent;private Button button;private TextView text; @Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);super.setContentView(R.layout.other);button=(Button)this.findViewById(R.id.button2);text=(TextView)this.findViewById(R.id.textView1);intent=super.getIntent();//獲取意圖對象button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubString info=intent.getStringExtra("info");//獲取傳遞的數(shù)據(jù)text.setText(info);//顯示數(shù)據(jù)}});} }






使用Intent傳遞并返回數(shù)據(jù)

借助Intent實現(xiàn)成人身高體重測試程序

采用BMI 法 體重指數(shù) = 體重(公斤) 除 身高(米)的平方 kg/m2 正常體重 : 體重指數(shù) = 18 - 25 超重 : 體重指數(shù) = 25 - 30 輕度肥胖 : 體重指數(shù) > 30 中度肥胖 : 體重指數(shù) > 35 重度肥胖 : 體重指數(shù) > 40

xml

package com.example.inten3;import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;public class MainActivity extends Activity { private Button resetInfo,getInfo; private EditText height,weight; private TextView detail;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.activity_main);resetInfo=(Button)this.findViewById(R.id.button1);//重置信息按鈕getInfo=(Button)this.findViewById(R.id.button2);//獲取信息按鈕height=(EditText)this.findViewById(R.id.editText1);//身高輸入框weight=(EditText)this.findViewById(R.id.editText2);//體重輸入框detail=(TextView)this.findViewById(R.id.textView3);//信息顯示 // 重置按鈕的監(jiān)聽resetInfo.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub //將他們都設(shè)置為空weight.setText("");height.setText("");detail.setText("");} }); // 獲取信息按鈕的監(jiān)聽getInfo.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent =new Intent(MainActivity.this, Other.class);//創(chuàng)建意圖對象 // 增加附加信息 intent.putExtra("weight", Double.valueOf(weight.getText().toString())); intent.putExtra("height", Double.valueOf(height.getText().toString())); //設(shè)置啟動并傳遞請求碼 startActivityForResult(intent, 1);} });} // 處理返回的信息@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubswitch (resultCode) {case RESULT_OK://設(shè)置信息MainActivity.this.detail.setText(data.getStringExtra("endMsg"));break;default:break;}}}
Other.java

package com.example.inten3;import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView;public class Other extends Activity {private Button returnMsg, resetbut;private TextView weightMsg, heightMsg;private Double weight, height;private String endMsg;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);super.setContentView(R.layout.other);returnMsg = (Button) this.findViewById(R.id.Otherbutton1);resetbut = (Button) this.findViewById(R.id.Otherbutton2);weightMsg = (TextView) this.findViewById(R.id.OthertextView1);heightMsg = (TextView) this.findViewById(R.id.OthertextView2);// 獲取意圖對象Intent intent = super.getIntent();// 獲得參數(shù)weight = intent.getDoubleExtra("weight", 0);height = intent.getDoubleExtra("height", 0);weightMsg.setText("您的體重:" + weight + "KG");heightMsg.setText("您的身高:" + height + "CM");returnMsg.setOnClickListener(new View.OnClickListener() {// 對傳入的數(shù)據(jù)進項判斷和處理@Overridepublic void onClick(View v) {// TODO Auto-generated method stubDouble heightNum = height / 100;double endNum = weight / (heightNum * heightNum);if (endNum >= 18 && endNum <= 25) {endMsg = "您的身體很正常哦,繼續(xù)保持親。";} else if (endNum < 18) {endMsg = "親啊,不能總是減肥啊,您現(xiàn)在可是偏瘦哦,當心身體";} else if (endNum > 25 && endNum <= 30) {endMsg = "您現(xiàn)在有一點胖哦,不過不要緊,要注意飲食哦";} else if (endNum > 30 && endNum <= 35) {endMsg = "親,您已經(jīng)進入肥胖人群 了哦,注意鍛煉哦";} else if (endNum > 35) {endMsg = "額,你,你。。你怎么可以這樣,還不趕快減肥,當心找不到對象哦";}// 將參數(shù)設(shè)置到intnet上Other.this.getIntent().putExtra("endMsg", endMsg);// 設(shè)置返回集,并設(shè)置返回接受碼Other.this.setResult(RESULT_OK, Other.this.getIntent());// 將dangqianActivity結(jié)束掉Other.this.finish();}});// 重新輸入監(jiān)聽resetbut.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub// 設(shè)置返回集合取消狀態(tài)碼Other.this.setResult(RESULT_CANCELED, Other.this.getIntent());// 結(jié)束當前ActivityOther.this.finish();}});} }





學習了intent的基本用途,下節(jié)我們來學習Intent調(diào)用系統(tǒng)指令來完成一些其他操作


下節(jié)預(yù)報:Intent進階

總結(jié)

以上是生活随笔為你收集整理的从零开始学androidIntent初步.四十.的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。