国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android Studio —— Activity組件(課后作業(yè):登錄和注冊(cè)App)

這篇具有很好參考價(jià)值的文章主要介紹了Android Studio —— Activity組件(課后作業(yè):登錄和注冊(cè)App)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

運(yùn)行效果圖?

主界面(初始),注冊(cè)界面,登錄界面,主界面(注冊(cè)和登錄之后)

android studio用戶登錄注冊(cè),android studioandroid studio用戶登錄注冊(cè),android studioandroid studio用戶登錄注冊(cè),android studioandroid studio用戶登錄注冊(cè),android studio

實(shí)現(xiàn)步驟

1.設(shè)計(jì)主界面,編寫activity_main.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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <ImageView
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:id="@+id/image_head"
        android:layout_gravity="center"
        android:layout_marginTop="130dp"
        android:src="@mipmap/head" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/user_name"
        android:text="@string/Point_login"
        android:layout_marginTop="40dp"
        android:gravity="center"
        android:textSize="28sp"
        android:textStyle="bold"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/user_id"
        android:text="@string/User_id"
        android:layout_marginTop="15dp"
        android:gravity="center"
        android:textSize="19sp"/>
    <RadioGroup
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/rg1"
        android:orientation="horizontal"
        android:gravity="center"
        android:layout_marginTop="30dp">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btn_login"
            android:text="@string/Login"
            android:textSize="22sp"
            android:ems="5"
            android:layout_marginStart="60dp"
            android:background="@drawable/btn_shape"
            android:textColor="@color/white"
            style=""/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btn_logon"
            android:text="@string/Logon"
            android:textSize="22sp"
            android:ems="5"
            android:layout_marginStart="40dp"
            android:background="@drawable/btn_shape"
            android:textColor="@color/white"/>
    </RadioGroup>
</LinearLayout>

注:(1) 按鈕的格式是自己設(shè)計(jì)的,如下

android studio用戶登錄注冊(cè),android studioandroid studio用戶登錄注冊(cè),android studio

注:(2)需編寫strings.xml

android studio用戶登錄注冊(cè),android studio

2.創(chuàng)建兩個(gè)activity(會(huì)自動(dòng)創(chuàng)建對(duì)應(yīng)的layout布局文件)

?android studio用戶登錄注冊(cè),android studio

3.設(shè)計(jì)登錄和注冊(cè)界面,編寫activity_login.xml和activity_logon.xml

activity_login.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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Login"
    android:orientation="vertical">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/image_back"
        android:src="@mipmap/back"
        android:layout_marginTop="100dp"
        android:layout_marginStart="20dp"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Login"
        android:textSize="30sp"
        android:layout_marginTop="30dp"
        android:layout_marginStart="30dp"/>
    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/edit_user"
        android:hint="@string/Edit_user"
        android:ems="16"
        android:inputType="textPersonName"
        android:layout_marginTop="25dp"
        android:layout_marginStart="30dp"
        android:drawableStart="@mipmap/user"
        android:drawablePadding="20dp"/>
    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/edit_password"
        android:hint="@string/Edit_password"
        android:ems="16"
        android:inputType="textPassword"
        android:layout_marginTop="18dp"
        android:layout_marginStart="30dp"
        android:drawableStart="@mipmap/password"
        android:drawablePadding="20dp"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn_login2"
        android:text="@string/Login"
        android:textSize="23sp"
        android:layout_marginTop="30dp"
        android:layout_gravity="center"
        android:ems="12"
        android:background="#02E674"
        android:textColor="@color/white"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/txtResult"
        android:textSize="30sp"
        android:textColor="@android:color/holo_red_light"
        android:layout_marginTop="40dp"
        />
</LinearLayout>

