首頁 > 其他

Android開發學習:[11]仿QQ登入介面

2019-11-27 21:01:27

本經驗將告訴大家如何使用Android開發模擬QQ登入介面。後面將繼續更新Android學習的個人經驗,歡迎大家持續關注。

1

首先我們開啟Android Studio然後再編寫登入介面程式碼如下:

<?xml version="1.0" encoding="utf-8"?>

<TableLayout android:id="@+id/tableLayout1"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:gravity="center_vertical"

    android:stretchColumns="0,3"

    >

    <!-- 第一行 -->

    <TableRow android:id="@+id/tableRow1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content">

        <TextView/>

        <TextView android:text="帳    號:"

            android:id="@+id/textView1"

            android:layout_width="wrap_content"

            android:textSize="24px"

            android:layout_height="wrap_content"

            />

        <EditText android:id="@+id/editText1"

            android:textSize="24px"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content" android:minWidth="200px"/>

        <TextView />

    </TableRow>

    <!-- 第二行 -->

    <TableRow android:id="@+id/tableRow2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content">

        <TextView/>

        <TextView android:text="密    碼:"

            android:id="@+id/textView2"

            android:textSize="24px"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"/>

        <EditText android:layout_height="wrap_content"

            android:layout_width="wrap_content"

            android:textSize="24px"

            android:id="@+id/editText2"

            android:inputType="textPassword"/>

        <TextView />

    </TableRow>

    <!-- 第3行 -->

    <TableRow android:id="@+id/tableRow3"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content">

        <TextView/>

        <Button android:text="登入"

            android:id="@+id/login"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"/>

        <Button android:text="退出"

            android:id="@+id/exit"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"/>

        <TextView />

    </TableRow>

</TableLayout>


2

然後我們編寫登入成功的QQ介面程式碼(簡易版):

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/linearLayout1"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent" >

    <LinearLayout

        android:id="@+id/linearLayout2"

        android:orientation="horizontal"

        android:layout_width="match_parent"

        android:layout_height="wrap_content" >

        <TextView

            android:id="@+id/nickname"

            android:layout_width="wrap_content"

            android:layout_weight="9"

            android:textSize="24px"

            android:padding="20px"

            android:layout_height="wrap_content"

            android:text="TextView" />

        <Button

            android:id="@+id/m_exit"

            android:layout_weight="1"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="退出登入" />

    </LinearLayout>

    <ListView

        android:id="@+id/listView1"

        android:entries="@array/option"

        android:layout_width="match_parent"

        android:layout_height="wrap_content" >

    </ListView>

</LinearLayout>


3

然後我們編寫登入的賬號驗證程式碼:

一、編寫一個final類,用於儲存使用者資訊:

package com.basillee.asus.myapplication.serversutil;

/**

 * Created by asus on 2015/1/29 0029.

 */

public final class Data {

    public static String[][]USERS={{"0001","123456","basillee"}

            ,{"0002","123456","basillee2"},{"0003","123456","basillee3"}};

}


4

然後我們編寫驗證使用者輸入的賬號密碼,並且實現跳轉到狀態頁面:

  private  void testImitateQQ(){

        Button login=(Button)findViewById(R.id.login);

        Button exit=(Button)findViewById(R.id.exit);

        login.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                String number=((EditText)findViewById(R.id.editText1)).getText().toString();

                String password=((EditText)findViewById(R.id.editText2)).getText().toString();

                boolean flag=false;

                String nickName="";

                for(int i=0;i< Data.USERS.length;i++){

                    if(number.equals(Data.USERS[i][0])){

                        if(password.equals(Data.USERS[i][1])){

                            nickName=Data.USERS[i][2];

                            flag=true;

                            break;

                        }

                    }

                }

                if(flag){

                    Intent intent=new Intent(MainActivity.this,ImitateQQ.class);

                    Bundle bundle=new Bundle();

                    bundle.putString("nickName",nickName);

                    intent.putExtras(bundle);

                    startActivity(intent);

                }else{

                    Toast.makeText(getApplicationContext(),"wrong account or password",Toast.LENGTH_LONG).show();

                }

            }

        });

        exit.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                finish();

            }

        });

    }


5

然後我們編寫QQ登入之後的狀態頁面,接受登入頁面傳來的使用者名並且顯示:

   Button button=(Button)findViewById(R.id.m_exit);

        button.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                finish();

            }

        });

        Intent intent=getIntent();

        Bundle bundle=intent.getExtras();

        String nickName=bundle.getString("nickName");

        TextView textView=(TextView)findViewById(R.id.nickname);

        textView.setText("User:"+nickName);


6

然後我們可以點選執行測試程式,程式執行如下:



7

後面將繼續更新Android學習的個人經驗,歡迎大家持續關注。喜歡的朋友就給投個票吧

IT145.com E-mail:sddin#qq.com