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


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
دریافت اطلاعات از سرور اینترنت (برنامه نویسی اندروید)

دریافت اطلاعات از سرور اینترنت (برنامه نویسی اندروید)

#5
(۱۳۹۴/۰۹/۱۸, ۰۵:۲۱ ب.ظ)mcn.nice نوشته:
(۱۳۹۴/۰۹/۱۸, ۰۳:۴۶ ب.ظ)admin نوشته: سلام.
بنده خودم هر زمان که قرار است یک فایل php جدید را کدنویسی کنم، بذون درگیر شدن با کدنویسی برنامه اندروید، ابتدا صحت کدنویسی فایل php را تست می کنم (با اجرای صفحه در مرورگر اینترنت). تست صفحه یا می تواند در خود سرور اینترنتی صورت گیرد یا در کامپیوتر موجود در خانه (با نرم افزارهای شبیه ساز سرور مثل Wamp Server).
همچنین در کدنویسی PHP ، توصیه می کنم مقدار متغیرها را با تابع var_dump در خروجی مشاهده کنید (منظورم در مرحله تست صفحه است).
اکنون به سراغ کدهای صفحه شما می رویم. من یک کد نمونه و مشابه کدهای شما نوشتم و آن را تست کردم :

کد پی‌اچ‌پی:
<?php
$i
=1;
$response = array();
while (
$i<6){
 
   $response[] = $i;
 
   $i $i+1;
}
var_dump($response);
print(
$response); 
?>

خروجی، شامل یک متن خطا می باشد (خروجی در مرورگر اینترنت) :



پس مشکل از نمایش اطلاعات در خروجی است (با var_dump متوجه شدیم که آرایه به درستی تعریف شده). کدها را به صورت زیر می نویسیم :

کد پی‌اچ‌پی:
<?php
$i
=1;
$response = array();
while (
$i<6){
 
   $response[] = $i;
 
   $i $i+1;
}
var_dump($response);
echo 
json_encode($response); 
?>

نتیجه اجرای کدها (این بار بدون خطا) :

کد پی‌اچ‌پی:
array (size=5)
 
 0 => int 1
  1 
=> int 2
  2 
=> int 3
  3 
=> int 4
  4 
=> int 5
[1,2,3,4,5

بنابراین اکنون دیگر باید دستور var_dump را حذف کنیم تا خروجی صفحه، همان خروجی مورد نظرتان باشد (همیشه به همین شکل، صفحه php را تست کرده و در مرحله آخر نیز بخش های مربوط به تست، مثل همین دستور var_dump را حذف کنید).

Flower

ببخشید من می خواهم آموزش کلید شماره 2651 را استفاده کنم اما در این قسمت کد خطا می دهد !

کد پی‌اچ‌پی:
                 setListAdapter(new MyAdapter(MainActivity.this,
 
                                      R.layout.list_item,
 
                                      R.id.txttitel,
 
                                      json_string_1_all));    
                   lv 
getListView();     

و خطای آن  نبودن setListAdapter می باشد و پیشنهاد می دهد که در کلاس myadapter آن را ایجاد کنم .

مدیر گرامی من دیگه مخم یاری نمیکنه کل سایت های لاتین و ایرانی را زیر و رو کردم همش خطا میده!!

الان که باز از این برنامه خط زیر را خطا می دهد !

کد پی‌اچ‌پی:
public class JSONParse extends AsyncTask<StringStringJSONObject> {
 
               public ProgressDialog pDialog;
 
               String my_string_1="";
 
      @Override
       
public void onPreExecute() {
 
          super.onPreExecute();
 
          pDialog = new ProgressDialog(MainActivity.this);
 
          pDialog.setMessage("Getting Data ...");
 
          pDialog.setIndeterminate(false);
 
          pDialog.setCancelable(true);
 
          pDialog.show();
 
      }
 
      @Override
       
public JSONObject doInBackground(String... args) {
 
          JSONParser jParser = new JSONParser();
 
          // Getting JSON from URL
 
          JSONObject json jParser.getJSONFromUrl(url);
 
          return json;
 
      }
 
       @Override
        public void onPostExecute
(JSONObject json) {
 
            ListView lv=(ListView)findViewById(R.id.listView2);    
     
           CustomListViewAdapter adapter=new CustomListViewAdapter(MainActivity.this,items);
 
           pDialog.dismiss();
 
           try {
 
                 
                   cityroid 
json.getJSONArray(json_titel);
 
                  // build String
 
                  json_length cityroid.length();
 
                  json_string_1_all = new String [cityroid.length()];
 
                  json_string_2_all = new String [cityroid.length()];
 
                  json_string_3_all = new String [cityroid.length()];
 
                  for(int i 0cityroid.length(); i++){
 
                      JSONObject c cityroid.getJSONObject(i);
 
                      // Storing JSON item in a Variable --> with UTF-8 for persian words
 
                      json_string_1_all[i] = new String(c.getString(json_pic).getBytes("ISO-8859-1"), "UTF-8");
 
                      json_string_2_all[i] = new String(c.getString(json_command).getBytes("ISO-8859-1"), "UTF-8");
 
                      json_string_3_all[i] = new String(c.getString(json_apkdl).getBytes("ISO-8859-1"), "UTF-8");
 
                  }
 
                  
                   
// show data in ListView
 
                  for(int i 0cityroid.length(); i++){
 
                     
                       my_string_1
json_string_1_all[i];
 
                      
                               items
.add(new listviewitem()
 
                              {{
 
                               
                                   imgview
=R.drawable.ic_launcher;
 
                                  txttitel=my_string_1;


 
                              }});
 
                              lv.setAdapter(adapter);
 
                  }
 
          } catch (JSONException e) {
 
              e.printStackTrace();
 
          } catch (UnsupportedEncodingException e1) {
 
                  e1.printStackTrace();
 
                  }
 
       }

 
  


اینم خطی که خطا می گیرد !
کد پی‌اچ‌پی:
cityroid json.getJSONArray(json_titel); 
پاسخ


پیام‌های این موضوع
RE: دریافت اطلاعات از سرور اینترنت - توسط admin - ۱۳۹۴/۰۹/۱۸, ۰۳:۴۶ ب.ظ
RE: دریافت اطلاعات از سرور اینترنت - توسط mcn.nice - ۱۳۹۴/۰۹/۱۸, ۰۵:۱۴ ب.ظ
RE: دریافت اطلاعات از سرور اینترنت - توسط admin - ۱۳۹۴/۰۹/۱۸, ۰۷:۲۳ ب.ظ
RE: دریافت اطلاعات از سرور اینترنت - توسط mcn.nice - ۱۳۹۴/۰۹/۱۸, ۰۷:۴۱ ب.ظ
RE: دریافت اطلاعات از سرور اینترنت - توسط mcn.nice - ۱۳۹۴/۰۹/۱۸, ۰۵:۲۱ ب.ظ
RE: دریافت اطلاعات از سرور اینترنت - توسط mcn.nice - ۱۳۹۴/۰۹/۱۸, ۰۷:۲۰ ب.ظ

پرش به انجمن:


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