GIÁO TRÌNH MIT
CHAT WITH FIREBASE
Thiết kế giao diện Screen1
Code Screen1
Thiết kế giao diện ScreenChat
Code ScreenChat
READ – WRITE – UPDATE –
DELETE DATA FROM GOOGLE
SHEETS
CODE
Code js
function doGet(e){
var action = e.parameter.action;
var
ss=SpreadsheetApp.openByUrl(" />JPgwVsZPTDW_09ElORNZA/edit#gid=0L");
var sheet = ss.getSheetByName("Sheet1");
if(action=="insert")
return insert_value(e,sheet);
//Make sure you are sending proper parameters
if(action=="read")
return read_value(e,ss);
if(action=="update")
return update_value(e,sheet);
if(action=="delete")
return delete_value(e,sheet);
}
//Recieve parameter and pass it to function to handle
function insert_value(request,sheet){
var id = request.parameter.id;
var name = request.parameter.name;
var class1 = request.parameter.class;
var phone = request.parameter.phone;
var flag=1;
var lr= sheet.getLastRow();
for(var i=1;i<=lr;i++){
var id1 = sheet.getRange(i, 2).getValue();
if(id1==id){
flag=0;
var result="Id already exist..";
}}
//add new row with recieved parameter from client
if(flag==1){
var d = new Date();
var currentTime = d.toLocaleString();
var rowData = sheet.appendRow([currentTime,id,name, class1, phone]);
var result="Insertion successful";
}
result = JSON.stringify({
"result": result
});
return ContentService
.createTextOutput(request.parameter.callback + "(" + result + ")")
.setMimeType(ContentService.MimeType.JAVASCRIPT);
}
function read_value(request,ss){
var output = ContentService.createTextOutput(),
data = {};
//Note : here sheet is sheet name , don't get confuse with other operation
var sheet="sheet1";
data.records = readData_(ss, sheet);
var callback = request.parameters.callback;
if (callback === undefined) {
output.setContent(JSON.stringify(data));
} else {
output.setContent(callback + "(" + JSON.stringify(data) + ")");
}
output.setMimeType(ContentService.MimeType.JAVASCRIPT);
return output;
}
function readData_(ss, sheetname, properties) {
if (typeof properties == "undefined") {
properties = getHeaderRow_(ss, sheetname);
properties = properties.map(function(p) { return p.replace(/\s+/g, '_'); });
}
var rows = getDataRows_(ss, sheetname),
data = [];
for (var r = 0, l = rows.length; r < l; r++) {
var row = rows[r],
record = {};
for (var p in properties) {
record[properties[p]] = row[p];
}
data.push(record);
}
return data;
}
function getDataRows_(ss, sheetname) {
var sh = ss.getSheetByName(sheetname);
return sh.getRange(2, 1, sh.getLastRow() - 1, sh.getLastColumn()).getValues();
}
function getHeaderRow_(ss, sheetname) {
var sh = ss.getSheetByName(sheetname);
return sh.getRange(1, 1, 1, sh.getLastColumn()).getValues()[0];
}
//update function
function update_value(request,sheet){
var output = ContentService.createTextOutput();
var id = request.parameter.id;
var class1 = request.parameter.class;
var phone = request.parameter.phone;
var flag=0;
var name = request.parameter.name;
var lr= sheet.getLastRow();
for(var i=1;i<=lr;i++){
var rid = sheet.getRange(i, 2).getValue();
if(rid==id){
sheet.getRange(i,3).setValue(name);
sheet.getRange(i,4).setValue(class1);
sheet.getRange(i,5).setValue(phone);
var result="value updated successfully";
flag=1;
}
}
if(flag==0)
var result="id not found";
result = JSON.stringify({
"result": result
});
return ContentService
.createTextOutput(request.parameter.callback + "(" + result + ")")
.setMimeType(ContentService.MimeType.JAVASCRIPT);
}
function delete_value(request,sheet){
var output = ContentService.createTextOutput();
var id = request.parameter.id;
var name = request.parameter.name;
var flag=0;
var lr= sheet.getLastRow();
for(var i=1;i<=lr;i++){
var rid = sheet.getRange(i, 2).getValue();
if(rid==id){
sheet.deleteRow(i);
var result="value deleted successfully";
flag=1;
}
}
if(flag==0)
var result="id not found";
result = JSON.stringify({
"result": result
});
return ContentService
.createTextOutput(request.parameter.callback + "(" + result + ")")
.setMimeType(ContentService.MimeType.JAVASCRIPT);
}
BÁO CÁO DẠY HỌC TRỰC TUYẾN
Thiết kế giao diện
App này sử dụng 2 đối tượng là Web_Reading và
Web_Adding. Web_Reading dùng để đọc file googlesheets còn
Web_Adding dùng để gọi googleform. Muốn học cách sử dụng
googleform hãy tham khảo bài viết dưới đây.
1. Truy cập vào googleform gõ: />2. Đăng nhập vào tài khoản gmail
Hoặc gõ
Sau đó đăng nhập vào tài khoản, click vào
Sau đó click vào
Đặt tên cho form
Click vào đây để copy
Click vào đây để xóa
Nếu muốn làm kiểm tra
Click vào đây
Click vào đây
Click vào đây
Click vào đây
Sau đó mở tab mới và dán (paste) đường dẫn vào thanh địa chỉ ta được
Copy cái này: &entry.254621970= và cái này: &entry.1610622299=
Xóa chữ edit và thêm chữ formResponse:
/>Sau đó dán (paste) vào Web_Adding.
Chuyển qua phần Câu trả lời và click vào
Copy địa chỉ này và dán (paste) vào Web_Readding, xóa chữ: edit#gid=374919490 và thêm chữ:
export?format=csv
/>Ngồi ra googleform có rất nhiều tính năng khác.
1
2
Click vào đây
Click vào đây
Nhúng vào web hoặc app
1
2
Click vào đây
ỨNG DỤNG TẠO MỚI – CẬP NHẬT – XÓA – TÌM KIẾM
CƠ SỞ DỮ LIỆU FIREBASE
1. Giới thiệu màn hình chính
2. Các thành phần (components)
3. Các thuộc tính (Properties)