بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
سوال در مورد پروژه Note استاد
من یک پروژه دارم که در منیفست "14"=minSdkVersion هستش و نمی تونم بیارم پایین تر. حالا پروژه Note استاد 8 تعریف شده .
وقتی میارم داخل پروژه خودم اررور میده . کجاهاش ساپورت نمیکنه؟ قسمت webservice یا commands ?
+1
0

سلام. فکر نکنم ربطی به minSdkVersion داشته باشه. احتمالا مشکل از network on main thread باشه. باید ارتباط با سرور رو با یه ترد غیر از ترد اصلی برقرار کنید (9 سال پیش)
0
0

محمد جان من تست گرفتم که دارم میگم وقتی Version رو میزارم 14 یا 11 دیگه کار نمیکنه. شما خودت یک تست رو پروژه استاد بزن بزار روی 11 یا 14 میبینی که دیگه کار نمیکنه. (9 سال پیش)
0
0

ببین توی این لوگی که گذاشتی خط 18 ارور network on main thread داده. دستور command.read یا command.insert رو داخل یه ترد بذار اگه حل نشد مشکل چیز دیگه ایه. (استاد توی این پروژه ارتباط با سرور رو توی ترد اصلی برقرار کرده که برنامه باید کرش میکرده) (9 سال پیش)
0
0

نتونستم درست کنم. میشه بزارید رو 11 به بعد یک تست بگیرید؟ لطفا. (9 سال پیش)
0
0

تست نکردید شما؟ من منتظر خبرتون هستم. (9 سال پیش)
0
0

شرمنده. فرصت نکردم هنوز (9 سال پیش)
+1
0

سوالتون فکر کنم حدود 30 باری پرسیده شده و هر چند روزی یک بار هم پرسیده میشه. عبارت networkonmainthread را درسایت جستجو کنید و یا به این لینک مراجعه کنید. (9 سال پیش)
برای این سوال 3 پاسخ وجود دارد.

پاسخ به سوال
Alireza_Ghamkhar
9 سال پیش
0
0
من خیلی خیلی وقت پیش اینجوری حلش کردم. ولی اینم بگم از نظر بهینه بودن و ... تضمینی ندارم چرا که خیلی وقت پیش اینجوریش کردم.
public class Commands extends AsyncTask<Void, Void, Boolean> { LinearLayout layout = (LinearLayout) NewsFragment.rootView.findViewById(R.id.progressbar_view); ListView lstContent = (ListView) NewsFragment.rootView.findViewById(R.id.lstContent); public static void readData() { new Commands().execute(); } public static void updateData(final ArrayList<NameValuePair> params){ Thread thread = new Thread(new Runnable() { @Override public void run() { WebService.readUrl("null",params); } }); thread.start(); } public static void removeData(final ArrayList<NameValuePair> params){ Thread thread = new Thread(new Runnable() { @Override public void run() { WebService.readUrl("null",params); } }); thread.start(); } public static void insertData(final ArrayList<NameValuePair> params) { Thread thread = new Thread(new Runnable() { @Override public void run() { WebService.readUrl("null",params); } }); thread.start(); } @Override protected Boolean doInBackground(Void... params) { DoRead(); return true; } @Override protected void onPreExecute() { lstContent.setVisibility(View.INVISIBLE); layout.setVisibility(View.VISIBLE); super.onPreExecute(); } @Override protected void onPostExecute(Boolean result) { lstContent.setVisibility(View.VISIBLE); layout.setVisibility(View.GONE); super.onPostExecute(result); result =true; } private void DoRead() { String result = WebService.readUrl("http:..",null); if(result != null){ try { G.tasks.clear(); JSONArray tasks = new JSONArray(result); for(int i = tasks.length()-1 ; i>=0;i--){ JSONObject object = tasks.getJSONObject(i); StructTask task = new StructTask(); task.id = object.getLong("task_id"); task.title = object.getString("task_title"); task.desc = object.getString("task_desc"); task.done = object.getInt("task_done") == 1 ?true:false; G.tasks.add(task); } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
}
علی جان شما فیلم های آموزشی بخش تردها و همزمانی رو دیدید؟ باید کدهایی که با شبکه سروکار دارند رو در تردی به غیر از ui thread بنویسید. اگه اون بخش رو ندیدید، ببینیدش و کدهایی که با شبکه سروکار دارند رو در thread base بنویسید. توی اون لینکی هم که بالا دادم جواب مشکلتون هست. الان شما دو هفته گیر این سوال هستید، اگه اون بخش رو ببینید خیلی سریع به جواب سوالتون می رسید.فقط کافیه کار با تردها رو به خوبی بلد بشید. (9 سال پیش)

پاسخ به سوال
علی
9 سال پیش
0
0
LinearLayout layout = (LinearLayout) NewsFragment.rootView.findViewById(R.id.progressbar_view); ListView lstContent = (ListView) NewsFragment.rootView.findViewById(R.id.lstContent);
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .