ممنون دوست عزیز . این دو تا رو توضیح میدید؟ کجا کذاشتید.
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
سوال در مورد پروژه Note استاد
مدیریت گفتگو
آخرین تغییر: 11 سال پیش
من یک پروژه دارم که در منیفست "14"=minSdkVersion هستش و نمی تونم بیارم پایین تر. حالا پروژه Note استاد 8 تعریف شده .
وقتی میارم داخل پروژه خودم اررور میده . کجاهاش ساپورت نمیکنه؟ قسمت webservice یا commands ?

پاسخها 3
من خیلی خیلی وقت پیش اینجوری حلش کردم. ولی اینم بگم از نظر بهینه بودن و ... تضمینی ندارم چرا که خیلی وقت پیش اینجوریش کردم.
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(); } } }
}
نظرات
در کد مشخصه که در کلاس commands هستش
من از این کدها هم استفاده کردم ولی بازم نشود . بازم ممنون علی رضا جان
علی جان شما فیلم های آموزشی بخش تردها و همزمانی رو دیدید؟ باید کدهایی که با شبکه سروکار دارند رو در تردی به غیر از ui thread بنویسید. اگه اون بخش رو ندیدید، ببینیدش و کدهایی که با شبکه سروکار دارند رو در thread base بنویسید. توی اون لینکی هم که بالا دادم جواب مشکلتون هست. الان شما دو هفته گیر این سوال هستید، اگه اون بخش رو ببینید خیلی سریع به جواب سوالتون می رسید.فقط کافیه کار با تردها رو به خوبی بلد بشید.
اونجایی که گفتم ui thread منظورم main thread بود.
LinearLayout layout = (LinearLayout) NewsFragment.rootView.findViewById(R.id.progressbar_view); ListView lstContent = (ListView) NewsFragment.rootView.findViewById(R.id.lstContent);
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات