Мазмұны:
- 1 -қадам: Сізге не қажет
- 2 -қадам: мәліметтер базасын орнату
- 3 -қадам: NetBeans орнату
- 4 -қадам: Біздің негізгі сыныпты кодтау
- 5 -қадам: Create () әдісін анықтау
- 6 -қадам: Біздің қосымшаны кодтау
- 7 -қадам: біздің банк файлын құрастыру және орау
- 8 -қадам: Құттықтаймыз
Бейне: Java қосымшасы Google Drive дерекқорында жүгірді: 8 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Сіз жұмыс істеуге ыңғайлы, технологиялық емес пайдаланушыларға деректерді енгізуге мүмкіндік беретін және компанияның ресурстарын пайдаланбайтын динамикалық мәліметтер базасында жұмыс істейтін қосымшаны жасағыңыз келді ме? Олай болса, менде саған шешімім бар. Бүгін біз Google Drive -та жұмыс істейтін қосымшаны құрамыз (әсіресе Google Sheets) және оны әр түрлі мақсаттарда пайдалануға болады. Бұл оқу құралы колледж қалашығында болып жатқан оқиғалардың тізімін көрсету үшін оқиғаларға негізделген қосымшаны құруға бағытталғанымен, бұл жобаны бақылауға болатын қосымшаның калькуляторы болсын, оны әр түрлі жолмен оңай қайта жазуға болады. өнімдерге арналған қорлар. Егер біз не істейтінімізді білгіңіз келсе, мен өтінішімнің көшірмесін тіркедім. ZIP файлын ашыңыз және оның ішінде JAR іске қосыңыз. Ал енді, көп созбай, бастайық!
1 -қадам: Сізге не қажет
Бұл жобаны бастау үшін сізге келесі ресурстар қажет:
-
Netbeans
Мен Java EE жүктеуді ұсынамын, себебі ол серверлік қолдауды қамтамасыз етеді, бірақ егер сізге қажет емес файлдар немесе қосымша дискілік кеңістік қажет болмаса, Java SE де жұмыс істейді. Netbeans біздің қосымшаны кодтау және құрастыру үшін IDE қызметін атқарады
-
Jsoup
Мен оны жүктеу үшін нұсқаулыққа енгіздім. Бұл HTML парсері, ол бізге жарияланған кестеден ақпаратты алуға мүмкіндік береді
-
Java SDK (V8)
Жүйеге сәйкес келетін файлды жүктеңіз. Егер сізде Java SDK алдыңғы нұсқада болса, жаңартуды ұсынамын. Менің кейбір функцияларым v8 үшін жаңа лямбда өрнектерін қолданады, және сіз жасайтын нәрсеге байланысты код оларсыз жұмыс істемеуі мүмкін
-
Visual Studio (қосымша)
Толығымен қосымша. NetBeans біздің қосымшаны құрастыру мен орау үшін керемет жұмыс жасаса да, мен әзірлеу студиясының жанкүйері емеспін. Мен VS -те кодтауды жөн көремін, себебі ол жақсы интерфейске ие. Егер сізге бұл ұнамаса, Интернетте көптеген басқа IDE бар, сондықтан сізге ұнайтын нәрсені табыңыз
-
Бастапқы код
Мен бастапқы кодты осы ресурстарға енгіздім, сонымен қатар оны GitHub -да жарияладым. Бұл жерде менде қосымшаны іс жүзінде іске қосатын файлдың құрылымын қамтамасыз ететін негізгі файл (Event) бар, сонымен қатар JavaFX қолданбасы үшін GUI құру үшін EventTester бар. Егер сіз толық тәжірибе алғыңыз келсе, мен көшіруді және қоюды ұсынбаймын. Уақыт бөліп, осыны оқып шығыңыз
Басқалар:
Java туралы негізгі білім. Java -да білімді болу пайдалы болады, мысалы, функцияларды жазу, объектілерді құру және т
2 -қадам: мәліметтер базасын орнату
Жобаны бастау үшін алдымен Google Drive -қа кіріп, қосымшаны іске қосу үшін қолданылатын парақты жасау керек. Drive.google.com сайтына өтіп, жоғарғы сол жақ бұрыштағы «Жаңа» белгішесін нұқыңыз және астындағы «Парақтар» таңдаңыз.
Сіздің парағыңыз жүктелгеннен кейін жалғастырыңыз және оны оңай танылатын нәрсеге өзгертіңіз. Мұны жасағаннан кейін, әр бағанға енгізілетін нәрселер сияқты деректер атауымен жоғарғы жолды толтырыңыз. Менің мысалға қарап, мен жоғарғы қатарды «Оқиғаның атауы», «Күні» және т.
Осыдан кейін электрондық кестені толтырғыңыз келетін мәліметтермен толтыруды бастаңыз. Барлық деректеріңізді солай пішімдеуді ұмытпаңыз, сонда код қатесіз жұмыс істей алады. Мысалы, егер сіз кодта күндерді қолдануды жоспарласаңыз, әр күнді бірдей пішімдеуге абай болыңыз, әйтпесе код оны талдай алмайды.
Деректерді енгізгеннен кейін «Файл» -> «Интернетке жариялау» тармағына өтіп, электрондық кестені жариялаңыз. Осы жерден сіз бүкіл құжатты таңдап, оның HTML файлы ретінде жарияланғанына көз жеткізгіңіз келеді, осылайша біздің қолданба деректерді дұрыс түсіре алады. Электрондық кестені жариялағаннан кейін, ол ұсынған сілтемеге назар аударыңыз. Бұл кейінірек қосымшада қажет болады.
3 -қадам: NetBeans орнату
Енді бізде электрондық кесте бар, біз кодтауды бастау үшін NetBeans жүйесін орнататын уақыт келді. NetBeans пен Java SDK жүктеп, орнатқаннан кейін, жаңа жоба жасаңыз. Түрді таңдағанда «Java» санатын, ал «Java қосымшасы» жобасын таңдаңыз. Сіз өзіңіздің жобаңызды қалай атағыңыз келеді, соны таңдаңыз (мен өз жобамды «оқиға» деп атадым). «Кітапханаларды сақтау үшін арнайы қалтаны пайдалану» жанындағы құсбелгіні қойыңыз, сонымен қатар «Негізгі сыныпты құру» жанындағы құсбелгіні қойыңыз. Осыдан кейін, NetBeans біз жұмыс істей алатын жоба мен каталогты құруы керек, суреттегідей.
Біз кодтауды бастамас бұрын, NetBeans -те JSoup кітапханасы бар екеніне көз жеткізуіміз керек, ол біздің электрондық кестені талдау үшін қажет болады. NetBeans -те жобаның каталогындағы «Кітапханалар» белгішесін тінтуірдің оң жақ түймесімен нұқыңыз. Қалқымалы мәзір астында.jar файлын қосу үшін түймені таңдаңыз. Енді сіз jsoup жүктеуді қай жерге қойсаңыз, сол жерге өтіңіз (егер сіз басқа жерде көрсетпесеңіз, жүктеулер қалтасы). Бұл файлды таңдап, оны кітапханаға қосыңыз. Егер сіз NetBeans -те Libraries қалтасын кеңейтсеңіз, енді сіз осы аймақта jsoup.jar файлын көресіз. Мұны істей отырып, енді біз қосымшаны кодтауға кірісе аламыз.
4 -қадам: Біздің негізгі сыныпты кодтау
Сонымен, біздің қосымшаны кодтаудың бірінші қадамы - сіздің негізгі сыныбыңызды құру. Сіздің негізгі сыныбыңыз біздің объектілерді құратын жерде болады, JSoup -пен өзара әрекеттесетін әдістерге және т.б. Мұны оқитындардың бәрі кодтау тәжірибесі бар деп ойласаңыз, келесі импортты қолданыңыз:
java.util. Collections импорттау;
java.util. List импорттау;
java.util. ArrayList импорттау;
java.util. Date импорттау;
java.util.stream. Stream импорттау;
java.util.stream. Collectors импорттау;
java.text. SimpleDateFormat импорттау;
java.text. ParseException импорттау;
org.jsoup. Jsoup импорттау;
org.jsoup.nodes. Document импорттау;
org.jsoup.nodes. Element импорттау;
org.jsoup.select. Elements импорттау;
javafx.beans.property. SimpleStringProperty импорттау;
Бұл өте көп болып көрінуі мүмкін және сіздің жобаңызға байланысты бәрі қажет болмауы мүмкін. Біз кодтауды жалғастыра отырып, NetBeans сізге пайдаланылмаған импорт бар -жоғын хабарлайды, сондықтан біз оларды кейінірек әрқашан жоя аламыз. Дегенмен, бұл бізге дәл қазір қажет.
Импорт туралы мәлімдеме алғаннан кейін, сабағымызды жариялайық. Егер сіз сыныпқа тән объектіні әзірлеу кезінде Dates немесе кез келген негізгі емес объектіні пайдалануды жоспарласаңыз, мен сіздің сынып декларациясына «Comparable implements» қосуды ұсынамын. Бұл сізге ClassObjects тізімін кейін сұрыптауға мүмкіндік беретін объектілерді салыстыруға мүмкіндік береді. Мұны жасағаннан кейін, сізге қажет барлық айнымалы мәндерді жариялаңыз. Сіз жасаған әрбір жалпы жол үшін сізге SimpleStringProperty жасау қажет болады. Бұл JavaFX объектілері, олар бізге кейінірек негізгі сынып объектілерімен жұмыс жасауға мүмкіндік береді.
Енді, жалғастырыңыз және функцияларға кіретіндігіңізді жариялаңыз. Негізгі айнымалыларға келетін болсақ, сіз таңдаған нәрсеге өз функцияларыңызды атауыңызға болады. Дегенмен, сізде SSP қатынау функциялары үшін getFunctionNameHere () пішімін қолдану қажет. Себебі, кейінірек біз бұл функцияларға қосылу үшін JavaFX қолданамыз, ал біз қолданатын функциялар SSP функцияларын get -тен бастауды талап етеді. Сіз жоғарыдағы мысалды көре аласыз.
Барлық қол жетімділік айнымалы мәндерін анықтағаннан кейін, сізге қажет басқа функцияларды анықтаңыз. Бұл пайдаланушыға өте тән, өйткені сізге қажет функциялар жобадан жобаға қарай ерекшеленеді. Егер сізге шабыт қажет болса, менің Javadoc немесе нақты кодты тексеріп, мен жасаған кейбір функцияларды қараңыз. Мысалы, мен тізім бойынша күндерді сұрыптайтын сұрыптау функциясын құрдым, сонымен қатар жалпыға ортақ мәртебесі бар оқиғаларды ғана қайтаратын функциялар және т.б. Егер сіз тестілеуді жүзеге асыру үшін осы статикалықты жасау дұрыс болса да, біз жобаның келесі кезеңіне өткенде қателіктерге жол бермеу үшін отладтауды аяқтағаннан кейін ешқандай статикалық әдістерді пайдаланбауды ұсынамын.
5 -қадам: Create () әдісін анықтау
Енді кодтың ең маңызды бөлігі келеді, онда біз create () әдісін анықтайтын боламыз, бұл біздің веб -бетке кіруге және бізге деректерді алуға мүмкіндік береді. Сіз әдіс декларациясына лақтырудың ерекше жолын қосуыңыз керек екенін ескеру маңызды, сондықтан біздің кодқа блоктарды жазудың қажеті жоқ. Бастау үшін объектінің бос тізімін жариялаңыз. Менің жағдайда, бұл ұқсас болды
Оқиғалар оқиғалары = жаңа ArrayList ()).
Енді барып, бұрын жарияланған электрондық кестеге көшірген URL мекенжайын табыңыз. Бұл сілтемені Java -да жол ретінде жариялаңыз және оны қалағаныңызша шақырыңыз. Енді, жаңа Jsoup құжатын жариялаңыз. Сияқты жаңа құжат объектісін құру арқылы жасауға болады
Document doc = new Document ();
Енді, құжатты біздің URL -ге қосылуға және деректерді алуға реттеңіз. Ол үшін көріңіз:
Құжат doc = Jsoup.connect (url).get ();
Енді біз құжаттың негізгі бөлігін алуымыз керек, онда нақты деректер сақталады.
String body = doc.body (). Text ();
Енді біз денеден деректерді шығаруды бастауымыз керек. Біздің деректер кестеде болғандықтан (бұл кесте болғандықтан), біз кестені денеден шығарып алуымыз керек. Көрейік
Элемент кестесі = doc.select («кесте»). Алу (0);
Бұл бірінші кестені таңдайды. Бұл жағдайда біреу ғана бар. Енді, теріңіз
Жолдар элементтері = table.select («tr»);
Бұл бізді кестеде барлық жолдарды алады.
Сонымен, қазір біздің барлық деректер осы жолдар айнымалысы ішінде. Бұл жақсы және бәрі, бірақ бұл функцияны осы сыныптың ішінде жазудың негізгі мәні - біз одан объектілер жасай аламыз. Сонымен, біз оны қайтармас бұрын, біз өз қатарларымыздан Тізім жасауымыз керек. Ол үшін for циклін қолдануға болады. Айта кету керек, бұл маған кішкене сынақ пен қателіктер жіберді. Мен жолдан шығарған кезде біздің кейбір деректер бұл жағдайда пайдалы емес екенін түсіндім, себебі ол жеке парақтың атауы, бірінші жолда біздің мәліметтер туралы идеялар және т.б. сияқты нәрселерді қамтамасыз етеді. Ақырында мен бастапқы деректерді қойдым. for циклінің нөмірін 2 -ге енгізу, сондықтан ол бұл элементтерді айналып өтеді және біздің элементтерді жасай алады. Ақырында, мен кодпен қарауды жасадым
үшін (int i = 2; i <rows.size (); i ++) {
Элемент жолы = rows.get (i);
Cols элементтері = row.select («td»);
Енді, объект жасау үшін, ұқсас нәрсені жасаңыз
Нысан атауы = жаңа нысан (cols.get (0).text ());
Негізінде, cols.get (0) (i) жолынан (0) деректерді алады және оны жолға айналдырады, содан кейін объектінің конструкторына жіберуге болады.
Құрылысты орнатқаннан кейін оны list.add () көмегімен бұрын жасаған тізімге қосыңыз, мысалы
оқиғалар.қосымша (аты -жөні);
Енді циклды жабыңыз және сізге қажет болуы мүмкін функцияларды шақырыңыз. Мысалы, мен оқиғаларды күні бойынша алу үшін сұрыптау функциясын шақырдым. Мұны жасаған соң, тізіміңізді қайтарыңыз, содан кейін сіз осы бөлімді аяқтадыңыз!
6 -қадам: Біздің қосымшаны кодтау
Жаңа файл жасаңыз және қалағаныңызға ат қойыңыз. Сізге келесі импорт қажет:
java.util. List импорттау;
java.util. ArrayList импорттау;
java.util. Date импорттау;
javafx.geometry. Pos импорттау;
javafx.scene.layout. HBox импорттау;
javafx.application. Application импорттау;
javafx.collections.transformation. FilteredList импорттау;
javafx.scene.text. Font импорттау; javafx.scene.control импорттау.*;
javafx.collections. FXCollections импорттау;
javafx.collections. ObservableList импорттау;
javafx.geometry. Insets импорттау;
javafx.scene. Group импорттау;
javafx.scene. Scene импорттау;
javafx.scene.control. Label импорттау;
javafx.scene.control.cell. PropertyValueFactory импорттау;
javafx.scene.layout. VBox импорттау;
javafx.stage. Stage импорттау;
Мен білемін, бұл өте көп болып көрінуі мүмкін, бірақ маған сеніңіз, олар біздің қосымшаны жасау үшін қажет. Классыңызды жариялаңыз және оның қосымшаны кеңейтетініне көз жеткізіңіз, себебі бұл жобаның қажетті компоненті. Басында сіздің нысанның TableView болып табылатын жаңа даналық айнымалысын жариялаңыз, мысалы
жеке TableView кестесі = жаңа TableView ();
Сонымен қатар, қосымшаны іске қосу үшін қолданылатын негізгі әдісті жариялаңыз. Негізінде ол жоғарғы жағындағы суретке ұқсас болуы керек.
Енді біз бастау әдісін жасауымыз керек. Бұл Ерекшелікті шығаратынына көз жеткізіңіз, өйткені біз create () әдісін бұрынғы сыныбымыздан шақырамыз. Бос параметрлері бар жаңа оқиға жасаңыз, осылайша біз оны құру әдісін шақыра аламыз. Жаңа тізімді анықтаңыз және оны create () нәтижесіне тең етіп орнатыңыз. Енді жаңа ObservableList жасаңыз, ол біздің кестені деректермен толтыру үшін қолданылады. Оны келесідей анықтаңыз:
ObservableList деректері = FXCollections.observableArrayList ();
Енді келесі көріністі жасаңыз:
Сахна көрінісі = жаңа көрініс (жаңа топ ());
Сізге сәйкес келетін нәрсені атауын, енін, биіктігін және басқаларын орнатыңыз. Сіз менің құндылықтарымды жоғарыдағы суреттен көре аласыз. Енді біз үстелімізді жинай бастаймыз. Көрсеткіңіз келетін барлық ақпарат үшін TableColumn жасаңыз, мысалы:
TableColumn eventCol = жаңа TableColumn («Оқиға атауы»); eventCol.setMinWidth (100); eventCol.setCellValueFactory (жаңа PropertyValueFactory («sName»)));
«SName» параметрі SSP кіру функцияларының атымен толтырылуы керек, сондықтан ол берілген объектілерге қажетті мәндерді ала алады. Қажет болса, қанша баған жасаңыз, содан кейін оларды кестеге қосыңыз
FilteredList flEvent = жаңа FilteredList (деректер, p -> шын);
table.setItems (flEvent);
table.getColumns (). addAll (eventCol, statCol, groupCol, datingCol, descCol, locationCol);
Егер сіз мен сияқты іздеу жолағын қосқыңыз келсе, онда сіздің пайдаланушыға кестені белгілі бір мәндер бойынша сүзуге мүмкіндік беретін choiceBox пен textField құру туралы ақпарат алу үшін кодты тексеріңіз. Егер сіз мұны таңдаған болсаңыз, сонымен бірге hBox жасауыңыз керек
HBox hBox = жаңа HBox (choiceBox, textField);
hBox.setAlignment (Pos. CENTER);
Сондай -ақ, төмендегі.addAll () әдісіне hBox қосу қажет болады.
Әйтпесе, деректерді сақтау үшін жаңа vBox жасаңыз
соңғы VBox vbox = жаңа VBox ();
vbox.getChildren (). addAll (белгі, кесте);
((Топтық) көрініс.getRoot ()). GetChildren (). AddAll (vbox);
stage.setScene (сахна); stage.show ();
Енді кодты құрастырып, іске қосыңыз және ол жұмыс істейтінін тексеріңіз. Экранның оң жағында қызыл жолақтар ретінде пайда болатын қателерді табу үшін NetBeans пайдаланыңыз. Сізде қателер болмайынша, бұл жұмысын жалғастырыңыз және жоба іске қосылады.
Кодтауды аяқтағаннан кейін, адамдар сіздің кодыңыздың не істейтінін көруі үшін сіздің кодыңыздың Javadoc құруды ұсынамын. Мұны істеу үшін экранның жоғарғы жағындағы «Іске қосу» түймесінің астында «Javadoc құру» түймесін басыңыз. Сіз менің Javadoc көшірмесін бірінші беттегі zip файлының ішінен қарап, index.html файлын таңдау арқылы таба аласыз.
7 -қадам: біздің банк файлын құрастыру және орау
Сіз жеткілікті түрде қатені түзетіп, оны сәтті іске қосқаннан кейін, оны ақырында JAR файлына жинақтауға болады, оны жариялауға болады, осылайша басқалар бұл бағдарламаны NetBeans немесе Jsoup қажет етпей іске қоса алады.
Қолданбаны жасамас бұрын, бәрі орындалғанына көз жеткізіңіз. Егер сіз құжаттаманы қосқыңыз келсе және JavaDoc құрғыңыз келсе, оны жалғастырыңыз. Егер сіздің консольге басып шығаратын System.out пәрмендері болса, оларды жойыңыз. Негізінде, сіздің қолданбаңызда қажетсіз пәрмендер мен функциялар жоқ екеніне көз жеткізіңіз, және оны орау үшін қажет нәрсенің бәрі бар.
Осыдан кейін NetBeans ішіндегі жоба атауын тінтуірдің оң жақ түймесімен нұқыңыз. Ол мәзірді ашуы керек. Сипаттар түймесін басыңыз (мәзірдің төменгі жағында), содан кейін жаңа қалқымалы мәзірдің сол жағындағы «Қаптама» түймесін басыңыз. Енді барлық құсбелгілердің белгіленгеніне көз жеткізіңіз. Сіздің экран жоғарыдағыдай болуы керек.
Мұны жасағаннан кейін, NetBeans -те жобаңызды тағы бір рет тінтуірдің оң жақ түймесімен нұқыңыз. Осы кезде «Тазалау және құрастыру» түймесін басыңыз, сонда NetBeans сіздің кітапханалар мен файлдарды қабылдап, оларды жұмыс істейтін JAR файлына жинай бастайды. Егер бәрі ойдағыдай болса, консольде бірнеше минуттан кейін сіздің JAR компиляциясы аяқталғанын және файлды енді іске қосуға болатындығы туралы хабарды көресіз. Бұл қолданбаны іске қосыңыз және бәрі жұмыс істейтініне көз жеткізіңіз. Олай болмаған жағдайда, қателер жойылғанша процесті жөндеңіз және қайта бастаңыз.
8 -қадам: Құттықтаймыз
Құттықтаймын! Егер сіз барлық нұсқауларды дұрыс орындасаңыз және бәрін жақсы кодтасаңыз, онда сіздің жеке жұмыс қосымшаңыз болуы керек. Керемет нәрсе, енді сіз немесе сіздің электрондық кестеге кіре алатын кез келген адам деректерді өңдегенде, сіздің қолданба жаңа деректерді өзгерте және оларға жауап бере алады. Міне, менікі қалай болғандығы туралы жылдам бейне.
Егер сіз жетілдіру мен құруды жалғастырудың жолдарын іздесеңіз, мен JavaFX -тің FancyText немесе FancyButton сияқты кейбір қосымша мүмкіндіктерін тексеруге кеңес беремін, ол сіздің қосымшаңызға соңғы графиканы қосады. Сәттілік тілеймін, егер сізге қандай да бір көмек қажет болса немесе менің кодымдағы қатені байқасаңыз, пікір қалдырыңыз!
Ұсынылған:
Сандық сағат жарықдиодты нүктелік матрица - ESP Matrix Android қосымшасы: 14 қадам
Сандық сағатты жарықдиодты матрица - ESP Matrix Android қосымшасы: Бұл мақала PCBWAY.PCBWAY -мен мақтанышпен демеушілікке ие, бүкіл әлемдегі адамдар үшін жоғары сапалы ПХД прототипін шығарады. Өзіңізді сынап көріңіз және PCBWAY -де өте жақсы сапада 5 долларға 10 ПХД алыңыз, рахмет PCBWAY. Мен ойлап тапқан ESP матрицалық тақтасы
IoT Halloween асқабақ - Arduino MKR1000 және Blynk қосымшасы бар жарық диодтары ???: 4 қадам (суреттермен)
IoT Halloween асқабақ | Arduino MKR1000 және Blynk қосымшасының көмегімен светодиодтар ???: Барлығына сәлем, Бірнеше апта бұрын Хэллоуин болды, мен дәстүр бойынша балконыма жақсы асқабақ ойып алдым. Бірақ сыртта асқабағым болғанда, мен шамды жағу үшін әр кеш сайын көшеге шығудың ыңғайсыз екенін түсіндім. Және мен
Интернетте Nodemcu көмегімен Blynk қосымшасы арқылы басқаруды басқару: 5 қадам
Интернетте Nodemcu арқылы Blynk қолданбасы арқылы басқаруды басқару: Барлығына сәлем Бүгін біз сізге Интернетте смартфонды қолданып жарықдиодты қалай басқаруға болатынын көрсетеміз
Менің бірінші Java қосымшасы: 6 қадам
Менің бірінші Java қосымшасы: Сіз өзіңіздің java қосымшасын жасағыңыз келе береді, бірақ оны қандай да бір себептермен кейінге қалдырасыз ба? Сіз «ертең мен мұны жасаймын» деген сөзді естисіз бе? Бірақ бұл ертең ешқашан келмейді. Сонымен, сіз дәл қазір бастауыңыз керек, енді сіздің үйіңізді алуға уақыт келді
MCU түйінінің 4 порттық релелік модулі, Blynk қосымшасы, IFTTT және Google Home. Пайда ?: 5 қадам
MCU түйінінің 4 порттық релелік модулі, Blynk қосымшасы, IFTTT және Google Home. Пайда?: Бұл пост Google үйін NodeMCU мен blynk қосымшасымен қалай қосуға болатыны туралы, сіз қарапайым blynk басқарылатын NodeMCU қосқышы мен google көмекшісімен өз құрылғыларыңызды басқара аласыз, осылайша, рұқсат етіңіз, Ok Google .. Thyty қосыңыз