2011-06-28 13 views
12

मैं एक पृष्ठ के स्रोत कोड प्राप्त करने के लिए dom parser का उपयोग कर vb.net में एक स्ट्रिंग में एचटीएमएल स्रोत कोड प्राप्त करने के लिए प्रोजेक्ट पर काम कर रहा हूं।एंड्रॉइड में यूआरएल से एचटीएमएल स्रोत कोड कैसे प्राप्त करें?

1) मैं एंड्रॉइड में इसे लागू करना चाहता हूं, एंड्रॉइड में यूआरएल कॉल करके वेबपृष्ठ के स्रोत कोड प्राप्त करने का दृष्टिकोण क्या होगा। 2) मेरे पास एक लेआउट में स्रोत कोड के लिए दो लेआउट होंगे और अन्य वेबपृष्ठ के लिए स्वयं होंगे। अगर मैं स्रोत कोड लेआउट में शीर्षक टैग मान बदल रहा हूं, तो इसे स्वचालित वेबपृष्ठ पर स्वचालित रूप से अपडेट किया जाना चाहिए?

एंड्रॉइड में ऐसा करने का सबसे अच्छा तरीका क्या होगा?

किसी भी प्रकार की सहायता की अत्यधिक सराहना की जाएगी।

उत्तर

27

आदेश में एक यूआरएल आप इस का उपयोग कर सकते से अपने स्रोत कोड प्राप्त करने के लिए:

HttpClient httpclient = new DefaultHttpClient(); // Create HTTP Client 
HttpGet httpget = new HttpGet("http://yoururl.com"); // Set the action you want to do 
HttpResponse response = httpclient.execute(httpget); // Executeit 
HttpEntity entity = response.getEntity(); 
InputStream is = entity.getContent(); // Create an InputStream with the response 
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8); 
StringBuilder sb = new StringBuilder(); 
String line = null; 
while ((line = reader.readLine()) != null) // Read line by line 
    sb.append(line + "\n"); 

String resString = sb.toString(); // Result is here 

is.close(); // Close the stream 

तुम भी HttpClient करने के लिए कुछ पैरामीटर जोड़ सकते हैं टाइमआउट और उस जैसे अन्य सामान के प्रबंधन के लिए। पूर्व:

HttpParams httpParameters = new BasicHttpParams(); 
HttpConnectionParams.setConnectionTimeout(httpParameters,3000); // 3s max for connection 
HttpConnectionParams.setSoTimeout(httpParameters, 4000); // 4s max to get data 
HttpClient httpclient = new DefaultHttpClient(httpParameters); 
+0

उर सुझाव, Lyrkan – mH16

+0

अपने प्रश्न के 2 भाग के लिए के लिए धन्यवाद, मुझे लगता है कि यह है कि संभाल करने के लिए एक समस्या नहीं होनी चाहिए। मेरा मतलब है, वेबपृष्ठ (और स्रोत नहीं) को प्रदर्शित करने वाले लेआउट के लिए, मुझे लगता है कि आप एक वेबव्यू का उपयोग करेंगे, इसलिए आपको इसे अद्यतन स्रोत कोड देकर अपनी सामग्री को अपडेट करना होगा। – Lyrkan

+0

यह काम नहीं कर रहा है। वेबपृष्ठ उपलब्ध नहीं है समस्या। –

2

आप आयन लाइब्रेरी का उपयोग करके किसी भी यूआरएल से HTML कोड प्राप्त कर सकते हैं।

प्रोजेक्ट संरचना पर जाएं, ऐप पर क्लिक करें, निर्भरता पर क्लिक करें, '+' पर क्लिक करें, बस आयन टाइप करें, आप com.koushikdutta.ion देखेंगे: आयन: 2.1.8 इसे क्लिक करें और ठीक क्लिक करें। अब आप यूआरएल से एचटीएमएल कोड प्राप्त करने के लिए आयन लाइब्रेरी का उपयोग कर सकते हैं।

public class HtmlCode extends Activity { 
    TextView tv; 

    public void onCreate(Bundle s) 
    { 
     super.onCreate(s); 
     setContentView(R.layout.httpexample); 

     tv = (TextView)findViewById(R.id.tvHttp); 
     Ion.with(getApplicationContext()).load("http://www.your_URL.com").asString().setCallback(new FutureCallback<String>() { 
      @Override 
      public void onCompleted(Exception e, String result) { 

       tv.setText(result); 
      } 
     }); 
    } 
} 
संबंधित मुद्दे