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


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در دریافت اطلاعات از یک صفحه اینترنتی

مشکل در دریافت اطلاعات از یک صفحه اینترنتی

#1
سلام دوستان
من یه برنامه دارم که میخوام خط مثلا 12 سورس کد یه صفحه رو توی یه رشته ذخیره کنم .
با این کدا ی زیر سورس کد رو میگیرم اما ارور android.os.NetworkOnMainThreadException میده .
کد پی‌اچ‌پی:
try {
            
HttpClient httpclient = new DefaultHttpClient();
            
HttpGet httpget = new HttpGet(mainURL);
            
HttpResponse response httpclient.execute(httpget); //توی این خط ارور میگیره
            
HttpEntity entity response.getEntity();
            
InputStream is entity.getContent();
            
BufferedReader reader = new BufferedReader(new InputStreamReader(is"iso-8859-1"), 8);
            
StringBuilder sb = new StringBuilder();
            
String line null;
            
int x 0;
            while ((
line reader.readLine()) != null) {
                
x++;
                if (
== 12) {
                    
sb.append(line);
                }
            }
            
String resString sb.toString();
            
source resString;
            
is.close();
            
Toast.makeText(context,"source get",Toast.LENGTH_SHORT).show();
            
Toast.makeText(context,resString,Toast.LENGTH_SHORT).show();
            
getDlURL(resStringcontext);
        } catch (
Exception e) {
            
Toast.makeText(context,"source not get",Toast.LENGTH_SHORT).show();
            
e.printStackTrace();
        } 
پاسخ

مشکل در دریافت اطلاعات از یک صفحه اینترنتی

#2
چک کنید اجازه دسترسی به اینترنت رو در منیفست گرفتید؟
بعدش باید این قطعه کد رو در یک thread  جداگونه (کارگر) اجرا کنید.مباحث Thread  رو بخونید.
پاسخ
 سپاس شده توسط admin

مشکل در دریافت اطلاعات از یک صفحه اینترنتی

#3
(۱۳۹۴/۰۸/۳۰, ۰۳:۰۳ ق.ظ)'داش بهروز' نوشته: چک کنید اجازه دسترسی به اینترنت رو در منیفست گرفتید؟
بعدش باید این قطعه کد رو در یک thread  جداگونه (کارگر) اجرا کنید.مباحث Thread  رو بخونید.

 

بله دسترسی اینترنت رو در منیفست گذاشتم
این کد ها داخل یه متد توی یه بردکاست رسیور هست .
ولی ترد جدا نداره . مشکل از این هست ؟

 
پاسخ

مشکل در دریافت اطلاعات از یک صفحه اینترنتی

#4
دوست عزیز شما باید عملیات زمان بر رو روی ترد جداگونه انجام بدید نه روی ترد به اصطلاح پدر که Ui  رو در برداره.شما باید یک ترد جداگونه باز کنید..یا از Asynk استفاده کنید و دستورات خودتون توی قسمت doingBackGround  انجام بدید.
پاسخ
 سپاس شده توسط شماره مجازی امارات


پرش به انجمن:


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