Как добавить страницу входа в мое приложение в андроид студии - PullRequest
0 голосов
/ 26 сентября 2019

Я новичок в кодировании. Я хочу вставить логин для моего приложения. Как можно подключить логин к моему app.my, проблема в java.main.Я не могу соединить это вместе.я использовал этот сайт для изучения этого раздела разработки Android https://medium.com/muhamadjalaludin/how-to-create-user-interface-login-register-with-android-studio-34da847b05b2 вот мой код ActivityMain.java и xmls;

package com.example.bmi;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private EditText height;
    private EditText weight;
    private TextView result;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        height = (EditText) findViewById(R.id.height);
        weight = (EditText) findViewById(R.id.weight);
        result = (TextView) findViewById(R.id.result);

    }

    public void calculateBMI(View v) {
        String heightStr = height.getText().toString();
        String weightStr = weight.getText().toString();

        if (heightStr != null && !"".equals(heightStr)
                && weightStr != null  &&  !"".equals(weightStr)) {
            float heightValue = Float.parseFloat(heightStr) / 100;
            float weightValue = Float.parseFloat(weightStr);

            float bmi = weightValue / (heightValue * heightValue);

            displayBMI(bmi);
        }
    }

    private void displayBMI(float bmi) {
        String bmiLabel = "";

        if (Float.compare(bmi, 15f) <= 0) {
            bmiLabel = getString(R.string.very_severely_underweight);
        } else if (Float.compare(bmi,  15f) > 0  &&  Float.compare(bmi, 16f) <= 0) {
            bmiLabel = getString(R.string.severely_underweight);
        } else if (Float.compare(bmi, 16f) > 0  &&  Float.compare(bmi, 18.5f) <= 0) {
            bmiLabel = getString(R.string.underweight);
        } else if (Float.compare(bmi, 18.5f) > 0  &&  Float.compare(bmi, 25f) <= 0) {
            bmiLabel = getString(R.string.normal);
        } else if (Float.compare(bmi, 25f) > 0  &&  Float.compare(bmi, 30f) <= 0) {
            bmiLabel = getString(R.string.overweight);
        } else if (Float.compare(bmi, 30f) > 0  &&  Float.compare(bmi, 35f) <= 0) {
            bmiLabel = getString(R.string.obese_class_i);
        } else if (Float.compare(bmi, 35f) > 0  &&  Float.compare(bmi, 40f) <= 0) {
            bmiLabel = getString(R.string.obese_class_ii);
        } else {
            bmiLabel = getString(R.string.obese_class_iii);
        }

        bmiLabel = bmi + "\n\n" + bmiLabel;
        result.setText(bmiLabel);
    }
}

вот фрагмент_login:

<?xml version="1.0" encoding="utf-8"?>
<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"
    tools:context=".LoginFragment">

    <TextView
        android:id="@+id/tv_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name"
        android:textSize="50sp"
        android:fontFamily="@font/indigo_daisy"
        android:layout_marginStart="25dp"
        android:layout_marginBottom="10dp"
        android:layout_above="@id/tv_subtitle" tools:targetApi="jelly_bean"
        android:layout_marginLeft="25dp" />

    <TextView
        android:id="@+id/tv_subtitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/tag"
        android:textSize="17sp"
        android:fontFamily="@font/roboto_regular"
        android:layout_marginStart="25dp"
        android:layout_marginBottom="50dp"
        android:layout_above="@id/et_email" tools:targetApi="jelly_bean"
        android:layout_marginLeft="25dp" />

    <EditText
        android:id="@+id/et_email"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:hint="@string/e_mail"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:padding="15dp"
        android:inputType="textEmailAddress"
        android:fontFamily="@font/roboto_regular"
        android:layout_above="@id/et_password"
        android:background="@drawable/et_custom"
        android:textSize="15sp"
        android:autofillHints="" tools:targetApi="o" />

    <EditText
        android:id="@+id/et_password"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:hint="@string/password"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="10dp"
        android:padding="15dp"
        android:fontFamily="@font/roboto_regular"
        android:inputType="textPassword"
        android:layout_centerInParent="true"
        android:background="@drawable/et_custom"
        android:textSize="15sp"
        android:autofillHints="" tools:targetApi="o" />

    <Button
        android:id="@+id/btn_login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/et_password"
        android:background="@drawable/btn_custom"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="15dp"
        android:fontFamily="@font/roboto_regular"
        android:textColor="@android:color/white"
        android:text="@string/login" tools:targetApi="jelly_bean" />

    <ImageView
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:src="@drawable/ic_arrow_right"
        android:layout_above="@id/swipeRight"
        android:layout_centerHorizontal="true"
        android:contentDescription="@string/todo" />

    <TextView
        android:id="@+id/swipeRight"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/swipe_left_for_register"
        android:textSize="15sp"
        android:fontFamily="@font/roboto_regular"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="20dp" tools:targetApi="jelly_bean" />

</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    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"
    android:orientation="vertical"
    android:background="@drawable/back"
    tools:context="com.example.bmi.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="50dp"
        android:gravity="center_horizontal"
        android:textStyle="bold"
        android:text="@string/weight"
        android:textSize="20sp" />

    <EditText
        android:id="@+id/weight"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:ems="6"
        android:gravity="center_horizontal"
        android:hint="@string/yourhint"
        android:importantForAutofill="no"
        android:inputType="number|numberDecimal"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="50dp"
        android:gravity="center_horizontal"
        android:textStyle="bold"
        android:text="@string/height"
        android:textSize="20sp" />

    <EditText
        android:id="@+id/height"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:autofillHints=""
        android:ems="6"
        android:gravity="center_horizontal"
        android:hint="@string/hit"
        android:inputType="number|numberDecimal"
        android:textSize="20sp"
        tools:targetApi="o" />

    <Button
        android:id="@+id/calc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="25dp"
        android:background="#FFC107"
        android:onClick="calculateBMI"
        android:text="@string/calculateBMI"
        android:textColor="@android:color/black"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/result"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="25dp"
        android:gravity="center_horizontal"
        android:textSize="20sp" />

