创建作为我们移动网站快捷方式的Android应用程序

时间:2011-03-04 22:01:16

标签: android

我们有一个特殊的移动版本的网站,我们想在Android市场推广。 “app”实际上是网站的快捷方式,但您可以下载它并为其设置图标,就像任何其他应用程序一样。

这可能吗?如果是这样,你可以链接我的指示吗?我无法找到任何搜索谷歌的信息。

谢谢, 约拿

6 个答案:

答案 0 :(得分:10)

这是可行且相当容易的。

您的申请将是一项活动。该活动将基于信息创建新意图here on the google intents.意图将是VIEW_ACTION类型,并且您将为其提供一个url作为值。然后你只需要做:

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

其余的练习只是用AndroidManifest.xml包装并将其投放市场。

另一种方法是提供一个网页浏览,但是,如果您的网站已经设计为在移动浏览器中运行,则这一点毫无意义。

答案 1 :(得分:3)

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

添加到您的androidManifest.xml文件..更改行

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

答案 2 :(得分:1)

只需创建一个托管单个WebView的Activity,并使用您的url预加载它。谷歌......它很容易

答案 3 :(得分:1)

只需创建一个承载单个WebView的Activity,然后用您的URL预加载它,就非常简单。

我有一个类似的应用程序,并且做到了。

答案 4 :(得分:0)

我有类似的App。它有一个webview,它显示了您的网站加载时的进度。

WebViewProgress.java资源有两个类 - 很容易搞清楚。这段代码效果很好。

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

答案 5 :(得分:-3)

注意:此项目包含Java编译错误,这可能导致自定义视图的呈现失败。首先修复编译问题。

"<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.

找不到以下课程:

- Intent (Fix Build Path, Edit XML)