Я студент колледжа, использующий мой OJT в этой компании, и мне было поручено создать приложение для Android, которое добавляет данные в базу данных Firebase с использованием REST API.Это приложение со списком элементов, в котором мне нужно зарегистрироваться, войти, просмотреть список элементов и иметь возможность добавлять, редактировать и удалять элементы.Мне необходимо использовать Node.js, Android Studio и Firebase.Руководитель моей команды сказал мне изучать REST API, Node.js, JSON, Firebase, и теперь я немного понимаю, что я должен делать с ними, по крайней мере, с концепциями и в теории.
проблема с кодами.Это потрясающе.Я новичок в javascript, я только начал изучать его в тот день, когда мне дали это задание (неделю назад).И я не знаю, как создавать коды в Android Studio и Node.js, чтобы API мог обрабатывать запросы / ответы между клиентом и сервером.Пожалуйста, имейте в виду, что у меня есть крайний срок примерно через 4-5 недель.
Коды, которые у меня есть сейчас, очень простые, и я даже не уверен, что они верны.Прямо сейчас у меня есть активность регистрации и сервер на Node.js.Я использую Android Studio 3.1.4, узел v8.11.4, npm v5.6.0
aSignUpActivity.java
public class aSignUpActivity extends AppCompatActivity {
EditText etFname, etLname, etEmail, etUname, etPword, etConfPword;
Button btnConfirmSU;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a_sign_up);
etFname = (EditText) findViewById(R.id.asuFnameET);
etLname = (EditText) findViewById(R.id.asuLnameET);
etEmail = (EditText) findViewById(R.id.asuEmailET);
etUname = (EditText) findViewById(R.id.asuUnameET);
etPword = (EditText) findViewById(R.id.asuPwordET);
etConfPword = (EditText) findViewById(R.id.asuCpwordET);
btnConfirmSU = (Button) findViewById(R.id.asuConfirmSU);
btnConfirmSU.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
confirmSignupClicked();
}
});
}
public void confirmSignupClicked(){
String fName = etFname.getText().toString();
String lName = etLname.getText().toString();
String eMail = etEmail.getText().toString();
String uName = etUname.getText().toString();
String pWord = etPword.getText().toString();
String cPword = etConfPword.getText().toString();
if(TextUtils.isEmpty(fName) || TextUtils.isEmpty(lName) || TextUtils.isEmpty(eMail) || TextUtils.isEmpty(uName) || TextUtils.isEmpty(pWord) || TextUtils.isEmpty(cPword)){
Toast.makeText(this, "Can't leave any text fields empty.", Toast.LENGTH_SHORT).show();
}
else{
Intent intent = new Intent(aSignUpActivity.this, aStartPageActivity.class);
Toast.makeText(this, "Account created.", Toast.LENGTH_SHORT).show();
startActivity(intent);
}
}
}
server.js (я скопировал эти коды и отредактировал их в соответствии с моей ситуацией)
var admin = require('firebase-admin')
var serviceAccount = require('./myprivatekey.json')
// var port = process.env.PORT || 3000
// var express = require('express')
// var app = express()
// var bodyParser = require('body-parser')
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "mydatabase.firebaseio.com"
})
// app.use(bodyParser.urlencoded({extended: true}))
// app.use(bodyParser.json())
var db = admin.database()
var dbRef = db.ref('usersinfo')
//API - SIGN UP USER
function addUser(userid, username, email, password){
var usersRef = dbRef.child("user")
usersRef.set({
"USER ID": userid,
"USERNAME": username,
"EMAIL": email,
"PASSWORD": password,
})
}
//testing if function works
addUser("test", "test", "test", "test")
//API - ADD ITEM
function addItem(userid, image, name, description){
var itemsRef = dbRef.child("useritems")
itemsRef.set({
"USER ID": userid,
"IMAGE": image,
"NAME": name,
"DESCRIPTION": description
})
var itemId = itemsRef.key
}
//testing if function works
addItem("test", "test", "test", "test")
//API - VIEW ITEM
function viewItem(itemId) {
var itemRef = dbRef.child("useritems/" + itemId)
itemRef.on("value", function(snapshot) {
if (snapshot.exists()) {
console.log(snapshot.val())
return snapshot.val()
} else {
console.log("Cannot view item.", itemId)
return null
}
}, function (errorObject) {
console.log("error: " + errorObject.code)
});
}
//API - EDIT ITEM
function editItem(itemId, editimage, editname, editdescription){
var itemRef = dbRef.child("useritems/", itemId)
itemRef.update({
"IMAGE": editimage,
"NAME": editname,
"DESCRIPTION": editdescription
})
console.log("Item successfully edited")
itemRef.on("value", function(snapshot){
console.log(snapshot.val())
}, function (errorObject){
console.log("Edit failed: " + errorObect.code)
})
}
//API - DELETE ITEM
function deleteItem(itemId){
itemRef = dbRef.child("useritems/" + itemId)
itemRef.once("value")
.then(function(snapshot){
if(snapshot.exists()){
console.log("Item removed successfully.")
return "Item removed."
}else{
console.log("Item does not exist")
return "Error."
}
})
.catch(function(error){
console.log("deleteItem failed: " + error.code)
})
}
Я спрашиваю, может ли кто-нибудь указать мне правильное направление, как вообще начать это?Нравится ссылки на ресурсы?Советы по моим кодам?Что-то дружелюбное для начинающих.Большинство примеров на YouTube и Google используют HTML в качестве внешнего интерфейса для клиента, учебные пособия для приложения для чата Android или используют mongoDB / SQL для базы данных.Может быть, я недостаточно хорошо ищу?Пожалуйста, помогите.