رفتن به مطلب
  • 0

ایجاد مقدار بازگشتی در کلاس


مصیب

سوال

با سلام

در اندروید استدیو دو کلاس دارم که کلاس اولی با استفاده از JSON اطلاعاتی را از سرور دریاف می کند .

در همان کلاس اول اطلاعات بدست امده را به کلاس مشابه دیگری می فرستم و کلاس دوم نیز اطلاعاتی  را از سرور دریافت میکند.

مشکل من اینجاست که میخواهم کلاس دوم در صورتی که اطلاعات را از سرور دریافت کرد ، اطلاعات را به کلاس اول برگرداند .

کلاس اول Send_telephone

کلاس اول get_company_name

مشخصات کلاس اول

public class Send_telephone {
    String Company_name;
    private Context context;
    public Send_telephone(Context context){
        this.context = context;
    }
    public void Send_telephone(final String telephone){

        String url=Global.url_connection+"/SacooPardaz/PHP/register_user/check_phone_and_send_sms.php";
        StringRequest stringRequest=new StringRequest(1, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {

                 try {
                    JSONObject jsonObject=new JSONObject(response);
                    final String post_id=jsonObject.getString("post_id");
                        if (post_id.equals("0")) {
                            Toast.makeText(context, "شما به برنامه دعوت نشده اید . با ادمین تماس بگیرید", Toast.LENGTH_SHORT).show();
                            GetTelephoneNumber.getInstance().Object_Enable();
                        }else{
                            get_company_name getcompany;
                            getcompany=new get_company_name(context);
                            getcompany.get_company_name(jsonObject.getString("company_id"));
                            Toast.makeText(context, jsonObject.getString("company_id"), Toast.LENGTH_SHORT).show();
                        }

                } catch (JSONException e) {
                    e.printStackTrace();
                    Toast.makeText(context, "اینترنت متصل نیست", Toast.LENGTH_SHORT).show();
                    GetTelephoneNumber.getInstance().Object_Enable();
                }}
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                GetTelephoneNumber.getInstance().Object_Enable();
                Toast.makeText(context,"خطا در اتصال به سرور", Toast.LENGTH_SHORT).show();
            }}
        ){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                HashMap<String,String> hashMap=new HashMap<>();
                hashMap.put("telephone",telephone);

                return hashMap;
            }};
        stringRequest.setRetryPolicy(new DefaultRetryPolicy(500,1,2f));
        Volley.newRequestQueue(context).add(stringRequest);
   
 }}

 

مشخصات کلاس دوم

public class get_company_name {
    String Company_name;
    private Context context;
    public get_company_name(Context context){
        this.context = context;
    }
    public void get_company_name(final String company_id){

        String url=Global.url_connection+"/SacooPardaz/PHP/class_get_info_from_table/get_company_name.php";
        StringRequest stringRequest=new StringRequest(1, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {

                try {
                    JSONObject jsonObject=new JSONObject(response);
                    final String post_id=jsonObject.getString("company_name");
                    if (post_id.equals("0")) {
                        Toast.makeText(context, "no company", Toast.LENGTH_SHORT).show();
                    }else{
                        Toast.makeText(context, jsonObject.getString("company_name"), Toast.LENGTH_SHORT).show();
                    }

                    GetTelephoneNumber.getInstance().Object_Enable();
                } catch (JSONException e) {
                    e.printStackTrace();
                    Toast.makeText(context, "اینترنت متصل نیست", Toast.LENGTH_SHORT).show();
                    GetTelephoneNumber.getInstance().Object_Enable();
                }}
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                GetTelephoneNumber.getInstance().Object_Enable();
                Toast.makeText(context,"خطا در اتصال به سرور", Toast.LENGTH_SHORT).show();
            }}
        ){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                HashMap<String,String> hashMap=new HashMap<>();
                hashMap.put("company_id",company_id);

                return hashMap;
            }};
        stringRequest.setRetryPolicy(new DefaultRetryPolicy(500,1,2f));
        Volley.newRequestQueue(context).add(stringRequest);
    }}

حالا من می خوام کلاس دوم اطلاعات رو به کلاس اول برگردونه 

چطور می تونم کلاس دوم را به صورتی تغغیر بدم که اطلاعات رو به کلاس اول برگردونه 

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

2 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام و درود. اول اینکه کدهاتونو تمیزتر بنویسید که راحت تر خونده بشه. حتما از قسمت کد ادیتور استفاده کنید.

اما در جواب. برای ارسال دیتا بین کامپوننتها معمولا از اینترفیس استفاده میکنن. یه کلاس از نوع interface بسازید و تو متد سازنده کلاس اول بزارید.

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

در ۱۴۰۰/۵/۷ در 21:24، محمدرضا شاهپیری گفته است:

سلام و درود. اول اینکه کدهاتونو تمیزتر بنویسید که راحت تر خونده بشه. حتما از قسمت کد ادیتور استفاده کنید.

اما در جواب. برای ارسال دیتا بین کامپوننتها معمولا از اینترفیس استفاده میکنن. یه کلاس از نوع interface بسازید و تو متد سازنده کلاس اول بزارید.

با سرچ توی نت نتونستم اینترفیس رو توی کلاس پیاده کنم . 

لطفا یه لینکی که واضح توضیح بده برام بذار یا همین کد بالا رو برام یجوری بگو چطوری تکمیلش کنم 

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

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...