Kuidas teha oma App Browser Android. Parimad androidi brauserid. Veebibrauseri täiendav paigaldamine siseliinidele üleminekuks
Lugupeetud, ma olen üliõpilane BCA. Ma pean viimasel poolaastal ühe projekti tegema. Seetõttu otsustasin luua veebis, mis töötab Android OS-is, kuid ma olen selle taotluse jaoks täiesti. Niisiis, kas keegi aita mind selles aidata. Olen juba installinud kõik vajalikud vahendid, näiteks JDK, Android SDK 3.0, Eclipse. Aga nüüd ei ole mul aimugi, kus ma peaksin alustama brauseri arendamist. Seetõttu aita mind ... Mul on selle projekti jaoks ainult kaks kuud. Nii et kas on võimalik pärast 2 kuud või mitte?
See sõltub sellest, mida sa mõtled brauseri arendamisel ...
Brauseri mehhanismi arendamine + nullist renderdamine on palju tööd, kuid saate hõlpsasti luua Androidsi Webview brauseri Webviewcliendi abil ja luua uue kasutajaliidese, muutes kasutaja suhtlemise meetodit brauseriga.
Webview'il on brauseriga suhtlemiseks suhtlema igasuguseid pealtvaateid, nii et saate seda lihtsalt laiendada. Näiteks saate lubada kasutajalt ülevoolu lehekülgi (näiteks Google Fastflip), katsetades 3D-ga, tehes OpenGL-ruumis kuvatava veebilehe (näiteks sfääri brauseris) jne.
Lähtepunktina vaadake blogi Alexander Kameki ja tema Mosambro projekti, mis laiendab Androidi brauserit Micormat'i toetuse lisamisega.
See kõlab nagu tõesti suur projekt ja seetõttu ei saa te lihtsalt alustada nullist ja kirjuta see alla. Te peate koostama plaani selle kohta, kuidas soovite rakendada kõik osad, klasside salvestusdiagrammid jne. Kui te õpite arvutiteadust, siis oleksite pidanud sellest kuulma eelmistes semestristides.
Kõigepealt peate endalt küsima, kas see projekt on võimalik Nagu näete kommenteerimast, enamik inimesi nõustub, et te ei tohiks seda ülesannet alahinnata!
Ma tõesti soovitan teil mõista selle ülesande ulatust, siin on Androidsi brauseri lähtekood, mis annab teile idee selle keerukusest.
Põhiline brauseri loomine võib teha iga päev või kaks nende jaoks, kellel on kogemus Androidi arendamisel, samuti teised väitsid, et Webview pakub peaaegu kõike, mida vajate veebilehe kuvamiseks. JavaScripti ja muude funktsioonide jaoks on mitmeid seadeid ja seejärel pärast URL-i peamist tekstikasti märgistamist ja GO URL-i, mis on suures osas peamine veebibrauser.
Tegelik töö on kõikides laiendatud seadetes. Brauseri loomine, kes konkureerib suurte poisid, võib-olla ühe inimese jaoks natuke raske, kuid teha midagi, mis töötab, väga võimalik. Proovige!
Täieliku veebibrauseri loomiseks Androidis kasutate Webviewi.
Lihtne siduv kood:
Webview WV \u003d (Webview) FindViewbyid (R.ID.Webview1); WV \u003d (Webview) FindViewbyid (R.ID.Webview1); Wv.loadurl ("http://www.apsmind.com");
Uuring programmeerimine Android Ma hakkasin mitte nii kaua aega tagasi. Pärast EcLips reetis minu esimene hello sõna, tahtis kohe rohkem: paljusid plaanid ja suured ideed tekkisid. Üks selline idee oli kirjutada oma brauseri. Ma arvan, et paljud algaja programmeerijad on olnud selline soov. Need on minu nõuded tarnitati ja mis lõpuks juhtus.
- Programm peaks avama lingid ülemaailmse võrgustiku, et vabalt liikuda lehekülgedel ja tahapoole;
- Suutma faile alla laadida ja võrku tagasi alla laadida;
- Loo järjehoidjaid ja salvestage need;
- Suutma teistest rakendustest saadetud linke alla laadida;
- Seal peab olema kodulehekülg, menüü, millel on erinevad seaded jne.
Üldiselt on täieõiguslik brauser oma kätega. Ma kehastan koodis.
Programm on kirjutatud Androidis sisalduva standardse Webview alusel. Ma kasutan Yandexi alguslehena, see on maitse küsimus. Kuna põhitegevus on makkusvõime.
Esiteks määran Määrake XML-faili -afity_main.xml märgi. Peamise konteinerina kasutame linearlayout - me Wrap IT Progressbar kuvada boot protsessi. Järgmisena looge teine \u200b\u200blinearlayout konteiner - wrap meie Webview ja FrameLayout (seda kasutatakse venitada video mängitav kogu ekraanil).
Vaata koodi
Linearlayout XMLNS: Android \u003d "http://schemas.android.com/apk/res/android" XMLNS: tööriistad \u003d "http://schemas.android.com/tools" Android: Layout_width \u003d "Match_parent" Android: Layout_eight \u003d "Match_parent" android: orientatsioon \u003d "Vertikaalsed" tööriistad: kontekst \u003d ". Majajõuline"\u003e
Kirjutagem koodi mainjoa
Täielik maintektiivsuse kood.
Vaata täielikku koodi
Import java.io.file; Import android.r.menu; Import android.annotation.supressliint; Import android.app.acturbar; Importida android.app.aktiivsus; Import android.app.AlertDialog; Import android.app.downloadmanager; Import android.app.downloadmanager.request; Import android.app.Keyguardmanager; Import Android.app.SearchManager; Import android.content.broadcastreceiver; Import android.content.Context; Import android.content.Dialoginterface; Importida android.content.intenti; Import android.content.intentfilter; Import android.content.Sharedpreferents; Import android.net.uri; Import android.os.blunle; Import android.os.Enviirkond; Import android.os.pacelable; Import android.os.powermanager; Import android.preference.Prefeicanager; Import android.provider.Mediastore; Import android.util.log; Import android.view.KeieVent; Import android.view.menu; Import android.view.Menuitem; Import android.view.View; Import android.view.windowManager; Import android.webkit.ConsoleSage; Import android.webkit.downloadListener; Import android.webkit.ValuecalLback; Import android.webkit.webbackforistinglist; Import android.webkit.webchromeclient; Import android.webkit.webView; Importida android.webkit.webviewclient; Import android.widget.framelayout; Importida android.widget.SearchView; Import android.widget.toast; Import android.Graphics.bbitMap; Import android.webkit.urlutil; Avaliku klassi mainevõime laiendab aktiivsust (// Boole staatus ühendi Boole'i \u200b\u200bisintenetrberent \u003d False; Connecteder CD; Private WebChromeclienti Aktiivsuse aktiivsus \u003d see; avalik Uri Imageri; privaatne staatiline lõplik int filechoser_resultcode \u003d 2888
Projekti saab alla laadida
Android võimaldab teil luua oma akna veebilehtede vaatamiseks või isegi brauseri klooni loomiseks objekti abil. Element ise kasutab WebKit mootorit ja neil on palju omadusi ja meetodeid. Me piirame end põhilise näitena taotluse loomisest, millega saame vaadata interneti lehekülgi. Viimastes versioonides kasutatakse kroomi mootorit, kuid selle lihtsate ülesannete jaoks ei ole suurt erinevust.
Loo uus projekt Mybrowser. ja kohe asendada koodi märgistuse faili res / paigutus / tegevus_main.xml:
Nüüd avage tegevusfail Maincerctivity.java. Ja me kuulutame komponendi, samuti initsialiseerida selle - lisada toetus JavaScripti ja määrake leht allalaadimiseks.
Private Webview Webview; Avalik void onCreate (Bundle SavedinstanceState) (Super.OnCreate (SalvediinstanceState); SetcontentView (R.Layout.activity_main); Webview \u003d FindViewbyid (R.ID.Webview); // Võimaldab toetada JavaScript Webview.Metsettings () Setjavascriptenable (TRUE). ; // Määrake Webview.loaduri allalaadimise leht ("http: // saidi / android");)
Kuna rakendus kasutab internetti, peate seadistama luba Interneti-ühenduse avamiseks manifesti failis.
Seal muudame manifesti ekraani joont, eemaldades pealkirja meie taotlusest (esiletõstetud rasv):
Alusta rakendus. Meie käsutuses ilmus kõige lihtsamate veebilehtede vaade, kuid ühe puudusega. Kui klõpsate mis tahes lingile, käivitate automaatselt vaikimisi brauseri ja uus leht kuvatakse juba olemas. Täpsemalt oli see enne. Uute seadmete kohta rakenduse käivitamisel avaneb brauser kohe.
Selle probleemi lahendamiseks ja oma programmi avatud linkide lahendamiseks peate klassi tühistama Webviewclient. Ja lubage meie taotlusel lingide töötlemiseks. Lisage investeeritud klass koodis:
Eraklassi MyWeBViewclient laiendab Webviewclient (@targetapi (buildge.version_codes.n) @override avalik boolean pressoverrireadure (webview vaade, webresourcrequest taotluse) (View.loadur (päringu.getsedurl () tostring ()) ;. Tagasi tõsi;) // Vana @override Avalik Boolean ShoulderHoulding (View.loadur (URL); tagastage tõsi;))
Seejärel meetodi onCreate () Koopia Mywebviewclient.. See võib olla kõikjal pärast objekti initsialiseerimist:
Webview.SetWebViewclient (uus MywebViewclient ());
Nüüd meie loodud lisas Webviewclient.mis võimaldab teil alla laadida mis tahes määratud URL-i, mis on valitud konteineris, ja mitte brauseri käivitamist. See funktsionaalsus vastutab meetodi eest, milles me määrame praeguse ja vajaliku URL-i. Tagastamise väärtus tõsi. See viitab sellele, et me ei pea alustama kolmanda osapoole brauserit ja juhtige iseseisvalt lingi sisu. API 24 versioonis on lisatud meetodi ülekoormatud versioon lisanud seda asjaolu.
Käivitage programm ja veenduge, et lingid laaditakse nüüd rakenduses alla. Aga nüüd tekkis teine \u200b\u200bprobleem. Me ei saa eelmisele lehele naasta. Kui me klõpsame seadme tagaküljele, sulgege oma rakendus. Uue probleemi lahendamiseks peame käsitsema nupuga nuppu Tagasi. Lisame uue meetodi:
@Override avalik void onbacpeprested () (kui (webview.cangoback ()) (webview.goback ());) mujal (Super.Onbacprested
Peame kontrollima, et toetab eelmise lehe navigeerimist. Kui seisund on tõsi, siis nimetatakse meetodit mine tagasi ()mis tagastab meid eelmisele lehele ühe sammu tagasi. Kui on mitmeid selliseid lehekülgi, siis saame järjekindlalt tagasi esimesele lehele. Sel juhul tagastab meetod alati väärtus. tõsi.. Kui me naaseme esimesele lehele, millega reisimine internetis algas, on väärtus tagasi. vale Ja tagasilöögi nupu tagamise nupp on juba süsteemi ise, mis sulgeb rakenduste ekraani.
Käivitage rakendus uuesti. Sul on oma veebibrauser, mis võimaldab teil minna lingidele ja naasta eelmisele lehele. Olles dokumentatsiooni õppinud, saate oma brauserile varustada rakenduse ja teisi maitsvaid kuklid.
Kui teil on vaja osa linkidest, mis viib teie saidi avamiseks brauseris avamiseks ja kohalike linkide avamiseks rakenduses kohalikud lingid, siis rakendage erineva tagastatud väärtustega seisundit.
Avalik klass MyWeebViewclient laiendab Webviewclient (@override avalik Boolaan Shoulirosage (URI (URL), Uri.Parse (URL)); View.getContext (). Starterity (kavatsus);
Universaalne meetod, et kõik kohalikud lingid avanevad rakenduses, ülejäänud brauseris (ühe rea vahetamine):
Avalik klass MyAppwebViewclient laiendab Webviewclient (@override Avalik Boolean Shoulirolouliroloading (Webview View, String URL) ( iF (URI.PARSE (URL) .GETHOST () Pikkus () \u003d\u003d 0) (Tagasi vale;) kavatsuse tahtmine \u003d uus kavatsus (intent.action_view, Uri.Parse (URL)); View.getContext (). starterity (kavatsus); Tagasi tõsi; )
Ja nüüd vähe keeruliseks näide, nii et kasutaja on alternatiiv standard brauserid.
Selleks, et olla selgemaks, uuendame eeskuju järgmiselt. Luua kaks tegevust. Esimeses tegevuses asetage nupp teisele aktiivsusele vahetamiseks ja komponendi teisele aktiivsusele.
Manifestis määrame teise tegevuse eest filtri.
Teisele aktiivsusele ülemineku nupu kood.
Avalik void onclick ("kavatsusest intensiivse \u003d uus kavatsus"; kavatseb.setdata (Uri.Parse ("http: // Site / Android /")); starteriivsus (kavatsus);)
Oleme loonud oma kavatsuse filtri ja andis andmed - aadress saidi.
Teine tegevus peaks võtma andmeid:
Pakett ru.alexanderklimov.Tapplication; Import android.net.uri; Import android.support.v7.app.appcompactivity; Import android.os.blunle; Import android.webkit.webView; Importida android.webkit.webviewclient; Avaliku klassi parlamentaktiivsus laiendab AppCompatactivity (SavedinstanceState); SetcontentView (R.Layout.ActiveVity_Second); URI URL \u003d GetStunt (). Getdata (); Webview Webview \u003d FindViewbyid (R.ID.Webview); Webview.StewebViewclient (uus tagasihelistamise ()); Webview.loadurl (URL.Tostring ()); ) Eraklassi tagasihelistamise laiendab Webviewclient (@override Avalik Boolean Shoulirounding (tagastamine (FALSE);))))
Teise tegevuse filtril märkisime kahte tegevust.
See tähendab, et iga tegevus (lugemis-, rakendusi) võivad põhjustada teie tegevust minibrauseriga vastavalt samale põhimõttele. Alusta stuudios eraldi aknas iga vana projekt või luua uus ja lisage nupp ja kirjutage sama koodi, mida me kasutasime nupule klõpsamiseks.
Käivitage teine \u200b\u200brakendus (esimene rakendus saab sulgeda) ja klõpsa nupule. Te ei alusta esimest rakendust esialgse ekraaniga, vaid kohe teise aktiivsusega minibrauseriga. Seega võib iga rakendus alustada brauserit, ei tea oma tegevuse klassi nime, vaid kasutage ainult stringi "Ru.alexanderklimov.Browser"edastatud B. Kavatsus. Samal ajal peab teie tegevus brauseriga olema vaikimisi kategooria ja andmed. Lubage mul teile meelde tuletada:
Saate oma stringi esitada stringi konstantse vormis ja teavitab kõiki teie brauseri potentsiaalseid kasutajaid, sest nad saavad seda käivitada. Aga Androidil on juba selline valmis konstantne Action_View.mis dokumentatsiooni abil on järgmine:
Avaliku staatiline lõplik java.lang.string action_view \u003d "android.intent.action.View";
Ma kirjutan teise taotluse nupu koodi ümber
Kavatsus (android.content.intent.action_view, Uri.Parse ("http: // sait / android /"); Starteriivsus (kavatsus);
Mis seekord juhtub? Me mäletame, et meil on kaks tegevust, sealhulgas android.intent.action.View.. Niisiis, meie esimene rakendus brauseriga peaks ka seda käsku ka tunnustama, kui kasutaja kasutab seda koodi. Emulaatoris on vähemalt üks selline programm "brauser" ja nüüd on meie teine \u200b\u200btegevus esimesest rakendusest lisatud. Ekraanile ilmuvad kahe rakenduse valik.
Ja kui kustutate kõik alternatiivsed brauserid ja jätta ainult teie programm, siis ei ole valik. Teie brauser on peamine. Ja kui mõned rakendused tahavad alustada veebilehte määratud viisil, avaneb teie programm.
Väike märkus. Kui asendate viimane rida sellisele:
Starteriivsus (kavatsus.createchooser (kavatsus, "meow ..."));
Programmi valikuaknas ilmub teie rida tippjoon "avatud" või selle kohaliku tõlke asemel. Aga see ei ole peamine asi. Kui mingil põhjusel ei ole seadet brauserit, siis see koodi valik ei põhjusta rakenduse kokkuvarisemist erinevalt algsest valikust. Seetõttu kasutage kavandatavat võimalust usaldusväärsuse huvides.
Loome uue rakenduse - brauseri Android-seadmete jaoks, oma kätega, see on huvitav ja koodil pole palju.
Android brauseri rakendus
Alusta Android Studio ja luua uus projekt, rakenduse nimi Minu sait, ettevõtte domeen teie äranägemisel sisestasin saidi domeeni saidi. Me klõpsame järgmises vahekaardil järgmisel, jätke kõik ilma muutmata, klõpsake nuppu Edasi, seejärel juba valitud Tühi tegevus, Ma jätan selle, siis viimases vahekaardil ma muudab paigutuse nime aktiivsuse_main peamine ja vajutage viimistlust.
Android Studio. Projekti failide valmistamine, see võtab aega. Peaakna avab kaks faili, main.xml. ja Maincerctivity.java.Alustame viimasel töötamist. Muuda laiendatud appcompompactiivity tegevust, hoidke.
Lubade lisamine ilmneb
Seejärel avage fail Androidmanifest.xml. ja lisage pärast esimest osa kasutaja luba kasutaja-luba,
mida meie rakendusel oleks juurdepääs internetile. Salvesta ja sulgege androidmanifest.xml.
Mine faili. Main.xml.See on teel Res / Layout / Main.xml, kustutage Android string: Text \u003d "Tere sõna!" Täielikult muutke Webview TextView, peamise kihi relativelayout'i omadustest eemaldage tarbetud taandurid (Paddingbottom, Poldingleft, PaddingRight, PadingTop).
Webview lisamiseks Android vara: ID \u003d "@ + ID / Webview", Muuda Android: Layout_Width \u003d "Wrap_Content" ja Android: Layout_Height \u003d "Wrap_Content" Android: Layout_Parent \u003d "Match_parent" ja Android: Layout_ehent \u003d "Match_parent" jaoks Mis meie element Webview oli kogu ekraanil.
Koodid loogika Java
Main.xml-faili abil lõpetasime, liigume Maincerctivity.java.. Lisa muutuja wV. Tüüp Webview.Me määrame selle elemendi, leides selle leidmisega FindViewbyid () funktsiooni abil, kirjeldame WV-seadeid, eelkõige Java skriptide WV-ekraanil, määrake meie brauseri saidi allalaadimise aadressi, käivitan Yandexi, rakendan LanderTL-funktsiooni (" http: // ya.ru ").
avaliku klassi mainekuse laiendab tegevust (Webview WV; @override kaitstud void onCreate (Super.onCreatiinstance) (SUPER.ONCREADATE); SetcontentView (R.Layout.main); WV \u003d (Webview) FindViewbyid (R.ID.Webview); Veebid Seaded \u003d wv.getsette (); seaded
Samuti alltoodud me kirjutame käitlemise vajutage nuppu Tagasi seadmesse.
@Override avalik void onbacpepress () (kui (wv.cangoback ()) (wv.goback ();) mujal
Käivitage rakendus emulaatoris
Vajutage nuppu Start, see on tööriistaribal roheline kolmnurk AndroidStudio.Meie emulaator algab ja kui kõik on tehtud õigesti, hakkab YANDEX-otsing brauseris, saate virtuaalsele klaviatuurile panna ja midagi otsida, kõik toimib hästi.
Sulgege programm ilma emulaatorita sulgemata, klõpsates punase ristkülikuga, see peatub alguse asemel, muuta aadress suvaliseks, i "propiaria" minu sait "https: // sait",
klõpsake nuppu Salvesta ja uuesti käivitage seekord, seekord kõik juhtub kiiremini, saidi ümber liikumine Androidi programmeerimisosas on artiklid ja videod AndroidStudio installimise ja seadistamise seadistamiseks android-emulaatoriks ja programmide lihtsateks näideteks.
Täistekst Androidmanifest.xml
Täiste tekst Main.xml
Täisteksti maine.java.
pakett ru.maxfad.mysite; Importida android.app.aktiivsus; Import android.os.blunle; Import android.webkit.Webseettings; Import android.webkit.webView; Importida android.webkit.webviewclient; Avaliku klassi mainekuse laiendab tegevust (Webview WV; @override kaitstud void onCreate (Super.onCreatiinstance) (SUPER.ONCREADATE); SetcontentView (R.Layout.main); WV \u003d (Webview) FindViewbyid (R.ID.Webview); Veebid Seaded \u003d wv.getsettings (); Seaded ) Muud (Super.On Ackerpressioon ();))))
Selles videos näidatakse üksikasjalikult, kuidas luua android-seadmete brauserirakendus:
Oleme juba alustanud end täielikult turvaliselt isikliku tarkvaraga, pidage meeles meie imelist kalkulaatorit ja konverterit. Ja selles õppetund, me õpime, kuidas luua lihtne brauser, mille abil lükake Interneti-ruumid. Nõustuge, surfage võrku oma brauserile - see on meeldivam kui see ooper või kroomi tegemine (vaevalt mugavam, kuid meeldivam :)). Loo uus projekt, nimed traditsiooniliselt valida ise. Isiklikult ma üldiselt ei loo kõike alates nullist iga kord, aga ma lihtsalt avan, mis on, ja ma puhastasin kogu koodi algse oleku tühja tegevuse. Tehke, kui mugavam teile.
Seega kirjeldage lühidalt järelmeetmete mahtu ja spetsiifikat. Me peame looma üksuse
Alustame. Avage fail tegevus_main.xml.. Luua seal üks üks element
Märgistuse aken näeb välja selline:
Pärast seda saame faili kohe aru Androidmanifest.xml.. Avame selle ja lisame seal kaks rida, üks on Interneti kasutamise luba luba, teine \u200b\u200bon rakenduse stiili muutmine ja rakenduse "pealkirja" paneeli muutmine (paneelide päisega) Eesmärgiga pakkuda brauseri aknale rohkem ruumi lehekülgede kuvamiseks.
Kirjutame Interneti kasutamiseks loata enne Lag
Nüüd lisage meie seadistusse Tegevuskäsk peitmiseks pealkirja (alumine joon, mis on esile tõstetud rasva, asub ka Androidmanifest.xml.):
< activity android: name= ".MainActivity" android: label= android: teema \u003d "@android: stiil / teema.notitlebar" >Nüüd mine kõige olulisem ja vastutustundliku osa töö - kirjutades Java-koodi. Avage maincractivity.java fail ja kirjuta järgmised (selgitused on esitatud koodis pärast märke //, kes ei märgata):
pakett Home.MyApplication; Importida android.app.aktiivsus; Import android.app.AlertDialog; Import android.content.Contentvaluues; Importida android.content.intenti; Import android.daatabase.cursor; Import android.daatabase.sqlite.sqledatabas.; Import android.database.sqlite.sqliteopenhelper.; Import android.support.v7.app.Kahul; Import android.os.blunle; Import android.util.log; Import android.view.KeieVent; Import android.view.menu; Import android.view.Menuitem; Import android.view.View; Import android.webkit.webView; Importida android.webkit.webviewclient; Import android.widget.button; Import android.widget.editText; Import android.widget.radiobutton; Import android.widget.TextView; Avaliku klassi mainivaraktiivsus laiendab tegevust ( // kuulutada muutuva tüübi Webview Private Webview MWEB; // luua tüüpi veebibrauseri (Webviewclient), mis on konfigureeritud // Vaikimisi luba kõikide linkide töötlemiseks selles klassis, // viitamata kolmanda osapoole programmide: Private Class Webviewer laiendab Webviewclient ((Webview View, String URL) (Vaata Loadurl (URL); Tagasi tõsi;)) Avalik tühine onCreate (Bundle SavedinstanceState) (Super OnCreate (SalvedinstanceState);). // siduge Webview'i väljakuulutatud muutuja meie loodud USA loodud // Webview objekt tegevuses_main.xml faili: MWeb \u003d (webview) FindViewbyid (R. ID. Veeb); // Me ühendame selle elemendiga Java skripte: MWEB. Jõuab (). SEATJAVASCIPIFIPTER (TRUE); // konfigureerige leht, mis alla laaditakse käivitamisel, saate sisestada mis tahes: MWEB. Loadurl ( "http://developeroleg.ucoz.ru/"); // Brauseri kohandamine meie Webview elemendi jaoks ühendame ülaltoodud // veebitasi, kellega lehekülgi vaadatakse: MWEB. SetWebviewclient (uus webviewer ()); ) // Me kirjutame töötlemisjuhendi vajutamiseks seadme tagaküljele, mis võimaldab meil klõpsata // nupule "Tagasi", mine eelmisele lehele ja mitte ainult rakenduste sulgemiseks. // See sulgeb nupu "Tagasi" ainult siis, kui me oleme algamas // lehel, mis on eespool märgitud: @Override avalik void onbacpepressed () (kui (MWeb. Cangoback ()) (MWEB. Gaback ();) muu (Super. OnBacpeprested ();)))))))See on kõik! Tegelikult kõik on üsna lihtne ja pärast lühikest tööd on meil oma brauser, muidugi on üsna lihtne ja ei ole võimalusi, vaid mõista sisuliselt loomise selliste rakenduste, see on üsna piisav.