Aplicación de chat simple. Una aplicación de chat básica para tu Android … | de Mayank Pathak | Noviembre de 2020

Una aplicación de chat básica para sus dispositivos Android.

Software utilizado: Estudio de Android es Firebase Base de datos.

T.el lenguaje de programación utilizado: XML, JAVA.

Introducción: el propósito de la aplicación de chat es permitir a los usuarios conversar entre ellos, como una aplicación de chat normal. Los usuarios podrán chatear entre ellos, muy probablemente solo de usuario a usuario, no se desarrollarán chats grupales, a menos que haya tiempo para hacerlo. La aplicación de chat estará escrita en java, pero debido a la falta de experiencia en java, mientras se desarrolla la aplicación, practicar técnicas con java y trabajar con él tanto como sea posible ayudará a perfeccionar algunas habilidades de java y estar más listo para desarrollar el solicitud .

AQUÍ SE UTILIZAN ALGUNOS DE MIS CÓDIGOS PARA DESARROLLAR ESTA APLICACIÓN

El XML principal de la interfaz de usuario de nuestra aplicación, que es el diseño de nuestra aplicación.

<?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"
android:orientation="vertical"
android:background="#9BA8F3"
tools:context=".MainActivity"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="20dp"
android:text=" CHAT APP"
android:textColor="#651FFF"
android:textSize="40dp"
android:textStyle="bold"
/>
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="567dp"
>
</ListView> <LinearLayout
android:layout_width="match_parent"
android:layout_height="46dp"
android:orientation="horizontal"
android:background="#596DDC"
android:layout_marginTop="20dp"
>
<EditText
android:id="@+id/editText"
android:layout_width="333dp"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Type message"
android:inputType="textPersonName"
/>
<ImageView
android:id="@+id/send"
android:layout_width="75dp"
android:layout_height="match_parent"
android:src="@drawable/ic_baseline_send_24"
app:tint="#0F120F"
/>
</LinearLayout></LinearLayout>

El código principal de Java para controlar la compilación y ejecutar nuestra aplicación.

public class MainActivity extends AppCompatActivity {
ImageView iv;
EditText ed;
ListView lv;
message msg;
ArrayList<String> mglist;
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.send);
ed = (EditText) findViewById(R.id.editText);
lv = (ListView) findViewById(R.id.listview);
mglist = new ArrayList<>();
adapter = new ArrayAdapter<String>(this, R.layout.list_layout, R.id.textView, mglist);
Firebase.setAndroidContext(this);
final Firebase ref = new Firebase("use your firebase link here"); // Here we will creat the reference of the DATABASE by writing it's URL and here ref is the Firebase
// Now in the above line we have written chat/ so it will create chat table before execution
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Now within this we will write the code that will require to insert the data
message mg = new message("USER", ed.getText().toString()); // now this mg is the object of message class which is an adapter class and there will be 2 parameter one is the name another is the text message
ref.push().setValue(mg);
ed.setText(" ");
}
});
// Now here I will write the code that will display the data to both the user
msg = new message(); // Empty constructor called
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference reference = firebaseDatabase.getReference("chat");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
mglist.clear();
for (DataSnapshot ds : snapshot.getChildren()) {
msg = ds.getValue(message.class);
mglist.add(msg.getName() + "n" + msg.getMessage());
}
lv.setAdapter(adapter);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
}

Cree cualquier clase de Java para almacenar información que se utilizará en nuestra aplicación a través de Firebase, DIGA «MESSAGE.JAVA».

package com.example.chatapp;public class message {
String name;
String message;
message(){
}
public message(String name, String message) {
this.name = name;
this.message = message;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}

El código XML para ver el historial de chat a través del diseño de la lista.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=" "
/>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:textStyle="bold"
android:textColor="#F0FF0000"
android:text=" "
/>
</LinearLayout>

Agregue dependencias a «build.gradle (Módulo: Chatapp.app)»

mplementation 'com.google.firebase:firebase-firestore:21.7.1'
implementation 'com.google.firebase:firebase-database:19.5.0'
implementation 'com.google.firebase:firebase-analytics:17.6.0'
implementation 'com.google.android.gms:play-services-auth:18.1.0'
implementation 'com.firebase:firebase-client-android:2.5.2'
implementation 'com.firebaseui:firebase-ui-auth:6.0.2'

SALIDA DE NUESTRA APLICACIÓN

Vista previa de demostración de nuestra aplicación de chat

Espero que haya disfrutado de nuestra publicación, puede enviarme un correo electrónico con cualquier pregunta.

Por: Mayank Pathak – Btech CSE core (segundo año)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *