Se puede vincular app a sitio web?
Publicado por Raul (5 intervenciones) el 26/11/2020 03:14:14
Hola. Tengo una app cuya finalidad es ingresar datos a una base de datos de firebase. La parte de diseño tiene este código:
La parte de programación consiste en:
más una parte para los constructores:

Ahora bien, existe la posibilidad de recoger datos de esta base de datos a través de un sitio web con un código como este, por ejemplo?
Muchas gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?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">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nombre"
android:id="@+id/etNombre"
android:layout_marginTop="40dp"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Apellido"
android:id="@+id/etApellido"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Telefono"
android:id="@+id/etTelefono"
android:inputType="number"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Direccion"
android:id="@+id/etDireccion"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Enviar Datos"
android:id="@+id/btnSubirDatos"/>
</LinearLayout>
La parte de programación consiste en:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package com.enviofirebase.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
DatabaseReference mRootReference;
Button mButtonSubirDatosFirebase;
EditText mEditTextDatoNombreUsuario,mEditTextDatoApellidoUsuario,mEditTextDatoTelefonoUsuario,mEditTextDatoDireccionUsuario;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButtonSubirDatosFirebase = findViewById(R.id.btnSubirDatos);
mButtonSubirDatosFirebase.setOnClickListener(this);
mEditTextDatoNombreUsuario = findViewById(R.id.etNombre);
mEditTextDatoApellidoUsuario = findViewById(R.id.etApellido);
mEditTextDatoTelefonoUsuario = findViewById(R.id.etTelefono);
mEditTextDatoDireccionUsuario = findViewById(R.id.etDireccion);
mRootReference = FirebaseDatabase.getInstance().getReference();
solicitarDatosFirebase();
}
private void solicitarDatosFirebase() {
mRootReference.child("Usuario").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(final DataSnapshot snapshot : dataSnapshot.getChildren()){
mRootReference.child("Usuario").child(snapshot.getKey()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
userPojo user = snapshot.getValue(userPojo.class);
String nombre = user.getNombre();
String apellido = user.getApellido();
int telefono = user.getTelefono();
String direccion = user.getDireccion();
Log.e("NombreUsuario:",""+nombre);
Log.e("ApellidoUsuario:",""+apellido);
Log.e("TelefonoUsuario:",""+telefono);
Log.e("DireccionUsuario:",""+direccion);
Log.e("Datos:",""+snapshot.getValue());
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
private void cargarDatosFirebase(String nombre, String apellido, int telefono, String direccion) {
Map<String, Object> datosUsuario = new HashMap<>();
datosUsuario.put("nombre", nombre);
datosUsuario.put("apellido", apellido);
datosUsuario.put("telefono", telefono);
datosUsuario.put("direccion", direccion);
mRootReference.child("Usuario").push().setValue(datosUsuario);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.btnSubirDatos:
String nombre = mEditTextDatoNombreUsuario.getText().toString();
String apellido = mEditTextDatoApellidoUsuario.getText().toString();
int telefono = Integer.parseInt(mEditTextDatoTelefonoUsuario.getText().toString());
String direccion = mEditTextDatoDireccionUsuario.getText().toString();
cargarDatosFirebase(nombre, apellido, telefono, direccion);
break;
}
}
}
más una parte para los constructores:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.enviofirebase.myapplication;
public class userPojo {
private String nombre;
private String apellido;
private int telefono;
private String direccion;
public userPojo() {
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
public int getTelefono() {
return telefono;
}
public void setTelefono(int telefono) {
this.telefono = telefono;
}
public String getDireccion() {
return direccion;
}
public void setDireccion(String direccion) {
this.direccion = direccion;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
}

Ahora bien, existe la posibilidad de recoger datos de esta base de datos a través de un sitio web con un código como este, por ejemplo?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<html>
<head>
</head>
<body>
<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="..."></script>
<!-- TODO: Add SDKs for Firebase products that you want to use
https://firebase.google.com/docs/web/setup#available-libraries -->
<script src="..."></script>
<script>
// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
var firebaseConfig = {
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "...",
measurementId: "..."
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
firebase.analytics();
function getData() {
firebase.database().ref('/').once('value', function(snapshot) {
snapshot.forEach(function(childSnapshot)
{
var childKey = childSnapshot.key;
var childData = childSnapshot.val();
document.getElementById("data").innerHTML=childData['Nombre'] + ", " + childData['Apellido'] + ", " + childData['Telefono'] + ", " + childData['Direccion'];
})
})
}
</script>
<h1>User Database</h1>
<button onclick= "getData()">Obtener</button>
<p id="data"></p>
</body>
</html>
Muchas gracias
Valora esta pregunta


0