Visualizzazione stampabile
-
App per pagina web
Salve a tutti :)
Dovrei creare per uso personale un'applicazione che interagisca con una pagina web.
Quello che deve fare è prendere dei valori della pagina e farmeli visualizzare su un app con una GUI a mia scelta.
La pagina in questione non usa protocolli http o https, quindi "penso" e spero che i dati siano liberi. I dati che dovrò visualizzare sono personali.
Potete indirizzarmi da qualche parte? Sono un programmatore Ansi C, e di java conosco poco. Ma questo non mi crea problemi (sto già studiando la programmazione java e android). Quello che interessa a me è come impostare il progetto :)
Spero che qualcuno possa darmi una mano.
-
Ciao,
Per fare una Webview devi andare su layout.xml mettere la graphic view togliere "Hello world!" (capita che venga come default) e posizionare il blocco "WebView", adesso che si è creato il codice nel layout.xml devi andare a compilare il JavaDoc
Le righe fondamentali di codice Java per far funzionare una WebView sono queste (ovviamente sono esclusi i commenti):
WebView webview = new WebView(this);
setContentView(webview);
// Simplest usage: note that an exception will NOT be thrown
// if there is an error loading this page (see below).
webview.loadUrl("http://slashdot.org/");
// OR, you can also load from an HTML string:
String summary = "<html><body>You scored <b>192</b> points.</body></html>";
webview.loadData(summary, "text/html", null);
// ... although note that there are restrictions on what this HTML can do.
// See the JavaDocs for loadData() and loadDataWithBaseURL() for more info.
Cosa molto importante attivare il Javascript nel Javadoc:
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
Altra cosa fondamentale è aggiungere all'Androidmanifest.xml l'Autorizzazione a internet:
<manifest ... >
<uses-permission android:name="android.permission.INTERNET" />
...
</manifest>
Infine se vuoi che l'app tenga in memoria ram lo storico della navigazione e che grazie al taso indietro tu possa tornare all'ultima View devi inserire questa stringa di codice (inutile dirlo, da adattare al tuo progetto):
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// Check if the key event was the Back button and if there's history
if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) {
myWebView.goBack();
return true;
}
// If it wasn't the Back key or there's no web page history, bubble up to the default
// system behavior (probably exit the activity)
return super.onKeyDown(keyCode, event);
}
Segui questa guida, creata da Android developer (è in inglese, ma basta tradurre con Google translator): http://developer.android.com/guide/webapps/webview.html
Anche questa guida ti può essere molto utile, basta che non copi e incolli il loro codice nel tuo JavaDoc altrimenti non ne esci più fuori...: http://www.androidgeek.it/tutorials/...reare-web-app/