بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
کمک در پروژه Note
با سلام. من پروژه note رو با Webservice Module استاد دارم درست میکنم من کد جیسون رو به طور کامل درافت میکنم ولی بعد از اجرای برنامه چیزی روی لیست نمایش داده نمیشه بعد اینکه دوباره برنامه رو اجرا میکنم لیستم به طور کامل نمایش داده میشه.نتونستم راه حلی پیدا کنم.با تشکر
کد Main
public class StartupActivity extends Activity {
private ArrayAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ListView lstContent = (ListView) findViewById(R.id.lstContent);
adapter = new AdapterNote(G.tasks);
lstContent.setAdapter(adapter);
TestModuleWebservice.test2();
adapter.notifyDataSetChanged();
}
@Override
protected void onResume() {
super.onResume();
adapter.notifyDataSetChanged();
}
public class TestModuleWebservice {
public static void test2() {
ModuleWebservice module = new ModuleWebservice();
ModuleWebservice.Listener listener = new ModuleWebservice.Listener() {
@Override
public void onDataReceive(String data) {
Log.i("LOG", "Webservice Data: " + data);
if (data != null) {
try {
G.tasks.clear();
JSONArray tasks = new JSONArray(data);
for (int i = 0; i < tasks.length(); 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) {
e.printStackTrace();
}
}
}
@Override
public void onFail(int statusCode) {
switch (statusCode) {
case ModuleWebservice.IO_EXCEPTION:
Log.i("LOG", "IO Exception");
break;
case ModuleWebservice.PROTOCOL_EXCEPTION:
Log.i("LOG", "PROTOCOL Exception");
break;
case ModuleWebservice.UNKNOWN_EXCEPTION:
Log.i("LOG", "UNKNOWN Exception");
break;
}
}
};
ArrayList<NameValuePair> input = new ArrayList<NameValuePair>();
input.add(new BasicNameValuePair("name", "Behnam"));
module.url("http://192.168.1.51/note-server2/")
.inputArguments(input)
.listener(listener)
.cacheDir(G.DIR_CACHE)
.enableCache(true)
.cacheExpireTime(3)
.connectionTimeout(3000)
.socketTimeout(5000)
.read();
}
}
0
0
کسی با مشکل من مواجه نشده ؟ :( (11 سال پیش)
0
0
بعد از حلقه for باید notify کنید، الان بعد از صدا زدن متد test2 نوشتین که بی فایده هست. (11 سال پیش)
0
0
spirit عزیز TestModuleWebservice یه کلاس جدا از Main هستش .
من بعد از حلقه for هم notify کردم ولی تاثیری نداشت ؟!! (11 سال پیش)
0
0
خیلی تست کردم فکر نکنم مشکلی باشه.وقتی با وب سرویس استاد در پروژه ی note آموزش داد اجرا میکنم مشکلی ندارم ولی با این webservice هر کاری میکنم کار نمیکنه. :(( (11 سال پیش)
0
0
من وب سرویس ماژول رو کامل نگاه نکردم. توی این روش ارتباط با سرور با ترد برقرار میشه؟ اگه با ترد برقرار میشه نظر spirit درسته. چون وقتی شما متد TestModuleWebservice رو اجرا میکنید یه کارگر شروع به کار میکنه و قبل از اینکه کارش تموم بشه شما notify کردید. ولی اگه بعد از حلقه notify کنید وقتی کار کارگر کاملا تموم شد notify میکنید. (همه اینایی که گفتم در صورت صادقه که این روش با ترد کارشو انجام بده) (11 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .