Mục lục:
- Bước 1: Những gì bạn cần
- Bước 2: Thiết lập cơ sở dữ liệu của bạn
- Bước 3: Thiết lập NetBeans
- Bước 4: Mã hóa lớp chính của chúng tôi
- Bước 5: Xác định phương thức Create () của chúng tôi
- Bước 6: Mã hóa ứng dụng của chúng tôi
- Bước 7: Biên soạn và đóng gói tệp Jar của chúng tôi
- Bước 8: Xin chúc mừng
Video: Ứng dụng Java chạy trên cơ sở dữ liệu Google Drive: 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Bạn đã bao giờ muốn tạo một ứng dụng chạy trên cơ sở dữ liệu động dễ làm việc, cho phép người dùng không am hiểu về công nghệ nhập dữ liệu vào và không làm cạn kiệt tài nguyên của công ty? Vậy thì tôi có một giải pháp cho bạn. Hôm nay, chúng tôi sẽ xây dựng một ứng dụng chạy trên Google Drive (cụ thể là Google Trang tính) và có thể được sử dụng cho nhiều mục đích khác nhau. Mặc dù hướng dẫn này sẽ tập trung vào việc xây dựng một ứng dụng dựa trên Sự kiện để hiển thị danh sách các sự kiện xảy ra xung quanh khuôn viên trường đại học, nhưng dự án này có thể dễ dàng được viết lại để hoạt động theo nhiều cách, có thể là ứng dụng máy tính cho đến ứng dụng giám sát cổ phiếu cho sản phẩm. Tôi đã đính kèm một bản sao đơn đăng ký của mình nếu bạn muốn xem chúng tôi sẽ làm gì. Giải nén tệp zip và chạy JAR bên trong nó. Và bây giờ, không cần phải quảng cáo thêm, chúng ta hãy bắt đầu!
Bước 1: Những gì bạn cần
Để bắt đầu với dự án này, bạn sẽ cần các tài nguyên sau:
-
Netbeans
Tôi khuyên bạn nên tải xuống Java EE vì nó cung cấp hỗ trợ máy chủ, nhưng nếu bạn không muốn một số tệp không cần thiết hoặc dung lượng đĩa thừa, Java SE cũng sẽ hoạt động. Netbeans sẽ đóng vai trò là IDE để viết mã và biên dịch ứng dụng của chúng tôi
-
Jsoup
Tôi đã đưa cái này vào Tài liệu hướng dẫn để bạn tải xuống. Nó là một trình phân tích cú pháp HTML sẽ cho phép chúng tôi lấy thông tin từ bảng tính đã xuất bản
-
Java SDK (V8)
Tải xuống bất kỳ tệp nào phù hợp với hệ thống của bạn. Nếu bạn đã có Java SDK trong phiên bản trước, tôi khuyên bạn nên cập nhật. Một số hàm của tôi sử dụng các biểu thức lambda mới có nguồn gốc từ v8 và mã có thể không hoạt động nếu không có chúng tùy thuộc vào những gì bạn làm
-
Visual Studio (Tùy chọn)
Hoàn toàn không bắt buộc. Mặc dù NetBeans hoạt động tuyệt vời trong việc biên dịch và đóng gói ứng dụng của chúng tôi, nhưng tôi không phải là một fan hâm mộ lớn của studio phát triển. Tôi thích viết mã bằng VS hơn, vì nó có giao diện đẹp hơn. Nếu bạn không thích điều này, có rất nhiều IDE khác trên mạng, vì vậy hãy tìm bất cứ thứ gì bạn thích nhất
-
Mã khởi động
Tôi đã đưa mã khởi động vào tài nguyên của điều này và cũng đã xuất bản nó lên GitHub. Trong phần này, tôi có tệp chính (Sự kiện) cung cấp cấu trúc cho tệp thực sự chạy ứng dụng, cũng như EventTester, sử dụng JavaFX để tạo GUI cho ứng dụng. Nếu bạn muốn có được trải nghiệm đầy đủ, tôi không khuyên bạn nên sao chép và dán. Hãy dành thời gian của bạn và đọc qua điều này
Khác:
Kiến thức cơ bản về Java. Sẽ rất hữu ích nếu bạn am hiểu về Java, như viết hàm, tạo đối tượng, v.v
Bước 2: Thiết lập cơ sở dữ liệu của bạn
Để bắt đầu dự án, trước tiên chúng ta cần vào Google Drive và tạo trang tính mà chúng ta sẽ sử dụng để chạy ứng dụng của mình. Truy cập drive.google.com và nhấp vào biểu tượng "Mới" ở góc trên cùng bên trái và chọn "Trang tính" bên dưới biểu tượng này.
Khi trang tính của bạn đã được tải, hãy tiếp tục và đổi tên nó thành một cái gì đó dễ nhận biết. Sau khi làm như vậy, hãy tiếp tục và điền vào hàng trên cùng với tên dữ liệu của bạn, chẳng hạn như những thứ bạn sẽ đặt trong mỗi cột. Nhìn vào ví dụ của tôi ở đây, tôi đã gắn nhãn hàng trên cùng với những thứ như "Tên sự kiện", "Ngày", v.v.
Sau khi làm như vậy, hãy bắt đầu điền dữ liệu bạn muốn điền vào bảng tính của bạn. Hãy nhớ định dạng tất cả dữ liệu của bạn theo cách tương tự để mã có thể hoạt động với nó mà không gặp lỗi. Ví dụ: nếu bạn định sử dụng ngày tháng trong mã của mình, hãy cẩn thận định dạng từng ngày giống nhau, nếu không mã sẽ không thể phân tích cú pháp.
Sau khi nhập dữ liệu của bạn, hãy xuất bản bảng tính bằng cách đi tới "Tệp" -> "Xuất bản lên web." Từ đây, bạn sẽ muốn chọn toàn bộ tài liệu và đảm bảo rằng nó được xuất bản dưới dạng tệp HTML, theo cách đó ứng dụng của chúng tôi có thể vẽ dữ liệu một cách chính xác. Sau khi xuất bản bảng tính của bạn, hãy nhớ ghi lại liên kết mà bảng tính cung cấp. Điều này sẽ cần thiết sau này trong ứng dụng.
Bước 3: Thiết lập NetBeans
Bây giờ chúng ta đã có bảng tính của mình, đã đến lúc thiết lập NetBeans để chúng ta có thể bắt đầu viết mã. Sau khi bạn tải xuống và cài đặt NetBeans và Java SDK của mình, hãy tiếp tục và tạo một dự án mới. Khi chọn một loại, hãy chọn danh mục "Java" và dự án "Ứng dụng Java". Chọn bất cứ thứ gì bạn muốn dự án của mình được gọi (Tôi đặt tên đơn giản là "Sự kiện"). Chọn hộp kiểm bên cạnh "sử dụng thư mục chuyên dụng để lưu trữ thư viện" cũng như hộp kiểm bên cạnh "Tạo lớp chính". Sau đó, NetBeans sẽ tạo một dự án và thư mục dự án để chúng tôi bắt đầu làm việc, giống như trong hình.
Trước khi bắt đầu viết mã, chúng ta cũng cần đảm bảo rằng NetBeans có thư viện JSoup mà nó cần để phân tích cú pháp bảng tính của chúng ta. Trong NetBeans, nhấp chuột phải vào biểu tượng "Thư viện" trong thư mục dự án của bạn. Trong menu bật lên, chọn nút để thêm tệp.jar. Bây giờ, điều hướng đến bất kỳ nơi nào bạn đã đặt tệp tải xuống jsoup của mình (rất có thể là thư mục Tải xuống của bạn, trừ khi bạn chỉ định ở nơi khác). Chọn tệp này và thêm nó vào thư viện. Nếu bạn mở rộng thư mục Thư viện của mình trong NetBeans, bây giờ bạn sẽ thấy jsoup.jar trong khu vực này. Sau khi làm như vậy, bây giờ chúng ta có thể bắt đầu viết mã ứng dụng của mình.
Bước 4: Mã hóa lớp chính của chúng tôi
Vì vậy, bước đầu tiên trong việc viết mã ứng dụng của chúng tôi là tạo lớp chính của bạn. Lớp chính của bạn sẽ là nơi chúng tôi tạo các đối tượng của mình, có các phương thức tương tác với JSoup và hơn thế nữa. Giả sử mọi người đọc bài này đều có kinh nghiệm viết mã, hãy tiếp tục và sử dụng các phép nhập sau:
nhập java.util. Collections;
nhập java.util. List;
nhập java.util. ArrayList;
nhập java.util. Date;
nhập java.util.stream. Stream;
nhập java.util.stream. Collectors;
nhập java.text. SimpleDateFormat;
nhập java.text. ParseException;
nhập org.jsoup. Jsoup;
nhập org.jsoup.nodes. Document;
nhập org.jsoup.nodes. Element;
nhập org.jsoup.select. Elements;
nhập javafx.beans.property. SimpleStringProperty;
Điều này có vẻ nhiều và tùy thuộc vào dự án của bạn, tất cả đều có thể không cần thiết. Khi chúng tôi tiếp tục viết mã, NetBeans sẽ cho bạn biết nếu bạn có bất kỳ dữ liệu nhập chưa sử dụng nào, vì vậy chúng tôi luôn có thể xóa chúng sau này. Tuy nhiên, đây là những gì chúng ta cần cho bây giờ.
Sau khi có các câu lệnh nhập, chúng ta hãy tiếp tục và khai báo lớp của chúng ta. Nếu bạn có kế hoạch sử dụng Ngày hoặc bất kỳ đối tượng không cơ bản nào khi phát triển đối tượng dành riêng cho lớp của mình, tôi khuyên bạn nên thêm một "thực hiện có thể so sánh được" vào khai báo lớp của bạn. Điều này sẽ cho phép bạn so sánh các Đối tượng, điều này sẽ cho phép bạn sắp xếp một Danh sách các Đối tượng Lớp sau này. Sau khi thực hiện việc này, hãy tiếp tục và khai báo tất cả các biến cá thể mà bạn sẽ cần. Đối với mỗi chuỗi công khai bạn tạo, bạn cũng sẽ cần tạo SimpleStringProperty cho nó. Đây là các đối tượng JavaFX sẽ cho phép chúng ta làm việc với các đối tượng lớp chính của chúng ta sau này.
Bây giờ, hãy tiếp tục và khai báo các chức năng truy cập của bạn. Đối với các biến cơ bản của bạn, bạn có thể đặt tên cho các hàm của mình bất cứ thứ gì bạn chọn. Tuy nhiên, đối với các chức năng truy cập SSP, bạn phải sử dụng định dạng getFunctionNameHere (). Điều này là do sau này chúng ta sẽ sử dụng JavaFX để kết nối với các hàm này và các hàm chúng ta sẽ sử dụng yêu cầu chúng ta bắt đầu các hàm SSP của mình bằng get. Bạn có thể xem một ví dụ ở trên.
Sau khi xác định tất cả các biến truy cập của bạn, hãy tiếp tục và xác định bất kỳ hàm nào khác mà bạn có thể cần. Điều này rất cụ thể cho người dùng, vì các chức năng bạn cần có khác nhau giữa các dự án. Nếu bạn cần một chút cảm hứng, hãy kiểm tra Javadoc của tôi hoặc mã thực tế và xem một số chức năng tôi đã thực hiện. Ví dụ: tôi đã tạo một hàm sắp xếp để sắp xếp Danh sách theo Ngày, cũng như các hàm chỉ trả về Sự kiện có trạng thái nhóm là công khai và hơn thế nữa. Mặc dù bạn có thể tạo các phương thức tĩnh này để bạn có thể thực hiện một số thử nghiệm, nhưng tôi khuyên bạn không nên sử dụng bất kỳ phương thức tĩnh nào sau khi bạn hoàn thành gỡ lỗi, để tránh lỗi khi chúng ta chuyển sang bước tiếp theo của dự án.
Bước 5: Xác định phương thức Create () của chúng tôi
Bây giờ có thể là phần quan trọng nhất của mã, nơi chúng ta sẽ xác định phương thức create () của mình, phương thức này thực sự sẽ truy cập vào trang web của chúng ta và lấy cho chúng ta dữ liệu. Điều quan trọng cần lưu ý là bạn sẽ cần thêm dòng Ngoại lệ ném vào khai báo phương thức của mình, vì vậy chúng tôi không phải viết các khối thử vào mã của mình. Để bắt đầu, hãy tiếp tục và khai báo một Danh sách trống về đối tượng của bạn. Trong trường hợp của tôi, nó trông giống như
Sự kiện sự kiện = new ArrayList ()).
Bây giờ, hãy đi và tìm URL mà bạn đã sao chép trước đó vào bảng tính đã xuất bản. Khai báo liên kết này dưới dạng một chuỗi trong Java và gọi nó là bất cứ thứ gì bạn muốn. Bây giờ, hãy tiếp tục và khai báo một tài liệu Jsoup mới. Bạn có thể làm điều này bằng cách tạo một đối tượng tài liệu mới, chẳng hạn như
Document doc = new Document ();
Bây giờ, hãy tiếp tục và thiết lập tài liệu của bạn để kết nối với URL của chúng tôi và lấy dữ liệu. Để làm như vậy, hãy thử:
Tài liệu doc = Jsoup.connect (url).get ();
Bây giờ, chúng ta cần lấy phần thân của tài liệu, đó là nơi dữ liệu thực tế đang được lưu trữ.
String body = doc.body (). Text ();
Bây giờ, chúng ta cần bắt đầu lấy dữ liệu ra khỏi cơ thể. Vì dữ liệu của chúng tôi nằm trong một bảng (vì nó là một bảng tính), chúng tôi cần phải kéo bảng ra khỏi nội dung. Hãy thử
Bảng phần tử = doc.select ("bảng"). Get (0);
Thao tác này sẽ chọn bảng Đầu tiên. Trong trường hợp này, chỉ có một. Bây giờ, hãy gõ
Các phần tử hàng = table.select ("tr");
Điều này cho chúng ta tất cả các hàng trong bảng đã nói.
Vì vậy, bây giờ, tất cả dữ liệu của chúng ta đều nằm bên trong biến hàng này. Đó là điều tốt và tất cả, nhưng toàn bộ điểm khi viết hàm này bên trong lớp này là để chúng ta có thể tạo các đối tượng từ nó. Vì vậy, trước khi chúng tôi có thể trả về giá trị này, chúng tôi cần tạo một Danh sách từ các hàng của chúng tôi. Để làm điều này, chúng ta có thể sử dụng vòng lặp for. Tôi phải lưu ý rằng điều này khiến tôi phải thử một chút và sai sót để làm đúng. Tôi nhận ra rằng khi kéo từ các hàng, một số dữ liệu của chúng tôi không hữu ích cho tình huống này, vì nó cung cấp những thứ như tên của trang tính riêng lẻ, hàng đầu tiên chứa ý tưởng dữ liệu của chúng tôi trên đó, v.v. Cuối cùng, tôi đặt giá trị ban đầu nhập số cho vòng lặp for thành 2, vì vậy nó bỏ qua các mục này và có thể tạo các mục của chúng ta. Cuối cùng, tôi đã phát triển một giao diện với mã
for (int i = 2; i <row.size (); i ++) {
Hàng phần tử = row.get (i);
Phần tử cols = row.select ("td");
Bây giờ, để tạo một đối tượng, hãy làm điều gì đó như
Tên đối tượng = new Đối tượng (cols.get (0).text ());
Về cơ bản, cols.get (0) sẽ lấy dữ liệu từ hàng (i) cột (0) và biến nó thành một Chuỗi mà sau đó có thể được chuyển vào phương thức khởi tạo của đối tượng.
Sau khi thiết lập cấu trúc của bạn, hãy thêm nó vào Danh sách mà chúng tôi đã tạo trước đó với list.add (), chẳng hạn như
sự kiện.add (tên);
Bây giờ, đóng vòng lặp for của bạn và gọi bất kỳ hàm nào bạn có thể cần ngay bây giờ. Ví dụ: tôi đã gọi hàm sắp xếp của mình để sắp xếp các Sự kiện theo thứ tự ngày tháng. Sau khi làm như vậy, hãy trả lại Danh sách của bạn và sau đó bạn đã hoàn thành phần này!
Bước 6: Mã hóa ứng dụng của chúng tôi
Tạo một tệp mới và đặt tên nó là bất cứ thứ gì bạn chọn. Bạn sẽ cần các lần nhập sau:
nhập java.util. List;
nhập java.util. ArrayList;
nhập java.util. Date;
nhập javafx.geometry. Pos;
nhập javafx.scene.layout. HBox;
nhập javafx.application. Application;
nhập javafx.collections.transformation. FilteredList;
nhập javafx.scene.text. Font; nhập javafx.scene.control. *;
nhập javafx.collections. FXCollections;
nhập javafx.collections. ObservableList;
nhập javafx.geometry. Insets;
nhập javafx.scene. Group;
nhập javafx.scene. Scene;
nhập javafx.scene.control. Label;
nhập javafx.scene.control.cell. PropertyValueFactory;
nhập javafx.scene.layout. VBox;
nhập javafx.stage. Stage;
Tôi biết điều này có vẻ hơi nhiều, nhưng tin tôi đi, chúng cần thiết để chúng tôi chạy tạo ứng dụng của mình. Hãy tiếp tục và khai báo lớp của bạn, và đảm bảo rằng nó mở rộng Ứng dụng, vì đây là thành phần cần thiết của dự án. Ngay từ đầu, hãy khai báo một biến phiên bản mới là TableView của đối tượng của bạn, chẳng hạn như
riêng bảng TableView = new TableView ();
Ngoài ra, hãy khai báo một phương thức chính mà chúng tôi sẽ sử dụng để khởi chạy ứng dụng. Về cơ bản, nó sẽ giống như hình ở trên cùng.
Bây giờ, chúng ta cần tạo phương thức bắt đầu của mình. Đảm bảo rằng nó ném Exception, vì chúng ta sẽ gọi phương thức create () từ lớp cũ của chúng ta. Tạo một sự kiện mới với các tham số trống, đơn giản là chúng ta có thể gọi phương thức tạo với nó. Xác định một Danh sách mới và đặt nó bằng kết quả của create (). Bây giờ, hãy tạo một danh sách ObservableList mới, danh sách này sẽ được sử dụng để điền vào bảng của chúng tôi với dữ liệu của chúng tôi. Định nghĩa nó như sau:
Dữ liệu ObservableList = FXCollections.observableArrayList ();
Bây giờ, hãy tạo một cảnh mới với:
Cảnh phân cảnh = new Scene (new Group ());
Đặt tiêu đề, chiều rộng, chiều cao và bất kỳ thứ gì khác bạn cần cho bất kỳ thứ gì phù hợp với bạn. Bạn có thể thấy các giá trị của tôi trong hình ảnh ở trên cùng. Bây giờ, chúng ta có thể bắt đầu sắp xếp bàn ăn của mình. Đối với tất cả thông tin bạn muốn hiển thị, hãy tạo TableColumn, như:
TableColumn eventCol = new TableColumn ("Tên sự kiện"); eventCol.setMinWidth (100); eventCol.setCellValueFactory (new PropertyValueFactory ("sName"));
Tham số "sName" phải được điền bằng bất kỳ tên nào của các hàm truy cập SSP của bạn, để nó có thể nhận được các giá trị bạn cần cho các đối tượng đã cho. Tạo bao nhiêu Cột tùy thích, sau đó thêm chúng vào bảng với
FilteredList flEvent = new FilteredList (dữ liệu, p -> true);
table.setItems (flEvent);
table.getColumns (). addAll (eventCol, statCol, groupCol, dateCol, descCol, locationCol);
Nếu bạn muốn thêm một thanh tìm kiếm như tôi đã làm, hãy kiểm tra mã để biết thông tin về cách tạo choiceBox và textField, sẽ cho phép người dùng của bạn lọc bảng theo các giá trị cụ thể. Nếu bạn đã chọn làm như vậy, bạn cũng sẽ phải tạo một hBox để chứa những thứ này, với
HBox hBox = HBox mới (choiceBox, textField);
hBox.setAlignment (Pos. CENTER);
Bạn cũng sẽ cần thêm hBox vào phương thức.addAll () bên dưới.
Nếu không, chỉ cần tạo một vBox mới để giữ dữ liệu của chúng tôi bằng cách
final VBox vbox = new VBox ();
vbox.getChildren (). addAll (nhãn, bảng);
((Nhóm) scene.getRoot ()). GetChildren (). AddAll (vbox);
stage.setScene (cảnh); sân khấu chương trình();
Bây giờ, hãy biên dịch mã của bạn và chạy nó, và xem nó có hoạt động hay không. Sử dụng NetBeans để tìm bất kỳ lỗi nào, lỗi này sẽ xuất hiện dưới dạng thanh màu đỏ ở bên phải màn hình. Tiếp tục chạy điều này cho đến khi bạn không còn lỗi nào nữa và dự án chạy.
Sau khi hoàn thành mã của bạn, tôi sẽ khuyên bạn nên tạo một Javadoc mã của bạn để mọi người có thể xem mã của bạn làm gì. Để làm như vậy, dưới nút "Chạy" ở đầu màn hình, chỉ cần nhấn "Tạo Javadoc". Bạn có thể tìm thấy bản sao Javadoc của tôi bằng cách xem bên trong tệp zip trên trang đầu tiên và chọn tệp index.html.
Bước 7: Biên soạn và đóng gói tệp Jar của chúng tôi
Khi bạn đã gỡ lỗi đầy đủ và làm cho nó chạy thành công, cuối cùng bạn có thể biên dịch tệp này thành tệp JAR, tệp này sau đó có thể được xuất bản để những người khác có thể chạy phần mềm này mà không cần đến NetBeans hoặc Jsoup.
Trước khi biên dịch ứng dụng của bạn, hãy đảm bảo rằng mọi thứ đã hoàn tất. Nếu bạn muốn thêm tài liệu và tạo JavaDoc, hãy tiếp tục. Nếu bạn có bất kỳ lệnh System.out nào in ra bảng điều khiển của mình, hãy xóa chúng. Về cơ bản, hãy đảm bảo rằng ứng dụng của bạn không có lệnh hoặc chức năng không mong muốn và nó có mọi thứ cần thiết để đóng gói.
Sau khi làm như vậy, nhấp chuột phải vào tên dự án trong NetBeans. Nó sẽ bật lên một menu. Nhấn vào thuộc tính (ở cuối menu), sau đó nhấn "Đóng gói" ở phía bên trái của menu bật lên mới. Bây giờ, hãy đảm bảo rằng tất cả các hộp kiểm đã được đánh dấu. Màn hình của bạn sẽ giống như ở trên.
Sau khi thực hiện việc này, một lần nữa nhấp chuột phải vào dự án của bạn trong NetBeans. Tại thời điểm này, hãy nhấn nút "Clean and Build" và NetBeans sẽ bắt đầu lấy các thư viện và tệp của bạn và biên dịch chúng thành tệp JAR đang hoạt động. Nếu mọi việc suôn sẻ, bạn sẽ thấy một thông báo trong bảng điều khiển sau một lúc cho biết JAR của bạn đã hoàn tất quá trình biên dịch và tệp hiện có thể chạy được. Chạy ứng dụng này và đảm bảo mọi thứ hoạt động. Nếu không, hãy gỡ lỗi và khởi động lại quá trình cho đến khi các lỗi đã được khắc phục.
Bước 8: Xin chúc mừng
Xin chúc mừng! Nếu bạn làm theo tất cả các hướng dẫn một cách chính xác và mã hóa mọi thứ tốt, thì bạn sẽ có ứng dụng hoạt động của riêng mình. Điều thú vị là giờ đây bất cứ khi nào bạn hoặc bất kỳ ai khác có quyền truy cập vào bảng tính của bạn chỉnh sửa dữ liệu, ứng dụng của bạn sẽ có thể thay đổi và phản ứng với dữ liệu mới. Đây là một đoạn video nhanh về cách tôi đã thành công.
Nếu bạn đang tìm cách tiếp tục cải thiện và xây dựng, tôi khuyên bạn nên kiểm tra một số tính năng nâng cao hơn của JavaFX, như FancyText hoặc FancyButton, có thể thêm một số đồ họa cao cấp hơn vào ứng dụng của bạn. Chúc bạn may mắn và hãy bình luận nếu bạn cần bất kỳ trợ giúp nào hoặc nhận thấy lỗi trong mã của tôi!
Đề xuất:
Chạy APK Blynk hoặc Ứng dụng Android khác dưới dạng HMI trên Raspberry Pi: 7 bước
Chạy APK Blynk hoặc Ứng dụng Android khác dưới dạng HMI trên Raspberry Pi: Xin chào các nhà sản xuất! Đây là tài liệu hướng dẫn đầu tiên của tôi … Điều này nằm trong tầm tay của những người mới làm quen với mâm xôi. Tôi đã dành rất nhiều thời gian để tìm ra các kết hợp phù hợp để có độ tin cậy và tốc độ tốt vận hành thử. Tìm thấy ít thông tin để thực hiện điều này
Tạo ứng dụng Android cho doanh nghiệp nhỏ bằng ứng dụng MIT và Google Fusion Table: 7 bước
Tạo ứng dụng Android cho doanh nghiệp nhỏ bằng ứng dụng MIT và Google Fusion Table: Bạn đã bao giờ muốn tạo Ứng dụng của riêng mình có thể có sẵn tại cửa hàng google play chưa !!! Nếu bạn đang kinh doanh thì hướng dẫn này sẽ thay đổi cuộc đời bạn. Sau khi đọc kỹ phần này, bạn sẽ có thể làm Đơn đăng ký của riêng mình. Befo
Cách tìm nạp dữ liệu từ cơ sở dữ liệu Firebase trên NodeMCU: 7 bước
Cách tìm nạp dữ liệu từ cơ sở dữ liệu Firebase trên NodeMCU: Đối với hướng dẫn này, chúng tôi sẽ tìm nạp dữ liệu từ cơ sở dữ liệu trong Google Firebase và tìm nạp nó bằng NodeMCU để phân tích cú pháp thêm. tài khoản để tạo cơ sở dữ liệu Firebase. 3) Tải xuống
Phát triển ứng dụng bằng cách sử dụng các ghim GPIO trên DragonBoard 410c với hệ điều hành Android và Linux: 6 bước
Phát triển ứng dụng bằng cách sử dụng chân GPIO trên DragonBoard 410c Với Hệ điều hành Android và Linux: Mục đích của hướng dẫn này là hiển thị thông tin cần thiết để phát triển các ứng dụng sử dụng chân GPIO trên DragonBoard 410c mở rộng tốc độ thấp. Hướng dẫn này trình bày thông tin để phát triển các ứng dụng bằng cách sử dụng các chân GPIO với SYS trên Andr
Chuyển đổi thiết bị điện tử chạy bằng pin sang chạy trên AC: 4 bước (có hình ảnh)
Chuyển đổi thiết bị điện tử chạy bằng pin sang chạy bằng điện xoay chiều: Chúng tôi sử dụng pin để cung cấp năng lượng cho rất nhiều thiết bị điện tử của mình. Nhưng có một số thiết bị chạy bằng pin không nhất thiết lúc nào cũng cần phải di động. Một ví dụ là chiếc xích đu chạy bằng pin của con trai tôi. Nó có thể được di chuyển xung quanh nhưng nó thường ở trong