activity_logon.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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Logon"
    android:orientation="vertical">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/image_back"
        android:src="@mipmap/back"
        android:layout_marginTop="60dp"
        android:layout_marginStart="20dp"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Logon"
        android:textSize="30sp"
        android:layout_marginTop="30dp"
        android:layout_marginStart="30dp"/>
    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/edit_name"
        android:hint="@string/Edit_name"
        android:ems="17"
        android:inputType="textPersonName"
        android:layout_marginTop="22dp"
        android:layout_marginStart="30dp"
        android:drawableStart="@mipmap/name"
        android:drawablePadding="35dp"/>
    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/edit_user"
        android:hint="@string/Edit_user"
        android:ems="17"
        android:inputType="textPersonName"
        android:layout_marginTop="18dp"
        android:layout_marginStart="30dp"
        android:drawableStart="@mipmap/user"
        android:drawablePadding="35dp"/>
    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/edit_password"
        android:hint="@string/Edit_password"
        android:ems="17"
        android:inputType="textPassword"
        android:layout_marginTop="18dp"
        android:layout_marginStart="30dp"
        android:drawableStart="@mipmap/password"
        android:drawablePadding="35dp"/>
    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/edit_apassword"
        android:hint="@string/Edit_apassword"
        android:ems="17"
        android:inputType="textPassword"
        android:layout_marginTop="18dp"
        android:layout_marginStart="30dp"
        android:drawableStart="@mipmap/apassword"
        android:drawablePadding="35dp"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn_logon2"
        android:text="@string/Logon"
        android:textSize="23sp"
        android:layout_marginTop="30dp"
        android:layout_gravity="center"
        android:ems="12"
        android:background="#02E674"
        android:textColor="@color/white"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/txtResult"
        android:textSize="30sp"
        android:textColor="@android:color/holo_red_light"
        android:layout_marginTop="40dp"
        />

</LinearLayout>

4.?編寫三個(gè) .java 文件(MainActivity,Login,Logon)

MainActivity.java

package com.example.work4_activity_login_logon;

import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Intent;
import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    //創(chuàng)建變量,用于接收注冊(cè)的 賬號(hào)id,昵稱,密碼
    public static String data_id, data_name, data_password;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ///主界面
        //顯示用戶的ID和昵稱
        TextView text_id = (TextView) findViewById(R.id.user_id);
        TextView text_name = (TextView) findViewById(R.id.user_name);
        //頭像是否亮
        ImageView image_head = (ImageView) findViewById(R.id.image_head) ;
        ColorMatrix cm = new ColorMatrix();
        cm.setSaturation(0); // 設(shè)置飽和度
        ColorMatrixColorFilter grayColorFilter = new ColorMatrixColorFilter(cm);
        image_head.setColorFilter(grayColorFilter); // 如果想恢復(fù)彩色顯示,設(shè)置為null即可

        ///注冊(cè)功能
        //接收注冊(cè)返回的數(shù)據(jù)
        ActivityResultLauncher<Intent> launcher_logon = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {
            @Override
            public void onActivityResult(ActivityResult result_logon) {
                if(result_logon.getResultCode() == Activity.RESULT_OK){

                    //回調(diào)過(guò)來(lái)的intent數(shù)據(jù)
                    Intent data = result_logon.getData();
                    //回調(diào)過(guò)來(lái)的結(jié)果代碼
                    int resultCode = result_logon.getResultCode();
                    if (resultCode == RESULT_OK){
                        assert data != null;
                        //接受并保持注冊(cè)的信息
                        data_id = data.getStringExtra("data_id_logon");
                        data_name = data.getStringExtra("data_name_logon");
                        data_password = data.getStringExtra("data_password_logon");

                    }
                }
            }
        });
        //點(diǎn)擊注冊(cè)按鈕,跳轉(zhuǎn)到注冊(cè)界面
        Button btn_logon = (Button) findViewById(R.id.btn_logon);
        btn_logon.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //跳轉(zhuǎn)注冊(cè)頁(yè)面
                Intent intent = new Intent(MainActivity.this, Logon.class);
                launcher_logon.launch(intent);

            }
        });

        ///登錄功能
        //接收登錄返回的數(shù)據(jù)
        ActivityResultLauncher<Intent> launcher_login = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {
            @Override
            public void onActivityResult(ActivityResult result_login) {

                if(result_login.getResultCode() == Activity.RESULT_OK){
                    //回調(diào)過(guò)來(lái)的intent數(shù)據(jù)
                    Intent data = result_login.getData();
                    //回調(diào)過(guò)來(lái)的結(jié)果代碼
                    int resultCode = result_login.getResultCode();
                    if (resultCode == RESULT_OK){
                        text_id.setText(data.getStringExtra("data_id")); //顯示賬號(hào)id
                        text_name.setText(data.getStringExtra("data_name")); //顯示昵稱
                        image_head.setColorFilter(null); // 設(shè)置為null,恢復(fù)彩色顯示
                    }
                }
            }
        });
        //點(diǎn)擊登錄按鈕,跳轉(zhuǎn)登錄界面
        Button btn_login = (Button) findViewById(R.id.btn_login);
        btn_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this, Login.class);
                //發(fā)送需要驗(yàn)證的數(shù)據(jù)(即注冊(cè)的信息)
                intent.putExtra("data_id",data_id);
                intent.putExtra("data_name",data_name);
                intent.putExtra("data_password",data_password);
                launcher_login.launch(intent);
            }
        });

    }
}

Login.java

package com.example.work4_activity_login_logon;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

public class Login extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        ///點(diǎn)擊返回鍵時(shí),返回主界面
        ImageView image_back = (ImageView) findViewById(R.id.image_back);
        image_back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });

        //創(chuàng)建變量(用戶名,密碼,提示結(jié)果)
        EditText txtID = (EditText) findViewById(R.id.edit_user);
        EditText txtPassword = (EditText) findViewById(R.id.edit_password);
        TextView txtResult = (TextView) findViewById(R.id.txtResult);

        ///登錄按鈕
        Button btn_login = (Button) findViewById(R.id.btn_login2);
        btn_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //判斷是否有記錄,有則登錄成功,無(wú)則提示為注冊(cè)
                //獲取記錄中的賬號(hào),昵稱,密碼(及注冊(cè)成功的)
                Intent intent_val = getIntent();
                String data_id_login = intent_val.getStringExtra("data_id");
                String data_name_login = intent_val.getStringExtra("data_name");
                String data_password_login = intent_val.getStringExtra("data_password");

                //判斷輸入是否合法
                if (txtID.getText().toString().isEmpty()) {
                    txtResult.setText("請(qǐng)輸入賬號(hào)");
                } else {
                    if (txtPassword.getText().toString().isEmpty()) {
                        txtResult.setText("請(qǐng)輸入密碼");
                    } else {
                        if (txtID.getText().toString().equals(data_id_login)){
                            if(txtPassword.getText().toString().equals(data_password_login)){
                                //登錄成功
                                txtResult.setText("登錄成功");
                                //返回?cái)?shù)據(jù),使主界面圖標(biāo)亮及顯示昵稱和ID
                                Intent intent = new Intent();
                                intent.putExtra("data_id",data_id_login);
                                intent.putExtra("data_name",data_name_login);
                                setResult(RESULT_OK,intent);
                                //結(jié)束intent,返回是一個(gè)activity
                                finish();
                            }else {
                                //密碼錯(cuò)誤
                                txtResult.setText("密碼有誤");
                            }
                        }else {
                            //用戶名不存在
                            txtResult.setText("用戶名不存在");
                        }
                    }
                }
            }
        });

    }
}

Logon.java文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-743107.html

package com.example.work4_activity_login_logon;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.Map;

public class Logon extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_logon);

        //根據(jù)布局文件上的控件創(chuàng)建相應(yīng)的變量(昵稱,賬號(hào),密碼,確認(rèn)密碼)
        EditText editName = (EditText) findViewById(R.id.edit_name);
        EditText editId = (EditText) findViewById(R.id.edit_user);
        EditText editPassword = (EditText) findViewById(R.id.edit_password);
        EditText editApassword = (EditText) findViewById(R.id.edit_apassword);
        TextView txtResult = (TextView) findViewById(R.id.txtResult);
        
        ///返回主界面
        ImageView image_back = (ImageView) findViewById(R.id.image_back);
        image_back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });

        ///注冊(cè)
        Button btn_logon2 = (Button) findViewById(R.id.btn_logon2);
        btn_logon2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //創(chuàng)建變量,保存輸入的注冊(cè)信息(昵稱,賬號(hào),密碼,確認(rèn)密碼)
                String data_name_logon = editName.getText().toString();
                String data_id_logon = editId.getText().toString();
                String data_password_logon = editPassword.getText().toString();
                String data_apassword_logon = editApassword.getText().toString();

                //判斷輸入是否合法
                if (data_name_logon.isEmpty()) {
                    txtResult.setText("請(qǐng)輸入昵稱");
                }else {
                    if (data_id_logon.isEmpty()) {
                        txtResult.setText("請(qǐng)輸入賬號(hào)");
                    } else {
                        if (data_password_logon.isEmpty()) {
                            txtResult.setText("請(qǐng)輸入密碼");
                        }
                        else {
                            if (data_apassword_logon.equals(data_password_logon)) {
                                //注冊(cè)成功
                                txtResult.setText("注冊(cè)成功,返回主界面");
                                //并將數(shù)據(jù)返回主界面,使圖標(biāo)亮、昵稱和ID顯示
                                //返回?cái)?shù)據(jù),是主界面圖標(biāo)亮及顯示昵稱和ID
                                Intent intent = new Intent();
                                intent.putExtra("data_id_logon",data_id_logon);
                                intent.putExtra("data_name_logon",data_name_logon);
                                intent.putExtra("data_password_logon",data_password_logon);
                                setResult(RESULT_OK,intent);
                                finish();
                            } else {
                                txtResult.setText("兩次輸入的密碼不一致,請(qǐng)重新輸入");
                            }
                        }
                    }
                }
            }
        });
        
    }
}

到了這里,關(guān)于Android Studio —— Activity組件(課后作業(yè):登錄和注冊(cè)App)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Android studio學(xué)習(xí)感受加一個(gè)簡(jiǎn)單的登錄注冊(cè)

    作為一名使用Android Studio的學(xué)生,我也深有同感。在我看來(lái),Android Studio是一款非常出色的開發(fā)工具先得感覺(jué)是Android Studio+Genymotion的組合比以前好用太多了。以前我記得eclipse要加各種jar包,文件夾也混亂的很。 然后是關(guān)于Activity和布局、控件,感覺(jué)跟網(wǎng)頁(yè)前端很像,布局和控

    2024年02月02日
    瀏覽(22)
  • Android studio 編寫一個(gè)登錄頁(yè)面,并且具有注冊(cè)功能

    Android studio 編寫一個(gè)登錄頁(yè)面,并且具有注冊(cè)功能

    1、創(chuàng)建登錄界面,點(diǎn)擊注冊(cè)按鈕,彈出注冊(cè)窗口。 2、創(chuàng)建注冊(cè)窗口,輸入用戶名和密碼,在SQLite中存儲(chǔ)用戶名和密碼。 3、注冊(cè)成功,跳轉(zhuǎn)到登錄界面,進(jìn)行登錄。 4、注冊(cè)成功,把用戶名和密碼保存到SharedPreferences中,登錄時(shí)自動(dòng)填充用戶名和密碼。 ??????????登錄頁(yè)

    2023年04月08日
    瀏覽(21)
  • Android Studio|使用SqLite實(shí)現(xiàn)一個(gè)簡(jiǎn)單的登錄注冊(cè)功能

    Android Studio|使用SqLite實(shí)現(xiàn)一個(gè)簡(jiǎn)單的登錄注冊(cè)功能

    本學(xué)期學(xué)習(xí)了Android Studio這門課程,本次使用Android Studio自帶的sqlite數(shù)據(jù)庫(kù)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的登錄注冊(cè)功能。 目錄 一、了解什么是Android Studio? 二、了解什么是sqlite? 三、創(chuàng)建項(xiàng)目文件 ?四、創(chuàng)建活動(dòng)文件和布局文件。 五、創(chuàng)建數(shù)據(jù)庫(kù),連接數(shù)據(jù)庫(kù) ?六、創(chuàng)建實(shí)體類,實(shí)現(xiàn)注

    2024年02月06日
    瀏覽(49)
  • Android studio連接MySQL并完成簡(jiǎn)單的登錄注冊(cè)功能

    Android studio連接MySQL并完成簡(jiǎn)單的登錄注冊(cè)功能

    近期需要完成一個(gè)Android項(xiàng)目,那先從與數(shù)據(jù)庫(kù)交互最簡(jiǎn)單的登陸注冊(cè)開始吧,現(xiàn)記錄過(guò)程如下: 此篇文章的小demo主要涉及數(shù)據(jù)庫(kù)的連接,以及相應(yīng)信息的查找與插入。 我已將源碼上傳至GitHub: https://github.com/changyan-maker/LoginApp 首先展示一下完成效果。 數(shù)據(jù)庫(kù)設(shè)計(jì): 數(shù)據(jù)庫(kù)

    2024年01月17日
    瀏覽(25)
  • Android studio 簡(jiǎn)單登錄APP設(shè)計(jì)

    Android studio 簡(jiǎn)單登錄APP設(shè)計(jì)

    一、登錄界面: 二、xml布局設(shè)計(jì):

    2024年01月17日
    瀏覽(17)
  • 用Android Studio編寫一個(gè)登錄界面和注冊(cè)界面并可以跳轉(zhuǎn)

    下面是使用 Android Studio 編寫一個(gè)簡(jiǎn)單的登錄界面和注冊(cè)界面,并實(shí)現(xiàn)跳轉(zhuǎn)的示例代碼。 首先,在 res/layout 目錄下創(chuàng)建一個(gè)名為 activity_login.xml 的布局文件,作為登錄界面的布局: 接下來(lái),在 res/layout 目錄下創(chuàng)建一個(gè)名為 activity_register.xml 的布局文件,作為注冊(cè)界面的布局:

    2024年04月09日
    瀏覽(33)
  • 安卓studio 個(gè)人課設(shè)項(xiàng)目:“這個(gè)app“——實(shí)現(xiàn)注冊(cè)登錄,顯示用戶信息功能,并跳轉(zhuǎn)對(duì)應(yīng)網(wǎng)頁(yè)

    安卓studio 個(gè)人課設(shè)項(xiàng)目:“這個(gè)app“——實(shí)現(xiàn)注冊(cè)登錄,顯示用戶信息功能,并跳轉(zhuǎn)對(duì)應(yīng)網(wǎng)頁(yè)

    目錄 目錄 功能說(shuō)明? 登錄頁(yè)面 注冊(cè)頁(yè)面 登錄后界面 點(diǎn)擊頭像出現(xiàn)側(cè)滑界面,并顯示用戶信息 點(diǎn)擊編輯按鈕進(jìn)入信息編輯頁(yè)面 ?保存后返回 ?用戶名已更改 跳轉(zhuǎn)網(wǎng)頁(yè) 相關(guān)代碼 布局 登錄界面 ?注冊(cè)界面 ?信息顯示界面 ?主界面 實(shí)現(xiàn)側(cè)滑布局? 信息編輯界面 網(wǎng)頁(yè)顯示界面?

    2023年04月26日
    瀏覽(22)
  • Android Studio App開發(fā)實(shí)戰(zhàn)項(xiàng)目之廣告輪播(附源碼 可用于大作業(yè))

    Android Studio App開發(fā)實(shí)戰(zhàn)項(xiàng)目之廣告輪播(附源碼 可用于大作業(yè))

    需要圖片集和源碼請(qǐng)點(diǎn)贊關(guān)注收藏后評(píng)論區(qū)留言即可~~~ 電商App的首頁(yè)上方,都在明顯位置放了一欄廣告條,并且廣告條會(huì)輪播,非常吸引眼球,這種廣告輪播的功能,為推廣熱門事物出力甚大。 輪播視頻已上傳至我的主頁(yè),有需要可自行前往觀看~ 作為App首頁(yè)的常客,廣告輪

    2024年02月05日
    瀏覽(31)
  • Android Studio App開發(fā)實(shí)戰(zhàn)項(xiàng)目之實(shí)現(xiàn)淘寶電商App首頁(yè)界面(附源碼,可用于大作業(yè)參考)

    Android Studio App開發(fā)實(shí)戰(zhàn)項(xiàng)目之實(shí)現(xiàn)淘寶電商App首頁(yè)界面(附源碼,可用于大作業(yè)參考)

    需要源碼和圖片集請(qǐng)點(diǎn)贊關(guān)注收藏后評(píng)論區(qū)留言或者私信~~~ 各家電商的App首頁(yè)都是動(dòng)感十足,頁(yè)面元素豐富令人眼花繚亂,其中運(yùn)用了Android的多種組合控件,可以說(shuō)是App界面開發(fā)的集大成之作,下面我們也動(dòng)手實(shí)現(xiàn)一個(gè)。 本次項(xiàng)目主要模仿淘寶App采用的技術(shù),所以有底部標(biāo)

    2024年02月03日
    瀏覽(24)
  • 安卓大作業(yè):使用Android Studio開發(fā)天氣預(yù)報(bào)APP(使用sqlite數(shù)據(jù)庫(kù))

    安卓大作業(yè):使用Android Studio開發(fā)天氣預(yù)報(bào)APP(使用sqlite數(shù)據(jù)庫(kù))

    今天我來(lái)分享一下如何使用Android Studio開發(fā)一個(gè)天氣預(yù)報(bào)APP。在文中,我們將使用第三方接口獲取實(shí)時(shí)天氣數(shù)據(jù),并顯示在APP界面上。 首先,打開Android Studio并創(chuàng)建一個(gè)新的項(xiàng)目。在創(chuàng)建新項(xiàng)目時(shí),我們需要設(shè)置項(xiàng)目名稱、包名和支持的最低API級(jí)別。 為了獲取實(shí)時(shí)天氣數(shù)據(jù),

    2024年02月08日
    瀏覽(30)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包