2011-03-04 12 views
11

Tenemos una versión móvil especial de nuestro sitio que nos gustaría promocionar en el mercado de Android. La "aplicación" sería efectivamente un acceso directo al sitio web, pero podría descargarlo y tener un ícono para él, al igual que cualquier otra aplicación.Crear aplicación de Android que actúa como un acceso directo a nuestro sitio móvil

¿Esto es posible? Si es así, ¿puedes vincularme a las instrucciones? No pude encontrar ninguna información buscando en google.

Gracias, Jonás

Respuesta

10

Esto es posible y bastante fácil.

Su aplicación sería una actividad única. Esa actividad crearía un nuevo intento basado en la información here on the google intents. La intención sería del tipo VIEW_ACTION y le daría una url como valor. Entonces será sólo tiene que hacer:

onCreate(Bundle bundle){ 
Intent myIntent = new Intent(Intent.VIEW_ACTION, Uri.parse("http://www.google.com")); 
startActivity(myIntent); 
} 

El resto del ejercicio es simplemente envolviendo que con la AndroidManifest.xml y ponerla en el mercado.

La alternativa sería proporcionar una vista web, pero eso no tiene sentido si su sitio web ya está diseñado para funcionar en un navegador móvil.

+0

aquí está un ejemplo sencillo: http://mobile.tutsplus.com/tutorials/android/launch-android-browser/ – ServAce85

+0

Es Intent.ACTION_VIEW no Intent.VIEW_ACTION – xtian

1

Simplemente haga una sola actividad que aloje una sola WebView y precargue con su url. Google ... es fácil loca

3
Uri uri = Uri.parse("http://www.example.com"); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(intent); 

Agregar a la línea de su archivo AndroidManifest.xml ..below

<uses-permission android:name="android.permission.INTERNET" /> 
-3

NOTA: Este proyecto contiene errores de compilación de Java, que puede causar fallos de renderizado vistas personalizadas. Solucione los problemas de compilación primero.

"<Intent>" does not set the required layout_width attribute: 
(1) Set to "wrap_content" 
(2) Set to "match_parent" 
"<Intent>" does not set the required layout_height attribute: 
(1) Set to "wrap_content" 
(2) Set to "match_parent" 
You must supply a layout_width attribute. 
You must supply a layout_height attribute. 

Las siguientes clases no pudieron ser encontrados:

- Intent (Fix Build Path, Edit XML) 
0

que tienen aplicación similar. Tiene una vista web y muestra el progreso mientras se carga su sitio.

Hay dos clases de recursos WebViewProgress.java: es fácil de entender. Este código funciona bien.

package com.promo.drr; 

import android.view.View; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.widget.ProgressBar; 

public class WebViewProgress extends WebViewClient { 
    private ProgressBar progressBar; 

    public WebViewProgress(ProgressBar progressBar) { 
     this.progressBar=progressBar; 
     progressBar.setVisibility(View.VISIBLE); 
    } 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     super.onPageFinished(view, url); 
     progressBar.setVisibility(View.GONE); 
    } 
} 

App.java

package CCCC; 

import android.content.Context; 
import android.content.SharedPreferences; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.DisplayMetrics; 
import android.webkit.WebView; 
import android.widget.ProgressBar; 
import android.widget.RelativeLayout; 

public class App extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main_promo); 

     DisplayMetrics metrics = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(metrics); 

     int height = metrics.heightPixels; 
     int width = metrics.widthPixels; 
     int progressSz = Math.min(height,width)/4; 
     int marginX = (width-progressSz)/2; 
     int marginY = (height-progressSz)/2; 

     ProgressBar progress = (ProgressBar)findViewById(R.id.progressBar); 
     RelativeLayout.LayoutParams margineParam = (RelativeLayout.LayoutParams) progress.getLayoutParams(); 
     margineParam.setMargins(marginX, marginY,marginX,marginY); 
     progress.setLayoutParams(margineParam); 

     WebView wv = (WebView) findViewById(R.id.webview); 
     wv.getSettings().setJavaScriptEnabled(true); 
     wv.setWebViewClient(new WebViewProgress(progress)); 
     wv.loadUrl("https://your site url"); 

    } 
} 

image

Cuestiones relacionadas