8 ارسال در این موضوع قرار دارد

سلام دوستان

من میخام با متد پست post تعدادی داده بفرستم ب سرور و میخام ریسپانسی که برام برمیگردونه یک json array باشه نه یک string.

این داده هایی که باید فرستاده باشن باید به صورت json object باشن؟؟

کسی تا حالا کار کرده ک راهنمایی کنه؟؟؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

من با hash mao دیتا رو پست میکنم اما هیچی پست نمیشه اونور

اینا کدهای من هستن

کجاها


import android.app.ProgressDialog;
import android.content.Context;
import android.widget.Toast;

import com.android.volley.DefaultRetryPolicy;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.Volley;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Lecturer {

    Context context;
    ProgressDialog progressDialog;
    String name;
    String lastname;
    String star_date;
    String end_date;


    public LecturerReport(Context context,final String name, final String lastname,
                          final String star_date, final String end_date ){

        this.context=context;
        this.name=name;
        this.lastname=lastname;
        this.star_date=star_date;
        this.end_date=end_date;
    }

    public void  getpost(final LecturerReport.onpost onpost)
    {

       final String url="http://localhost/local/user_report.php";
        
        

        progressDialog=new ProgressDialog(context);
        progressDialog.setMessage("در حال دریافت اطلاعات از سرور...");
        progressDialog.show();

        JsonArrayRequest jsonArrayRequest=new JsonArrayRequest(Request.Method.POST, url, null, new Response.Listener<JSONArray>() {

            @Override
            public void onResponse(JSONArray response) {

        
                if (response.length()==0){
                    Toast.makeText(context,"empty",Toast.LENGTH_LONG).show();
                    progressDialog.dismiss();
                }

                List<GetSetReportUser> data=new ArrayList<>();

                for (int i=0;i<response.length();i++){

                    //get data

                        progressDialog.dismiss();
                    }

                    catch (JSONException e) {
                        e.printStackTrace();
                    }

                    data.add(getSetReportUser);
                }
                onpost.onpost(data);

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

                progressDialog.dismiss();

                android.support.v7.app.AlertDialog.Builder alertDialogBuilder=new  android.support.v7.app.AlertDialog.Builder(context);
                alertDialogBuilder.setMessage("خطا در برقراری ارتباط...");
                alertDialogBuilder.show();
                Toast.makeText(context, error+"", Toast.LENGTH_SHORT).show();

            }
        })
        {

            @Override
            protected Map<String,String> getParams()  {

                HashMap<String,String> hashMap=new HashMap<>();
                hashMap.put("name",name);
                hashMap.put("lastname",lastname);
                hashMap.put("star_date",star_date);
                hashMap.put("end_date",end_date);
                return hashMap;
            }
        };

        jsonArrayRequest.setRetryPolicy(new DefaultRetryPolicy(10000,
                DefaultRetryPolicy.DEFAULT_MAX_RETRIES,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

        Volley.newRequestQueue(context).add(jsonArrayRequest);
    }

    public  interface onpost
    {
        void onpost(List<GetSetReportUser> data);
    }

}

مشکل داره؟؟

از سمت اندروید اروری نداره، فقط اینکه داده های هش مپ پست نمیشن به سرور

 

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دو مورد:

1- حتما دیتاهای ورودی رو echo بگیرید که آیا دیتا ارسال شدهاست یا خیر

2-آیا Headerنیاز ندارد برای سمت سرور ؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دیتاها ارسال نمیشن ب سرور.

 

این کدهای سمت سروره

<?php

 include "config.php";
 
  
 $name=$_POST['name'];
 $lastname=$_POST['lastname'];
 $star_date=$_POST['star_date'];
 $end_date=$_POST['end_date'];
 
   mysqli_query($con,"SET CHARSET UTF8");
    
    	$sql = 'SELECT * FROM view_user_search  WHERE name LIKE '%."$name".%'  AND lastname
        LIKE '%."$lastname".%' AND date BETWEEN '$star_date' AND '$end_date' ';

	 file_put_contents('a_test.txt',$sql); 
               
 $result=$con->query($sql);
 $array_list=array();
 $array=$result->fetch_all(MYSQLI_ASSOC);
 echo json_encode($array);
         
 ?>

به هدر نیازی ندارم.

اینم محتوای کوئری ک نشون میده مقادیر پست شده خالی هستن.

SELECT * FROM view_user_search  WHERE name LIKE '%%'  AND lastname LIKE '%%' AND date BETWEEN '' AND ''

 

 

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

آدرس رو اشتباه نوشتید

"http://localhost

نباید localhost بزارید.. باید بدین صورت بزارید

 final String url="http://127.0.0.1/local/user_report.php";

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

اینم درست کردم ولی نشد

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

آیا دیباگ کردید کدتون رو و وارد onErrorResponse نمیشه؟

 

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

نه واردش این متد نمیشه و در دیباگ داده ها در hash map هستن

داده ها null میرن ب سرور

 

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط hewillcome
      باعرض سلام خدمت همه ی اساتید محترم.
      بنده قصد ارسال جیسون به سمت سرور را داشتم. برای ارتباط با سرور بنده از کتابخانه ی Volley استفاده میکنم. نحوه ی ارسال String را بلد هستم اما جیسون را نه متاسفانه.
      ممنون میشم از دوستان اگر کسی می تواند بنده را راهنمایی کند. با سپاس فراوان.
    • توسط khosro
      سلام ،،این  کد کار میکنه ینی اینکه درخواست رو میفرسته به سرور اما متاسفانه اون string  رو نمیفرسته نمی دونم چرا
       
       
      JsonArrayRequest jsonArrayRequest=new JsonArrayRequest(Request.Method.GET, url,null, new Response.Listener<JSONArray>() { @Override public void onResponse(JSONArray response) { for(int i = 0; i < response.length(); i++) { try { Toast.makeText(getApplicationContext(),"ok",Toast.LENGTH_LONG).show(); String id=response.getJSONObject(i).getString("id"); String name = response.getJSONObject(i).getString("name"); String problem=response.getJSONObject(i).getString("problem"); String javab=response.getJSONObject(i).getString("javab"); if (javab.isEmpty()){ data.add(new Data(name,problem,R.drawable.user_avatar,"پشتیبانی","در انتظار پاسخ از پشتیبانی...",R.drawable.support,id)); }else { data.add(new Data(name,problem,R.drawable.user_avatar,"پشتیبانی",javab,R.drawable.support,id)); } recyclerView.setAdapter(adapter); recyclerView.setLayoutManager(new LinearLayoutManager(SupportActivity.this)); if (!data.isEmpty()){ progressDialog.dismiss(); } } catch (JSONException e) { e.printStackTrace(); progressDialog.dismiss(); } } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(getApplicationContext(),error.getMessage(),Toast.LENGTH_LONG).show(); progressDialog.dismiss(); } }) { @Override protected Map<String, String> getParams() { Map<String, String> params = new HashMap<String, String>(); params.put("id",name); return params; } }; requestQueue.add(jsonArrayRequest);  
    • توسط MaHdI-09
      سلام.چطوری میشه از volley تو  rxandroid
      (rxjava) استفاده کرد..؟
      لطفا خیلی پایه ای توضیح بدید.ممنون 
    • توسط taleb
      سلام دوستان
      مخواستم یه کلاس بنویسم که یک فایل و یه سری داده ی رشته ای رو به وب سرویس ارسال کنم 
      اینکه یک فایل رو به سرور آپلود کنم مشکلی نیس ولی اینکه همراه اون یه سری اطلاعات بفرستم نمیدونم چجوریه
      لطفا اگه ممکنه یه راهنمایی کلی کنید ممنونم
    • توسط مهندس
      سلام دوستان.
      من یه اپلیکیشن تحت وب دارم که از سمت سرور رو با php نوشتم.
      بنظر شما باید در فایل های php خودم از سشن استفاده کنم؟؟
      ممکنه راهنمایی کنید؟
      خود وب سرویس و کتابخونه ی والی مگر امنیت رو تضمین اپ نمیکنند؟؟

  • دوره آموزشی اندروید آموزش ویدئویی اندروید آموزش برنامه نویسی اندروید اندروید کاپ دوره آنلاین اندروید کتاب های آموزشی اندروید بسته آموزشی اندروید دوره برنامه نویسی اندروید آموزش Kotlin آموزش برنامه نویسی ios مهارت های فروش
    آموزش برنامه نویسی اندروید
  • فایل