</LinearLayout>

и вот java

package com.example.bmi;


import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.fragment.app.Fragment;


/**
 * A simple {@link Fragment} subclass.
 */
public class LoginFragment extends Fragment {


    public LoginFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_login, container, false);
    }

}

вот фрагмент_регистра

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    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:orientation="vertical"
    tools:context=".RegisterFragment">

    <TextView
        android:id="@+id/tv_logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/register"
        android:textAlignment="center"
        android:textSize="50sp"
        android:layout_marginStart="25dp"
        android:layout_marginBottom="5dp"
        android:fontFamily="@font/indigo_daisy"
        android:layout_marginTop="60dp" tools:targetApi="jelly_bean"
        android:layout_marginLeft="25dp" />

    <TextView
        android:id="@+id/tv_subtitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/tag"
        android:textSize="17sp"
        android:fontFamily="@font/roboto_regular"
        android:layout_marginStart="25dp"
        android:layout_marginBottom="50dp" tools:targetApi="jelly_bean"
        android:layout_marginLeft="25dp" />

    <EditText
        android:id="@+id/et_name"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:hint="@string/your_name"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginBottom="10dp"
        android:padding="15dp"
        android:inputType="textPersonName"
        android:fontFamily="@font/roboto_regular"
        android:background="@drawable/et_custom"
        android:textSize="15sp" tools:targetApi="jelly_bean"
        android:importantForAutofill="no" />

    <EditText
        android:id="@+id/et_email"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:hint="@string/e_mail"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginBottom="10dp"
        android:padding="15dp"
        android:fontFamily="@font/roboto_regular"
        android:inputType="textEmailAddress"
        android:background="@drawable/et_custom"
        android:textSize="15sp" tools:targetApi="o"
        android:autofillHints="" />

    <EditText
        android:id="@+id/et_password"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:hint="@string/password"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginBottom="10dp"
        android:padding="15dp"
        android:fontFamily="@font/roboto_regular"
        android:inputType="textPassword"
        android:background="@drawable/et_custom"
        android:textSize="15sp" tools:targetApi="jelly_bean"
        android:importantForAutofill="no" />

    <EditText
        android:id="@+id/et_repassword"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:hint="@string/re_type_password"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:padding="15dp"
        android:fontFamily="@font/roboto_regular"
        android:inputType="textPassword"
        android:background="@drawable/et_custom"
        android:textSize="15sp" tools:targetApi="jelly_bean"
        android:importantForAutofill="no" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <Button
            android:id="@+id/btn_register"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/btn_custom"
            android:fontFamily="@font/roboto_regular"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginBottom="30dp"
            android:layout_centerInParent="true"
            android:textColor="@android:color/white"
            android:text="@string/register" tools:targetApi="jelly_bean" />

        <ImageView
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:src="@drawable/ic_arrow_left"
            android:layout_above="@id/swipeLeft"
            android:layout_centerHorizontal="true"
            android:contentDescription="@string/todo" />

        <TextView
            android:id="@+id/swipeLeft"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/swipe_right_for_login"
            android:textSize="15sp"
            android:fontFamily="@font/roboto_regular"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="20dp" tools:targetApi="jelly_bean" />

    </RelativeLayout>

</LinearLayout>

и вот java

package com.example.bmi;


import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.fragment.app.Fragment;


/**
 * A simple {@link Fragment} subclass.
 */
public class RegisterFragment extends Fragment {


    public RegisterFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_register, container, false);
    }

}

а вот строка

<resources>
    <string name="app_name"> BMI </string>
    <string name="weight"> وزن (kg)</string>
    <string name="height"> قد (cm)</string>
    <string name="calculateBMI"> محاسبه </string>
    <string name="very_severely_underweight"> بسیار کم وزن </string>
    <string name="severely_underweight"> به شدت کم وزن</string>
    <string name="underweight"> کم وزن</string>
    <string name="normal">عادی</string>
    <string name="overweight">اضافه وزن</string>
    <string name="obese_class_i">نسبتاً چاق</string>
    <string name="obese_class_ii">به شدت چاق</string>
    <string name="obese_class_iii">خیلی چاق</string>
    <string name="yourhint">مثال:60</string>
    <string name="hit">مثال:179</string>
    <string name="swipe_left_for_register">Swipe Left for Register</string>
    <string name="login">Login</string>
    <string name="password">Password</string>
    <string name="e_mail">Email</string>
    <string name="tag">Let\'s join us and \nBuild your relationship with others</string>
    <string name="swipe_right_for_login">Swipe Right for Login</string>
    <string name="register">Register</string>
    <string name="re_type_password">Re-type Password</string>
    <string name="your_name">Full Name</string>
    <string name="hello_blank_fragment">Hello blank fragment</string>
    <string name="todo">TODO</string>
    <string name="title_activity_login_activitytest">Sign in</string>
    <string name="prompt_email">Email</string>
    <string name="prompt_password">Password</string>
    <string name="action_sign_in">Sign in or register</string>
    <string name="action_sign_in_short">Sign in</string>
    <string name="welcome">"Welcome !"</string>
    <string name="invalid_username">Not a valid username</string>
    <string name="invalid_password">Password must be >5 characters</string>
    <string name="login_failed">"Login failed"</string>
</resources>

Я буду благодарен за вашу помощь. Большое спасибо, ребята

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...