IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Créer une application Android permettant d'ouvrir un site web http


Sujet :

Android

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 10
    Par défaut Créer une application Android permettant d'ouvrir un site web http
    Bonjour,
    J'aimerai simplement créer une application pour android qui afficherait un site web.
    J'ai téléchargé JDK, SDK, ADT.
    Auriez-vous un exemple de programme qui effectuerait cela ?
    serais-t-il également possible de par exemple au lieu de télécharger les images du site en question,charger les images de l'application android en question (dossier images identique sur le site et sur l'application android). si oui, Auriez-vous un exemple de programme qui effectuerait cela ?
    Merci d'avance
    klyrdee

  2. #2
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 587
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 587
    Par défaut
    Bonjour, Je ne comprends pas tu veux juste un navigateur web?

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 10
    Par défaut
    Citation Envoyé par kevin254kl Voir le message
    Bonjour, Je ne comprends pas tu veux juste un navigateur web?
    Non le site web existe deja, moi je souhaite avoir un applications android qui quand je l'ouvre m'envoie direct sur le site web mais n'affiche pas les images du sites web mais celle qui sont dans son application (même dossier images ) résultat reviendrai au même sauf que ça permettrai d'aller plus vite

  4. #4
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Places tes images dans le dossier /assets de ton projet, puis attaques la partie code :
    1) Récupères via HttpClient le code HTML de ton serveur comme une grosse chaîne de caractère
    2) Appliques un traitement sur cette chaîne pour remplacer tout les chemins du serveur par leur équivalent local. Exemple : <img src="logo.png"/> devient <img src="file:///android_asset/logo.png"/>
    3) Procède au rendu graphique de cette chaîne via une WebView : webView.loadDataWithBaseURL(null, la_grosse_chaine_html, "text/html", "utf-8",null);
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 10
    Par défaut
    Citation Envoyé par Hephaistos007 Voir le message
    Places tes images dans le dossier /assets de ton projet, puis attaques la partie code :
    1) Récupères via HttpClient le code HTML de ton serveur comme une grosse chaîne de caractère
    2) Appliques un traitement sur cette chaîne pour remplacer tout les chemins du serveur par leur équivalent local. Exemple : <img src="logo.png"/> devient <img src="file:///android_asset/logo.png"/>
    3) Procède au rendu graphique de cette chaîne via une WebView : webView.loadDataWithBaseURL(null, la_grosse_chaine_html, "text/html", "utf-8",null);
    d'accord, je vois plus ou moins ce que tu essais de m'expliquer mais comme je débute a peine dans ce genre d'application je risque de pas mal galerer dans le meilleur des cas
    en tous cas merci, c'est deja pas mal

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 10
    Par défaut
    J'ai essayer de faire du mieux que j'ai pu mais pour modifier les chemin d'acces des photos je sais pas comment m'y prendre quels fonction utiliser ? ou ? ect.


    voila mon code:
    AndroidManifest.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="ssigg_castleclash.fr.ssigg_castleclash" >
     
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name=".MyActivity"
                android:label="@string/app_name"
                android:screenOrientation="landscape"
                android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
     
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
        <uses-permission android:name="android.permission.INTERNET" />
     
    </manifest>

    activity_my.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MyActivity">
     
        <ImageView
            android:id="@+id/splashLoading1"
            android:layout_height="match_parent"
            android:layout_width="match_parent"
            android:visibility="visible"
            android:src="@mipmap/splash_loading"/>
     
        <WebView
            android:id="@+id/activity_main_webview"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
     
    </RelativeLayout>

    MyActivity.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    package ssigg_castleclash.fr.ssigg_castleclash;
     
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
     
     
    import android.app.Activity;
    import android.view.View;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
     
     
     
    public class MyActivity extends Activity {
     
        private WebView mWebView;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my);
     
            mWebView = (WebView) findViewById(R.id.activity_main_webview);
            WebSettings webSettings = mWebView.getSettings();
            webSettings.setJavaScriptEnabled(true);
            mWebView.loadUrl("http://www.ssigg-castleclash.com");
            mWebView.setWebViewClient(new MyAppWebViewClient(){
                @Override
                public void onPageFinished(WebView view, String url) {
                findViewById(R.id.splashLoading1).setVisibility(View.GONE);
                findViewById(R.id.activity_main_webview).setVisibility(View.VISIBLE);
                }});
        }
     
        @Override
        public void onBackPressed() {
            if(mWebView.canGoBack()) {
                mWebView.goBack();
            } else {
                super.onBackPressed();
            }
        }
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.menu_my, menu);
            return true;
        }
     
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
     
            //noinspection SimplifiableIfStatement
            if (id == R.id.action_settings) {
                return true;
            }
     
            return super.onOptionsItemSelected(item);
        }
     
        private class MyAppWebViewClient extends WebViewClient {
        }
    }
    MyAppWebViewClient.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    package ssigg_castleclash.fr.ssigg_castleclash;
     
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.content.Intent;
    import android.net.Uri;
     
     
     
     
    public class MyAppWebViewClient extends WebViewClient {
     
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if(Uri.parse(url).getHost().endsWith("ssigg-castleclash.com")) {
                return false;
            }
     
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            view.getContext().startActivity(intent);
            return true;
        }
    }

    voila, je bloque vraiment donc aidé-moi

    merci d'avance

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 10
    Par défaut
    J'ai essayer de faire du mieux que j'ai pu mais pour modifier les chemin d'acces des photos je sais pas comment m'y prendre quels fonction utiliser ? ou ? ect.


    voila mon code:
    AndroidManifest.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="ssigg_castleclash.fr.ssigg_castleclash" >
     
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name=".MyActivity"
                android:label="@string/app_name"
                android:screenOrientation="landscape"
                android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
     
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
        <uses-permission android:name="android.permission.INTERNET" />
     
    </manifest>

    activity_my.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MyActivity">
     
        <ImageView
            android:id="@+id/splashLoading1"
            android:layout_height="match_parent"
            android:layout_width="match_parent"
            android:visibility="visible"
            android:src="@mipmap/splash_loading"/>
     
        <WebView
            android:id="@+id/activity_main_webview"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
     
    </RelativeLayout>

    MyActivity.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    package ssigg_castleclash.fr.ssigg_castleclash;
     
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
     
     
    import android.app.Activity;
    import android.view.View;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
     
     
     
    public class MyActivity extends Activity {
     
        private WebView mWebView;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my);
     
            mWebView = (WebView) findViewById(R.id.activity_main_webview);
            WebSettings webSettings = mWebView.getSettings();
            webSettings.setJavaScriptEnabled(true);
            mWebView.loadUrl("http://www.ssigg-castleclash.com");
            mWebView.setWebViewClient(new MyAppWebViewClient(){
                @Override
                public void onPageFinished(WebView view, String url) {
                findViewById(R.id.splashLoading1).setVisibility(View.GONE);
                findViewById(R.id.activity_main_webview).setVisibility(View.VISIBLE);
                }});
        }
     
        @Override
        public void onBackPressed() {
            if(mWebView.canGoBack()) {
                mWebView.goBack();
            } else {
                super.onBackPressed();
            }
        }
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.menu_my, menu);
            return true;
        }
     
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
     
            //noinspection SimplifiableIfStatement
            if (id == R.id.action_settings) {
                return true;
            }
     
            return super.onOptionsItemSelected(item);
        }
     
        private class MyAppWebViewClient extends WebViewClient {
        }
    }
    MyAppWebViewClient.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    package ssigg_castleclash.fr.ssigg_castleclash;
     
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.content.Intent;
    import android.net.Uri;
     
     
     
     
    public class MyAppWebViewClient extends WebViewClient {
     
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if(Uri.parse(url).getHost().endsWith("ssigg-castleclash.com")) {
                return false;
            }
     
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            view.getContext().startActivity(intent);
            return true;
        }
    }

    voila, je bloque vraiment donc aidé-moi

    merci d'avance

  8. #8
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Tu n'as respecté aucune des étapes que j'ai donnée.

    Pour l'étape 1, tu récupères la chaîne source HTML de la page web avec HttpURLConnection
    Pour l'étape 2, tu effectues un remplacement de chaîne (méthode replaceAll de la classe String) à l'aide d'une expression régulière probablement
    Pour l'étape 3, c'est mWebView.loadDataWithBaseURL() et non pas mWebView.loadUrl()
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  9. #9
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 10
    Par défaut
    ah oui d'accord ok bon ben je recommence tous. ma question est peut-etre idiote mais si le site est fait en php, html,css,javascript et mysql, cela pose un probleme
    merci

  10. #10
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Ca ne change rien.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

Discussions similaires

  1. Créer une application iOS permettant d'ouvrir un site web http
    Par Klyrdee dans le forum Développement iOS
    Réponses: 5
    Dernier message: 27/06/2015, 15h05
  2. Réponses: 10
    Dernier message: 27/10/2013, 11h21
  3. Créer une application Android
    Par trihanhcie dans le forum Android
    Réponses: 2
    Dernier message: 30/07/2013, 13h10
  4. Réponses: 1
    Dernier message: 25/05/2013, 17h59
  5. Réponses: 5
    Dernier message: 18/08/2011, 12h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo