web-dev-qa-db-ja.com

WebサイトをAndroidアプリケーションに変換します

Asp.net C#でサイトを構築しました。 Visual Studio 2010。

このサイトはうまくスケールし、携帯電話やその他のAndroidデバイスに適合します。データベースも駆動します。今、私のサイトからAndroid市場向けのアプリを作りたいです。無料アプリ。

これを簡単に達成できますか?アプリはブラウザウィンドウを起動するのと同じくらい簡単ですか? Androidマーケットはそのようなアプリを受け入れますか?

正しい方向を教えてください。どこから始めたらいいか分からない。

25
CsharpBeginner

説明することは、WebViewを使用して簡単に実現できます。

WebView(from Android developers:Webページを表示するビュー。このクラスは、独自のWebブラウザを起動したり、アクティビティ内でオンラインコンテンツを表示したりするための基礎となります。 WebKitレンダリングエンジンを使用してWebページを表示し、履歴内を前後にナビゲートしたり、ズームインおよびズームアウトしたり、テキスト検索を実行したりするメソッドを含みます。

簡単なサンプルアプリを次に示します。

public class WebActivity extends Activity {

    WebView mWebView;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        final Activity mActivity = this;
        super.onCreate(savedInstanceState);

        // Adds Progrss bar Support
        this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
        setContentView(R.layout.main);


        // Makes Progress bar Visible
        getWindow().setFeatureInt( Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);

        mWebView = (WebView) findViewById( R.id.webview );
        mWebView.getSettings().setJavaScriptEnabled(true);     
        mWebView.loadUrl(http://your.url.com);


        mWebView.setWebChromeClient(new WebChromeClient() 
        {
            public void onProgressChanged(WebView view, int progress)  
            {
                //Make the bar disappear after URL is loaded, and changes string to Loading...
                mActivity .setTitle("Loading...");
                mActivity .setProgress(progress * 100); //Make the bar disappear after URL is loaded

                // Return the app name after finish loading
                if(progress == 100)
                {
                    financialPortalActivity.setTitle(R.string.yourWebSiteName);
                }
            }
        });
    }
}

そして、非常にシンプルなレイアウトファイル:main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:orientation="vertical">

    <WebView 
        Android:id="@+id/webview"
        Android:layout_width="fill_parent"
        Android:layout_height="fill_parent"
    />
</LinearLayout>

もちろん、マニフェストに許可を設定する必要があります。

 <uses-permission Android:name="Android.permission.INTERNET" />
27
Rotemmiz