找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4221|回復(fù): 1
收起左側(cè)

安卓Java源程序 帶選擇頭像功能的用戶注冊(cè) 使用Intent回傳數(shù)據(jù)

[復(fù)制鏈接]
ID:856808 發(fā)表于 2020-12-15 20:33 | 顯示全部樓層 |閱讀模式
本帖最后由 dori 于 2020-12-18 23:12 編輯

完成帶選擇頭像功能的用戶注冊(cè)應(yīng)用程序開發(fā)。
圖片1.png
           圖1
圖片2.png
           圖2
圖片3.png
           圖3

MainActivity.java文件:
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //獲取界面上的組件
        Button bn=findViewById(R.id.bn);
        //為按鈕綁定事件監(jiān)聽器
        bn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //創(chuàng)建需要對(duì)應(yīng)于目標(biāo)Activity的Intent
                Intent intent=new Intent(MainActivity.this,SecondActivity.class);
                //啟動(dòng)指定Activity并等待返回結(jié)果,其中0x11是請(qǐng)求碼,用于標(biāo)識(shí)該請(qǐng)求
                startActivityForResult(intent,0x11);
            }
        });
    }
    @Override
    public void onActivityResult(int requestCode,int resultCode,Intent intent)
    {
        //當(dāng)requestCode、resultCode同時(shí)為0x11時(shí),即處理特定的結(jié)果
        if(requestCode==0x11&&resultCode==0x11)
        {
            //取出Intent里的Extras數(shù)據(jù)
            Bundle data=intent.getExtras();
            //取出Bundle中的數(shù)據(jù)
            int imageId=data.getInt("ID");
            ImageView imageView=findViewById(R.id.iv);
            imageView.setImageResource(imageId);
        }
    }
}
SecondActivity.java文件:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class SecondActivity extends Activity {
    //獲取圖片
    public int []imageId=new int []{R.drawable.img01,R.drawable.img02,R.drawable.img03,
            R.drawable.img04, R.drawable.img05,R.drawable.img06,R.drawable.img07,
            R.drawable.img08,R.drawable.img09};
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        //獲取組件
        GridView gridView=findViewById(R.id.gridView1);
        BaseAdapter adapter=new BaseAdapter() {
            public View getView(int position, View convertView, ViewGroup parent) {
                ImageView imageView;
                if(convertView==null)
                {
                    imageView=new ImageView(SecondActivity.this);
                    imageView.setAdjustViewBounds(true);
                    imageView.setMaxWidth(158);
                    imageView.setMaxHeight(150);
                    imageView.setPadding(5, 5, 5, 5);
                }
                else
                {
                    imageView=(ImageView)convertView;
                }
                imageView.setImageResource(imageId[position]);
                return imageView;
            }
            @Override
            public long getItemId(int position) {
                return position;
            }
            @Override
            public Object getItem(int position) {
                return position;
            }
            @Override
            public int getCount() {
                return imageId.length;
            }
        };
        gridView.setAdapter(adapter);
        //綁定監(jiān)聽器
        gridView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //獲得Intent
                Intent intent=getIntent();
                Bundle bundle=new Bundle();
                bundle.putInt("ID", imageId[position]);
                intent.putExtras(bundle);
                setResult(0x11,intent);
                finish();
            }
        });
    }
}
activity_main.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="247dp"
        android:layout_height="280dp"
        android:layout_marginTop="100dp"
        android:layout_marginEnd="2dp"
        android:layout_marginRight="2dp"
        android:layout_marginBottom="365dp"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/linearLayout"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="59dp">

            <TextView
                android:id="@+id/textView"
                android:layout_width="143dp"
                android:layout_height="match_parent"
                android:text="用戶名:"
                android:textSize="25sp" />

            <EditText
                android:id="@+id/editText"
                android:layout_width="145dp"
                android:layout_height="match_parent"
                android:ems="10"
                android:gravity="start|top"
                android:inputType="textMultiLine" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="59dp">

            <TextView
                android:id="@+id/textView2"
                android:layout_width="143dp"
                android:layout_height="match_parent"
                android:text="密碼:"
                android:textSize="25sp" />

            <EditText
                android:id="@+id/editText2"
                android:layout_width="118dp"
                android:layout_height="match_parent"
                android:ems="10"
                android:inputType="number" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="59dp">

            <TextView
                android:id="@+id/textView3"
                android:layout_width="143dp"
                android:layout_height="49dp"
                android:text="確認(rèn)密碼:"
                android:textSize="25sp" />

            <EditText
                android:id="@+id/editText3"
                android:layout_width="120dp"
                android:layout_height="match_parent"
                android:ems="10"
                android:inputType="number" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="59dp">

            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="59dp"
                android:text="E-mail地址:"
                android:textSize="25sp" />

            <EditText
                android:id="@+id/editText4"
                android:layout_width="103dp"
                android:layout_height="match_parent"
                android:ems="10"
                android:gravity="start|top"
                android:inputType="textMultiLine" />
        </TableRow>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="121dp"
        android:layout_height="283dp"
        android:layout_marginStart="2dp"
        android:layout_marginLeft="2dp"
        android:layout_marginTop="100dp"
        android:layout_marginBottom="363dp"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/linearLayout2"
        app:layout_constraintTop_toTopOf="parent">

        <ImageView
            android:id="@+id/iv"
            android:layout_width="match_parent"
            android:layout_height="170dp"
            app:srcCompat="@drawable/icon" />

        <Button
            android:id="@+id/bn"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="選擇頭像"
            android:textSize="20sp" />
    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
avtivity_second.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <GridView
        android:id="@+id/gridView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="10px"
        android:horizontalSpacing="3px"
        android:verticalSpacing="3px"
        android:numColumns="4"/>
</LinearLayout>
使用Intent回傳數(shù)據(jù).rar (9.04 MB, 下載次數(shù): 5)
回復(fù)

使用道具 舉報(bào)

ID:1143878 發(fā)表于 2025-2-21 08:15 | 顯示全部樓層
我沒學(xué)過,問問大神,這個(gè)代碼已經(jīng)包含前端的嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表