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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

基本程序单元Activity—Activity生命周期之数据传递小程序

發布時間:2023/12/4 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基本程序单元Activity—Activity生命周期之数据传递小程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、 實驗目的

(1) 掌握Andriod Studio的基本使用方法;
(2) 掌握Andriod Studio中常用的控件及其使用方法;

二、 實驗內容

題目:

編寫一個數據傳遞的小程序,要求在第一個界面輸入姓名和生日,在第二個界面上顯示“XX(姓名)您好,您的星座是XX座”;關閉第二個界面后,第一個界面上也能夠顯示“您的星座是XX座”。

1.首先,我創建了一個MainActivity和TestSuccessActivity兩個Activity。在MainAcitivity中為按鈕增加事件,點擊第一個界面的按鈕跳轉到第二個Activity。

1.1 MainActivity.java

package com.example.constellation;import android.content.Intent; import android.os.StrictMode; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast;public class MainActivity extends AppCompatActivity {private EditText et_birthday_month;private EditText et_birthday_day;private EditText et_name;private Button btn_test;private TextView tv_result;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et_birthday_month = (EditText) findViewById(R.id.et_birthday_month);et_birthday_day = (EditText) findViewById(R.id.et_birthday_day);et_name = (EditText) findViewById(R.id.et_name);tv_result = (TextView) findViewById(R.id.tv_result);btn_test = (Button) findViewById(R.id.btn_test);btn_test.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String Name =et_name .getText().toString().trim();String month = et_birthday_month.getText().toString().trim();String day=et_birthday_day.getText().toString().trim();if (!TextUtils.isEmpty(Name) && !TextUtils.isEmpty(Name)) {Intent intent = new Intent(MainActivity.this, TestSuccessActivity.class);intent.putExtra("name", Name);intent.putExtra("month",month);intent.putExtra("day",day);startActivity(intent);}}});String Result = getIntent().getStringExtra("result");tv_result.setText(Result);} }

1.2 TestSuccessActivity.java

package com.example.constellation;import android.content.Intent; import android.os.StrictMode; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast;public class MainActivity extends AppCompatActivity {private EditText et_birthday_month;private EditText et_birthday_day;private EditText et_name;private Button btn_test;private TextView tv_result;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et_birthday_month = (EditText) findViewById(R.id.et_birthday_month);et_birthday_day = (EditText) findViewById(R.id.et_birthday_day);et_name = (EditText) findViewById(R.id.et_name);tv_result = (TextView) findViewById(R.id.tv_result);btn_test = (Button) findViewById(R.id.btn_test);btn_test.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String Name =et_name .getText().toString().trim();String month = et_birthday_month.getText().toString().trim();String day=et_birthday_day.getText().toString().trim();if (!TextUtils.isEmpty(Name) && !TextUtils.isEmpty(Name)) {Intent intent = new Intent(MainActivity.this, TestSuccessActivity.class);intent.putExtra("name", Name);intent.putExtra("month",month);intent.putExtra("day",day);startActivity(intent);}}});String Result = getIntent().getStringExtra("result");tv_result.setText(Result);} }

2.在activity_main.xml中布置好界面,其中輸入的文本框選擇的是EditText組件。布局是線性垂直布局中套用兩個線性水平布局的方式。

activity_main.xml布局文件:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_horizontal"android:orientation="vertical"android:padding="10dp"><TextViewandroid:layout_width="360dp"android:layout_height="70dp"android:text="數據傳遞小程序"android:textColor="#FFFF00FF"android:textSize="50sp" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="8dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text=" 姓 名:"android:textColor="#FF000000"android:textSize="20sp" /><EditTextandroid:id="@+id/et_name"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="請輸入您的姓名" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="6dp"android:weightSum="1"android:id="@+id/linearLayout2"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="10dp"android:text="出生日期:"android:textColor="#FF000000"android:textSize="20dp" /><EditTextandroid:id="@+id/et_birthday_month"android:layout_width="43dp"android:layout_height="wrap_content"android:layout_marginLeft="5dp"android:hint="01"android:textColor="#000000"android:textSize="25dp"android:textStyle="italic" /><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="10dp"android:text="月"android:textSize="20dp"android:textColor="#000000"/><EditTextandroid:id="@+id/et_birthday_day"android:layout_width="43dp"android:layout_height="wrap_content"android:layout_marginLeft="5dp"android:hint="01"android:textColor="#000000"android:textSize="25dp"android:textStyle="italic"/><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="10dp"android:text="日"android:textSize="20dp"android:textColor="#000000"/></LinearLayout><Buttonandroid:id="@+id/btn_test"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@+id/linearLayout2"android:layout_centerHorizontal="true"android:layout_margin="10dp"android:gravity="center"android:text="測 試"android:textSize="25dp" /><TextViewandroid:id="@+id/tv_result"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center"android:layout_margin="50dp"android:layout_marginLeft="80dp"android:layout_below="@+id/test"android:textSize="20dp"android:textColor="#034969"/> </LinearLayout> 3.在activity_test_success.xml中定義一個TextView負責顯示數據。 activity_test_success.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/activity_selection"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#ebebeb"android:gravity="center_horizontal"android:orientation="vertical"android:padding="10dp"><TextViewandroid:id="@+id/tv_in"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="#000000"android:textSize="20dp" /><Buttonandroid:id="@+id/btn_return"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@+id/tv_in"android:layout_marginTop="10dp"android:textSize="20sp"android:onClick="return"android:text="返 回"android:textAllCaps="false" /> </RelativeLayout>

4.運行結果



三、 實驗總結

在這次實驗中我學會了在模仿中找尋因版本問題導致的運行錯誤:

  • android.support.v7.app.AppCompatActivity不能使用的解決辦法
    把原先的import android.support.v7.app.AppCompatActivity;
    改為import androidx.appcompat.app.AppCompatActivity;
  • 給兩個EditText組件和一個按鈕組件添加監聽事件,當點擊按鈕時,將日期的值傳遞到MainActivity中,因為最后傳遞一個星座,所以生日轉化成星座的過程就必須在MainActivity中完成。需要考慮的是,輸入的應該是個數字,而不是字符,輸出的又是字符,所以需要進行String和int的轉化。
  • 四、參考文獻

    .Android App開發從入門到精通.安輝 編著. 清華大學出版社, 2018.

    Tips:

    1.android.support.v7.app.AppCompatActivity不能使用的解決辦法
    2.我運行第一個頁面 ,點測試后,導致了運行停止,還不清楚是什么問題,弄半天沒有解決,回頭再看看。
    2.1.關于第二個問題解決方案:是因為我創建了一個Acitivity但是沒有在AndroidManifest.xml中添加。

    AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.constellation"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.Constellation"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity> //添加一個創建的Activity 名稱即可<activity android:name=".TestSuccessActivity"></activity></application></manifest>

    總結

    以上是生活随笔為你收集整理的基本程序单元Activity—Activity生命周期之数据传递小程序的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。