2011-03-04 12 views
11

हमारे पास हमारी साइट का एक विशेष मोबाइल संस्करण है जिसे हम एंड्रॉइड मार्केटप्लेस में प्रचार करना चाहते हैं। "ऐप" प्रभावी रूप से वेबसाइट के लिए एक शॉर्टकट होगा, लेकिन आप इसे डाउनलोड करने में सक्षम होंगे और इसके लिए एक आइकन भी लेंगे, बस किसी अन्य ऐप की तरह।एंड्रॉइड ऐप बनाएं जो हमारी मोबाइल साइट पर शॉर्टकट के रूप में कार्य करता है

क्या यह संभव है? यदि हां, तो क्या आप मुझे निर्देशों से जोड़ सकते हैं? मैं Google पर कोई भी जानकारी खोजने में सक्षम नहीं था।

धन्यवाद, जोनाह

उत्तर

10

यह संभव है और काफी आसान है।

आपका आवेदन एक ही गतिविधि होगी। यह गतिविधि here on the google intents. जानकारी के आधार पर एक नया इरादा तैयार करेगी, यह उद्देश्य VIEW_ACTION प्रकार का होगा और आप इसे एक मान के रूप में एक यूआरएल देंगे। तो फिर तुम बस करना चाहते हैं:

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

व्यायाम के बाकी सिर्फ लपेटकर है AndroidManifest.xml साथ है और यह बाजार में डाल कि।

विकल्प एक वेबव्यू प्रदान करना होगा, लेकिन, यदि आपकी वेबसाइट पहले से ही किसी मोबाइल ब्राउज़र में काम करने के लिए डिज़ाइन की गई है तो यह बहुत व्यर्थ है।

+0

यहाँ है एक सरल उदाहरण: http://mobile.tutsplus.com/tutorials/android/launch-android-browser/ – ServAce85

+0

यह है इरादा.ACTION_VIEW इरादा नहीं है .VIEW_ACTION – xtian

1

बस एक ही गतिविधि बनाएं जो एक वेबव्यू होस्ट करे और इसे अपने यूआरएल से प्रीलोड करें। गूगल यह ... यह है पागल आसान

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

अपनी AndroidManifest.xml फ़ाइल ..below लाइन में जोड़े

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

नोट: इस परियोजना, जावा संकलन त्रुटियाँ हैं, जिसके लिए विफलताओं प्रतिपादन पैदा कर सकता है कस्टम व्यूज़। पहले संकलन समस्याओं को ठीक करें।

"<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) 
0

मैं समान अनुप्रयोग है। इसमें एक वेबव्यू है और यह आपकी साइट लोड होने पर प्रगति दिखाती है।

वहाँ दो वर्गों 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

संबंधित मुद्दे