آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

راهنمایی در مورد دریافت اطلاعات در نرم افزار آنلاین

doost_fu  8 سال پیش  8 سال پیش
0 0

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

حالا نکته ای که هست من نیاز دارم اون عکس و متن تغییر بدم که برای این کار عکس و متن هم نام را در هاست جایگزین میکنم و درست هم عمل میکنه
ولی بعضی اوقات ( البته خیلی به ندرت ) مشکل پیش میاد مثلا با وای فای وصل میشم و با اینکه عکس قبلی از هاست حذف شده و جدید جایگزین شده  ، الان به جای عکس جدید همون قبلی دریافت میشه ! ولی اگه همون موقع از اینترنت سیم کارت استفاده کنم درست عمل میکنه ! ( با حذف و نصب مجدد و حذف دیتای برنامه و ری استارت گوشی هم در اون لحظه این مشکل بود ! )

یه سوال اینکه دلیل این مشکل چی میتونه باشه ؟

و سوال دوم راه بهتری برای این کار سراغ دارید ؟
یه چیزی شبیه همین نرم افزار های خبری با این تفاوت که خبری اضافه نمیشه بلکه چند بخش باید با اطلاعت جدید جایگزین بشه !

ممنون

0 0
دوستان اگه امکانش هست یه راهنمایی یا یه پیشنهاد و راه دیگه بدید ممنون (8 سال پیش)
+1 0
از چه روشی برای دریافت عکس استفاده می کنید ، اگر از کتابخانه ی خاصی استفاده می کنید اجازه ی کش را ندهید . (8 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
منصور  8 سال پیش
+1 0

دقیق متوجه نشدم

ولی احتمالا url عکس ثابت میمونه و دستور یا کتابخونه ای که استفاده میکنی داره عکسو catch  میکنه و وقتی دوباره میزنی میبینه همون آدرسه از catch میخونه و جدید لود نمیکنه

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

مثلا:

.nocatch()

.memoryPolicy(XPolicy.NO_CATCH)

یه همچین چیزایی :)

پاسخ به سوال 
doost_fu  8 سال پیش
0 0

بله url یا همون لینک عکس ثابت هست و عکسی که داخل هاست گذاشتم تغییر میدم . 
از طریق کلاس زیر عکس دانلود میکنم 

همون طور که در پست اول گفتم همیشه این مشکل نیست و گاهی به ندرت پیش میاد و شده مثلا اگه همون لحظه ای که این مشکل هست اینترنت وای فای قطع کنم و با اینترنت سیم کارت وصل بشم مشکل حل میشه !

اینم کد صدا زدن و کلاس دریافت عکس : 

new DownloadImageTask(imgNew01).execute("http://********/****/****/*****.jpg");

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;

public DownloadImageTask(ImageView bmImage) {
this.bmImage = bmImage;
}

protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}

protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}

روش بهتری برای این کار سراغ ندارید ؟

ممنون

پاسخ به سوال 
doost_fu  8 سال پیش
0 0

دوستان من به جای کد بالا از کتابخانه پیکاسو استفاده کردم و با غیرفعال کردن کش ،  مشکل عکس ها کاملا حل شد

ولی این بار همون مشکل برای متن ها پیش میاد در حالی قبلا این مشکل برای متن ها اصلا نبود و با کوچکترین تغییر روی فایل ، متن دریافتی نیز تغییر میکرد !
ولی الان بعضی مواقع تغییرات متن اعمال نمیشه یا با تاخیر زیاد اعمال میشه و ... !
کد دریافت متن ها اینه : ( اینم لینک سوال همین مورد لینک  )

TextView txtSample = .......;
....
....
....
TextW01 W01 = new TextW01(txtSample);
W01.execute("http://******/*****/***/****.html");




private class TextW01 extends AsyncTask<String, Integer, Void>{
TextView txtInput;

public TextW01(TextView txtInput){
this.txtInput = txtInput;
}

String text = "";
protected Void doInBackground(String... params) {
URL url;
try {
url = new URL(params[0]);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
InputStream is = con.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) {
text += line;
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(Void result) {
String htmlCode = text;
Spanned spa = Html.fromHtml(htmlCode);
txtInput.setText(spa);
}
}

لطفا راهنمایی کنید ممنون


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .