انجمن سایت کلیدستان


رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
خواندن محتویات فایل html در سرویس از سرور اینترنتی (در برنامه نویسی اندروید)

خواندن محتویات فایل html در سرویس از سرور اینترنتی (در برنامه نویسی اندروید)

#1
سلام، من میخوام محتویات یک فایل html  که در فضای اینترنت وجود داره رو توی یک سرویس بگیرم...
میشه بگین چطوری میتونم محتویاتشو مثل متن یا هر چیزه دیگه ای بیرون بکشم؟
این که توی سرویس این کار انجام بشه مهمه
پاسخ

خواندن محتویات فایل html در سرویس از سرور اینترنتی (در برنامه نویسی اندروید)

#2
سلام.
روش های HttpGet  و HttpPost دقیقا به همین منظور به کار می روند. یعنی پاسخ صفحه HTML را به صورت یک رشته (String) به ما می دهند (در واقع، کد اصلی صفحه) :

کلید شماره 312

کلید شماره 313

برای استفاده از آنها در سرویس، باید به همان نکات مربوط به تفاوت اجرای کد در Service و Activity توجه کنید (مثل ارسال Context و ...). بنابراین کدهایتان را ابتدا در یک Activity تست کنید، بعد که از صحت آن مطمئن شدید، آنها را در یک سرویس قرار بدهید، خود خطاهایی که Eclipse نمایش می دهد، نشان می دهد که چه بخش هایی را باید تغییر بدهید.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط kousha.nikkar

خواندن محتویات فایل html در سرویس از سرور اینترنتی (در برنامه نویسی اندروید)

#3
اااااااااااااااااااااااااااااااااااااااااااااااا
اااییییییییییییوووووووووولللللللللللللللللل
من ده بار این آموزشو خونده بودم به مغزم نمیرسید که html  هم میشه دااااد
مررررررررررسی
پاسخ
 سپاس شده توسط admin

خواندن محتویات فایل html در سرویس از سرور اینترنتی (در برنامه نویسی اندروید)

#4
کل کد بالا مربوط به Activity هست، ما باید فقط کد زیر را بنویسیم :

کد پی‌اچ‌پی:
new NetCheck().execute(); 

اگر از خطا بالا خطا می گیرد، متن خطا چیست ؟
کلید زیر را بخوانید که کد را در محل مناسب نوشته باشید (در مورد Service) :

کلید شماره 2609

همچنین بررسی کنید که کلاس NetCheck را تعریف کرده اید یا نه (در خود سرویس یا به صورت یک کلاس ساخته شده توسط فایل java جداگانه).

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط kousha.nikkar

خواندن محتویات فایل html در سرویس از سرور اینترنتی (در برنامه نویسی اندروید)

#5
اینو چطوری توی سرویس بنویسم که کلاس GetData اجرا بشه؟؟؟؟

کد پی‌اچ‌پی:
new GetData().execute(); 

 ببینید کد کلاس من این شکلی شد...

کد پی‌اچ‌پی:
public class LessonsService extends Service {
    
    
    
    
    @
Override
    
public int onStartCommand(Intent intentint flagsint startId) {
        
// your code
        
        
  
               
new GetData().execute();
            
        
            
            
/**
             * Async Task to get data from URL
             **/
            
class GetData extends AsyncTask<StringStringString> {

                private 
InputStream is null;
                private 
String url "http://www.kelidestan.com/fixed-url/kelidestan-1.php?name=kousha&city=tehran";
                private 
String page_output "";    

                @
Override
                
protected String doInBackground(String... args) {

                    try {
                        
// defaultHttpClient
                        
DefaultHttpClient httpClient = new DefaultHttpClient();
                        
HttpGet httpGet = new HttpGet(url);
                        
HttpResponse httpResponse httpClient.execute(httpGet);
                        
HttpEntity httpEntity httpResponse.getEntity();
                        
is httpEntity.getContent();
                    } catch (
UnsupportedEncodingException e) {
                        
e.printStackTrace();
                    } catch (
ClientProtocolException e) {
                        
e.printStackTrace();
                    } catch (
IOException e) {
                        
e.printStackTrace();
                    }
                    try {
                        
BufferedReader reader = new BufferedReader(new InputStreamReader(
                                
is"iso-8859-1"), 8);
                        
StringBuilder sb = new StringBuilder();
                        
String line null;
                        while ((
line reader.readLine()) != null) {
                            
sb.append(line "\n");
                        }
                        
is.close();
                        
page_output sb.toString();
                    } catch (
Exception e) {
                        
Log.e("Buffer Error""Error converting result " e.toString());
                    }
                    
                    return 
page_output;
                }

                @
Override
                
protected void onPostExecute(String page_output) {
                    try {
                        
// display output of internet page (page_output string)
                        
String str page_output;
                        
int num str.length();
                        

                        
                        
String str2 getResources().getString(R.string.first_counter);
                        
int num2 str2.length();
                        
                        if(
num>num2){
                            
//My Function Codes
                        
}
                        
                    } catch (
Exception e) {
                        
e.printStackTrace();
                    }
               }
               
            }
                  
        return 
Service.START_FLAG_REDELIVERY;
    }
 
    @
Override
    
public IBinder onBind(Intent intent) {
        return 
null;
    }
 


به اون قسمتی که کلاس میخواد فراخوانی بشه گیر میده

   
پاسخ

خواندن محتویات فایل html در سرویس از سرور اینترنتی (در برنامه نویسی اندروید)

#6
متن خطا فقط اینه که کلاس رو نمیشناسه
مثلاً زیر GetData خط قرمز میکشه و میگه کلاس رو براش تعریف کنم مثل عکسی که در پست قبلی فرستادم...
با این که کلاس تعریف شده... توی کد بالا فرستادم تا ببینید...
لطفاً راهنمایی کنید چون تقریباً اینجوری نمیشه با سرویس راحت کار کرد...
کلاس رو چطور اجرا کنم؟
 
پاسخ

خواندن محتویات فایل html در سرویس از سرور اینترنتی (در برنامه نویسی اندروید)

#7
یااااااااااااااافتم یاااااااااااااااااااافتم
مشکل تصحیح شد
نکته رو اینجا مینویسم که بقیه هم استفاده کنن:
اگر میخواین کلاس رو توی سرویس بنویسید به شکل کد زیر عمل کنید...

کد پی‌اچ‌پی:
public class YourService extends Service {
    
    
//Your Class Codes
    
    
@Override
    
public int onStartCommand(Intent intentint flagsint startId) {

        
// your code
        
new YourClassName().execute();

        
        return 
Service.START_FLAG_REDELIVERY;
    }
 
    @
Override
    
public IBinder onBind(Intent intent) {
        return 
null;
    }
 


انقدددد جابجاش کردم که درست شد....

 
پاسخ
 سپاس شده توسط aliasghar ، admin ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان