رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پست های پیشنهاد شده

import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.List;

public class Recycler_View_Adapter extends RecyclerView.Adapter<Recycler_View_Adapter.adapter>{
    private List<data> data1;
    public Recycler_View_Adapter(List<data> data) {
        this.data1 = data;
    }

    @Override
    public adapter onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item , parent , false);
        adapter ad = new adapter(v);
        return ad;
    }

    @Override
    public void onBindViewHolder(adapter holder, int position) {
        holder.adad1.setText(data1.get(position).getadad1());
        holder.adad2.setText(data1.get(position).getAdad2());
        holder.am.setText(data1.get(position).getAm());
        holder.javab.setText(data1.get(position).getJavab());
    }

    @Override
    public int getItemCount() {
        return data1.size();
    }

    public class adapter extends RecyclerView.ViewHolder {
        public TextView adad1;
        public TextView adad2;
        public TextView am;
        public TextView javab;
        public adapter(View itemView) {
            super(itemView);
            adad1 = (TextView)itemView.findViewById(R.id.adad1);
            adad2 = (TextView)itemView.findViewById(R.id.adad2);
            am = (TextView)itemView.findViewById(R.id.am);
            javab = (TextView)itemView.findViewById(R.id.javab);
            itemView.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View view) {
                    data1.remove(getLayoutPosition());
                    notifyItemRemoved(getAdapterPosition());
                    return false;
                }
            });
        }
    }
}
ویرایش شده توسط soroush_habibi
لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 14 ساعت قبل، soroush_habibi گفته است :

import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.List;

public class Recycler_View_Adapter extends RecyclerView.Adapter<Recycler_View_Adapter.adapter>{
    private List<data> data1;
    public Recycler_View_Adapter(List<data> data) {
        this.data1 = data;
    }

    @Override
    public adapter onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item , parent , false);
        adapter ad = new adapter(v);
        return ad;
    }

    @Override
    public void onBindViewHolder(adapter holder, int position) {
        holder.adad1.setText(data1.get(position).getadad1());
        holder.adad2.setText(data1.get(position).getAdad2());
        holder.am.setText(data1.get(position).getAm());
        holder.javab.setText(data1.get(position).getJavab());
    }

    @Override
    public int getItemCount() {
        return data1.size();
    }

    public class adapter extends RecyclerView.ViewHolder {
        public TextView adad1;
        public TextView adad2;
        public TextView am;
        public TextView javab;
        public adapter(View itemView) {
            super(itemView);
            adad1 = (TextView)itemView.findViewById(R.id.adad1);
            adad2 = (TextView)itemView.findViewById(R.id.adad2);
            am = (TextView)itemView.findViewById(R.id.am);
            javab = (TextView)itemView.findViewById(R.id.javab);
            itemView.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View view) {
                    data1.remove(getLayoutPosition());
                    notifyItemRemoved(getAdapterPosition());
                    return false;
                }
            });
        }
    }
}

سلام دوست عزیز تو کلاس MainPage احتمالا یک متد onClick دارین ؟ میشه این قسمتو هم بزارین

لینک ارسال
به اشتراک گذاری در سایت های دیگر
tavan.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        double number1, number2, rsl = 0;
        number1 = 1;
        number2 = 1;
        if (!num1.getText().toString().equals("")) {
            number1 = Integer.parseInt(num1.getText().toString());
        }
        if (!num2.getText().toString().equals("")) {
            number2 = Integer.parseInt(num2.getText().toString());
        }
        rsl = Math.pow(number1, number2);
        jvb.setText(String.valueOf(rsl));
        Animation a = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
        tavan.startAnimation(a);
        t6.startFloating(tavan);
        data data2 = new data("title:" + number1, "description" + number2, "", "");
        data1.add(data2);
        notifyAll();
    }
});
ویرایش شده توسط soroush_habibi
لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 20 دقیقه قبل، soroush_habibi گفته است :

tavan.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        double number1, number2, rsl = 0;
        number1 = 1;
        number2 = 1;
        if (!num1.getText().toString().equals("")) {
            number1 = Integer.parseInt(num1.getText().toString());
        }
        if (!num2.getText().toString().equals("")) {
            number2 = Integer.parseInt(num2.getText().toString());
        }
        rsl = Math.pow(number1, number2);
        jvb.setText(String.valueOf(rsl));
        Animation a = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
        tavan.startAnimation(a);
        t6.startFloating(tavan);
        data data2 = new data("title:" + number1, "description" + number2, "", "");
        data1.add(data2);
        notifyAll();
    }
});

مشکل تو این متد notifyAll هستش. چیزی که من از قطعه کد های شما متوجه شدم اینه که دارین تو اکتیویتی یه ایتم به لیستتون اضافه میکنید درسته؟

برای اینکار میتونستین دوتا کار انجام بدین اول اینکه یه متد برای اضافه کردن ایتم تو اداپترتون میزاشتین و به لیستتون اضافه میکردین به این صورت

    public void add(ProductBean.Product productBean){
        productBeanList.add(productBean);
        notifyItemInserted(productBeanList.size() - 1);
    }

و دیگه اینجوری تو اکتیویتی به لیست اضافه نمیکردین احتیاجی هم به متد notifyAll نیستش.

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 35 دقیقه قبل، a.khosroabadi گفته است :

مشکل تو این متد notifyAll هستش. چیزی که من از قطعه کد های شما متوجه شدم اینه که دارین تو اکتیویتی یه ایتم به لیستتون اضافه میکنید درسته؟

برای اینکار میتونستین دوتا کار انجام بدین اول اینکه یه متد برای اضافه کردن ایتم تو اداپترتون میزاشتین و به لیستتون اضافه میکردین به این صورت


    public void add(ProductBean.Product productBean){
        productBeanList.add(productBean);
        notifyItemInserted(productBeanList.size() - 1);
    }

و دیگه اینجوری تو اکتیویتی به لیست اضافه نمیکردین احتیاجی هم به متد notifyAll نیستش.

لطفا یه توضیحی درباره ی این کد بدین

ویرایش شده توسط soroush_habibi
لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 12 دقیقه قبل، soroush_habibi گفته است :

لطفا یه توضیحی درباره ی این کد بدین

ببینید متد notifyAll که تو کلاس های جاوا هستش برای این نیست که شما به main thread بگید که ui رو اپدیت کنه چون تعریف و کارایش متفاوت هست بعضی زمانها شما همه thread هایی که دارین تو حالت wait نگه میدارین تا یه کاری توسط یه thread انجام بشه.حالا برای اینکه این theard های wait شده به اصطلاح بیدار کنید از متد notifyAll استفاده میکنید.ولی اینجا ما هیچ thread نداریم که wait باشه.

 

شما باید به خود adapter اطلاع بدین که یک ایتم به لیستتون اضافه شده که اینکارو میتونید به وسیله متد 

notifyItemInserted()

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

و این قسمت هم 

productBeanList.size() - 1

مکان ایتم جدید رو تو ادپتر مشخص میکنه یعنی میگم به انتهای لیست اضافه کنه.اگه مثلا 0 بزارین ایتم های جدید  اول میاره.

حالا شما باید یه متد add مثل این تو کلاس adapter که ساختین بزارین ورودیش میشه object شما و اونو به لیست اضافه میکنه و به متد بالا هم به adapter اطلاع میدید که یک ایتم جدید اضافه شده و باید خودشو اپدیت کنه.

حالا شما به جای اینکه یک ایتم به لیستتون اضافه کنید میاید این متد  از adapter صدا میزنید و ابجکت رو بهش پاس میدین.

ویرایش شده توسط a.khosroabadi
لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 1 ساعت قبل، a.khosroabadi گفته است :

ببینید متد notifyAll که تو کلاس های جاوا هستش برای این نیست که شما به main thread بگید که ui رو اپدیت کنه چون تعریف و کارایش متفاوت هست بعضی زمانها شما همه thread هایی که دارین تو حالت wait نگه میدارین تا یه کاری توسط یه thread انجام بشه.حالا برای اینکه این theard های wait شده به اصطلاح بیدار کنید از متد notifyAll استفاده میکنید.ولی اینجا ما هیچ thread نداریم که wait باشه.

 

شما باید به خود adapter اطلاع بدین که یک ایتم به لیستتون اضافه شده که اینکارو میتونید به وسیله متد 


notifyItemInserted()

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

و این قسمت هم 


productBeanList.size() - 1

مکان ایتم جدید رو تو ادپتر مشخص میکنه یعنی میگم به انتهای لیست اضافه کنه.اگه مثلا 0 بزارین ایتم های جدید  اول میاره.

حالا شما باید یه متد add مثل این تو کلاس adapter که ساختین بزارین ورودیش میشه object شما و اونو به لیست اضافه میکنه و به متد بالا هم به adapter اطلاع میدید که یک ایتم جدید اضافه شده و باید خودشو اپدیت کنه.

حالا شما به جای اینکه یک ایتم به لیستتون اضافه کنید میاید این متد  از adapter صدا میزنید و ابجکت رو بهش پاس میدین.

این کارو کردم ولی وقتی رو دکمه کلیک می کنم چیزی به ریسایکلرویو اضاف نمیشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 4 ساعت قبل، soroush_habibi گفته است :

این کارو کردم ولی وقتی رو دکمه کلیک می کنم چیزی به ریسایکلرویو اضاف نمیشه

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

میشه قطعه کد اداپتر و اکتیویتی بزاری

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 15 دقیقه قبل، a.khosroabadi گفته است :

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

میشه قطعه کد اداپتر و اکتیویتی بزاری

آداپتر:

import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.ArrayList;

public class Recycler_View_Adapter extends RecyclerView.Adapter<Recycler_View_Adapter.adapter>{
    private ArrayList<data> data1;
    public Recycler_View_Adapter(ArrayList<data> data) {
        this.data1 = data;
    }

    @Override
    public adapter onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item , parent , false);
        adapter ad = new adapter(v);
        return ad;
    }

    @Override
    public void onBindViewHolder(adapter holder, int position) {
        holder.adad1.setText(data1.get(position).getadad1());
        holder.adad2.setText(data1.get(position).getAdad2());
        holder.am.setText(data1.get(position).getAm());
        holder.javab.setText(data1.get(position).getJavab());
    }

    @Override
    public int getItemCount() {
        return data1.size();
    }

    public class adapter extends RecyclerView.ViewHolder {
        public TextView adad1;
        public TextView adad2;
        public TextView am;
        public TextView javab;
        public adapter(View itemView) {
            super(itemView);
            adad1 = (TextView)itemView.findViewById(R.id.adad1);
            adad2 = (TextView)itemView.findViewById(R.id.adad2);
            am = (TextView)itemView.findViewById(R.id.am);
            javab = (TextView)itemView.findViewById(R.id.javab);
            itemView.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View view) {
                    data1.remove(getLayoutPosition());
                    notifyItemRemoved(getAdapterPosition());
                    return false;
                }
            });
        }
    }
    public void add(data d){
        data1.add(d);
        notifyItemInserted(this.data1.size() -1);
    }
}

 

 

اینم کل کد اکتیویتی:

public class mainpage extends AppCompatActivity {

    private Toolbar toolbar;
    private RecyclerView rc;
    ArrayList<data> data1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mainpage);
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        rc = (RecyclerView) findViewById(R.id.rc);
        data1 = new ArrayList<>();
        rc.setAdapter(new Recycler_View_Adapter(data1));
        rc.setLayoutManager(new LinearLayoutManager(this));
        RecyclerView.ItemAnimator itemAnimator = new DefaultItemAnimator();
        itemAnimator.setAddDuration(1000);
        itemAnimator.setRemoveDuration(1000);
        rc.setItemAnimator(itemAnimator);
        final EditText num1 = (EditText) findViewById(R.id.editText);
        final EditText num2 = (EditText) findViewById(R.id.editText2);
        final TextView jvb = (TextView) findViewById(R.id.textView);
        final Button plus = (Button) findViewById(R.id.button1212);
        final Button up = (Button) findViewById(R.id.up);
        final Button down = (Button) findViewById(R.id.down);
        final Button up2 = (Button) findViewById(R.id.up2);
        final Button down2 = (Button) findViewById(R.id.down2);
        final Button minus = (Button) findViewById(R.id.button2);
        final Button drum = (Button) findViewById(R.id.button3);
        final Button c = (Button) findViewById(R.id.c);
        final Button majzoor = (Button) findViewById(R.id.button6);
        final Button division = (Button) findViewById(R.id.button4);
        final Button radical = (Button) findViewById(R.id.button5);
        final Button mokaab = (Button) findViewById(R.id.button7);
        final Button darsad = (Button) findViewById(R.id.button8);
        final Button tavan = (Button) findViewById(R.id.tavan);
        final FloatingText t6 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("توان")
                .build();
        t6.attach2Window();

        final FloatingText t7 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("رادیکال")
                .build();
        t7.attach2Window();

        final FloatingText t8 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("درصد")
                .build();
        t8.attach2Window();

        final FloatingText t9 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("مکعب")
                .build();
        t9.attach2Window();

        final FloatingText t10 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("مجذور")
                .build();
        t10.attach2Window();

        final FloatingText t11 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(30)
                .textContent("تمیز شد")
                .build();
        t11.attach2Window();

        final FloatingText t12 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.RED)
                .textSize(50)
                .textContent("+1")
                .build();
        t12.attach2Window();

        final FloatingText t13 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.RED)
                .textSize(50)
                .textContent("-1")
                .build();
        t13.attach2Window();

        final FloatingText t14 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.RED)
                .textSize(50)
                .textContent("+1")
                .build();
        t14.attach2Window();

        final FloatingText t15 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.RED)
                .textSize(50)
                .textContent("-1")
                .build();
        t15.attach2Window();

        final FloatingText t16 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("+")
                .build();
        t16.attach2Window();

        final FloatingText t17 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("-")
                .build();
        t17.attach2Window();

        final FloatingText t18 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("×")
                .build();
        t18.attach2Window();

        final FloatingText t19 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("÷")
                .build();
        t19.attach2Window();

        tavan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2, rsl = 0, k = 100, vv = 1000000;
                number1 = 1;
                number2 = 1;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                if (number2 >= k || number1 >= vv) {
                    Toast.makeText(getApplicationContext(), "لطفا یک عدد کوچک تر وارد کنید", Toast.LENGTH_LONG).show();
                } else {
                    rsl = Math.pow(number1, number2);
                    jvb.setText(String.valueOf(rsl));
                }
                Animation a = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                tavan.startAnimation(a);
                t6.startFloating(tavan);
                data data2 = new data("title:" + number1, "description" + number2,"","");
                data1.add(data2);
                Recycler_View_Adapter n = new Recycler_View_Adapter(data1);
                n.add(data2);
            }
        });
        radical.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1;
                double number2;
                String rsl;
                double dd;
                double oo;
                String a = "رادیکال عدد اول:";
                String b = "رادیکال عدد دوم:";
                number1 = 1;
                number2 = 1;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                oo = Math.sqrt(number1);
                dd = Math.sqrt(number2);
                rsl = a + oo + "       " + b + dd;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                radical.startAnimation(a1);
                t7.startFloating(radical);
            }
        });
        darsad.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2, rsl, fgh;
                number1 = 0;
                number2 = 0;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 * number2;
                fgh = rsl / 100;
                jvb.setText(String.valueOf(fgh));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                darsad.startAnimation(a1);
                t8.startFloating(darsad);
            }
        });
        mokaab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2;
                String rsl, char1, char2;
                char1 = "جواب عدد اول:";
                char2 = "جواب عدد دوم:";
                number1 = 0;
                number2 = 0;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = char1 + number1 * number1 * number1 + "       " + char2 + number2 * number2 * number2;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                mokaab.startAnimation(a1);
                t9.startFloating(mokaab);
            }
        });
        majzoor.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2;
                String rsl, char1, char2;
                char1 = "جواب عدد اول:";
                char2 = "جواب عدد دوم:";
                number1 = 0;
                number2 = 0;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = char1 + number1 * number1 + "       " + char2 + number2 * number2;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                majzoor.startAnimation(a1);
                t10.startFloating(majzoor);
            }
        });
        c.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String string1 = "جواب";
                String string2 = "";
                jvb.setText(string1);
                num1.setText(string2);
                num2.setText(string2);
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                c.startAnimation(a1);
                t11.startFloating(c);
            }
        });
        up.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int number1, n1, rsl;
                number1 = 0;
                n1 = 1;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                rsl = number1 + n1;
                num1.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                up.startAnimation(a1);
                t12.startFloating(up);
            }
        });
        down.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int number1, n1, rsl;
                number1 = 0;
                n1 = 1;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                rsl = number1 - n1;
                num1.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                down.startAnimation(a1);
                t13.startFloating(down);
            }
        });
        up2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int number1, n1, rsl;
                number1 = 0;
                n1 = 1;
                if (!num2.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 + n1;
                num2.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                up2.startAnimation(a1);
                t14.startFloating(up2);
            }
        });
        down2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int number1, n1, rsl;
                number1 = 0;
                n1 = 1;
                if (!num2.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 - n1;
                num2.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                down2.startAnimation(a1);
                t15.startFloating(down2);
            }
        });
        plus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2, rsl;
                number1 = 0;
                number2 = 0;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 + number2;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                plus.startAnimation(a1);
                t16.startFloating(plus);
            }
        });
        minus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2, rsl;
                number1 = 0;
                number2 = 0;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 - number2;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                minus.startAnimation(a1);
                t17.startFloating(minus);
            }
        });
        drum.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2, rsl;
                number1 = 0;
                number2 = 0;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 * number2;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                drum.startAnimation(a1);
                t18.startFloating(drum);
            }
        });
        division.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2, rsl;
                number1 = 0;
                number2 = 1;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 / number2;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                division.startAnimation(a1);
                t19.startFloating(division);
            }
        });
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.home) {
            NavUtils.navigateUpFromSameTask(this);
        }
        return super.onOptionsItemSelected(item);
    }
}
ویرایش شده توسط soroush_habibi
لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 5 دقیقه قبل، soroush_habibi گفته است :

آداپتر:


import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.ArrayList;

public class Recycler_View_Adapter extends RecyclerView.Adapter<Recycler_View_Adapter.adapter>{
    private ArrayList<data> data1;
    public Recycler_View_Adapter(ArrayList<data> data) {
        this.data1 = data;
    }

    @Override
    public adapter onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item , parent , false);
        adapter ad = new adapter(v);
        return ad;
    }

    @Override
    public void onBindViewHolder(adapter holder, int position) {
        holder.adad1.setText(data1.get(position).getadad1());
        holder.adad2.setText(data1.get(position).getAdad2());
        holder.am.setText(data1.get(position).getAm());
        holder.javab.setText(data1.get(position).getJavab());
    }

    @Override
    public int getItemCount() {
        return data1.size();
    }

    public class adapter extends RecyclerView.ViewHolder {
        public TextView adad1;
        public TextView adad2;
        public TextView am;
        public TextView javab;
        public adapter(View itemView) {
            super(itemView);
            adad1 = (TextView)itemView.findViewById(R.id.adad1);
            adad2 = (TextView)itemView.findViewById(R.id.adad2);
            am = (TextView)itemView.findViewById(R.id.am);
            javab = (TextView)itemView.findViewById(R.id.javab);
            itemView.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View view) {
                    data1.remove(getLayoutPosition());
                    notifyItemRemoved(getAdapterPosition());
                    return false;
                }
            });
        }
    }
    public void add(data d){
        data1.add(d);
        notifyItemInserted(this.data1.size() -1);
    }
}

 

 

اینم کل کد اکتیویتی:


public class mainpage extends AppCompatActivity {

    private Toolbar toolbar;
    private RecyclerView rc;
    ArrayList<data> data1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mainpage);
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        rc = (RecyclerView) findViewById(R.id.rc);
        data1 = new ArrayList<>();
        rc.setAdapter(new Recycler_View_Adapter(data1));
        rc.setLayoutManager(new LinearLayoutManager(this));
        RecyclerView.ItemAnimator itemAnimator = new DefaultItemAnimator();
        itemAnimator.setAddDuration(1000);
        itemAnimator.setRemoveDuration(1000);
        rc.setItemAnimator(itemAnimator);
        final EditText num1 = (EditText) findViewById(R.id.editText);
        final EditText num2 = (EditText) findViewById(R.id.editText2);
        final TextView jvb = (TextView) findViewById(R.id.textView);
        final Button plus = (Button) findViewById(R.id.button1212);
        final Button up = (Button) findViewById(R.id.up);
        final Button down = (Button) findViewById(R.id.down);
        final Button up2 = (Button) findViewById(R.id.up2);
        final Button down2 = (Button) findViewById(R.id.down2);
        final Button minus = (Button) findViewById(R.id.button2);
        final Button drum = (Button) findViewById(R.id.button3);
        final Button c = (Button) findViewById(R.id.c);
        final Button majzoor = (Button) findViewById(R.id.button6);
        final Button division = (Button) findViewById(R.id.button4);
        final Button radical = (Button) findViewById(R.id.button5);
        final Button mokaab = (Button) findViewById(R.id.button7);
        final Button darsad = (Button) findViewById(R.id.button8);
        final Button tavan = (Button) findViewById(R.id.tavan);
        final FloatingText t6 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("توان")
                .build();
        t6.attach2Window();

        final FloatingText t7 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("رادیکال")
                .build();
        t7.attach2Window();

        final FloatingText t8 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("درصد")
                .build();
        t8.attach2Window();

        final FloatingText t9 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("مکعب")
                .build();
        t9.attach2Window();

        final FloatingText t10 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("مجذور")
                .build();
        t10.attach2Window();

        final FloatingText t11 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(30)
                .textContent("تمیز شد")
                .build();
        t11.attach2Window();

        final FloatingText t12 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.RED)
                .textSize(50)
                .textContent("+1")
                .build();
        t12.attach2Window();

        final FloatingText t13 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.RED)
                .textSize(50)
                .textContent("-1")
                .build();
        t13.attach2Window();

        final FloatingText t14 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.RED)
                .textSize(50)
                .textContent("+1")
                .build();
        t14.attach2Window();

        final FloatingText t15 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.RED)
                .textSize(50)
                .textContent("-1")
                .build();
        t15.attach2Window();

        final FloatingText t16 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("+")
                .build();
        t16.attach2Window();

        final FloatingText t17 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("-")
                .build();
        t17.attach2Window();

        final FloatingText t18 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("×")
                .build();
        t18.attach2Window();

        final FloatingText t19 = new FloatingText.FloatingTextBuilder(mainpage.this)
                .textColor(Color.BLUE)
                .textSize(50)
                .textContent("÷")
                .build();
        t19.attach2Window();

        tavan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2, rsl = 0, k = 100, vv = 1000000;
                number1 = 1;
                number2 = 1;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                if (number2 >= k || number1 >= vv) {
                    Toast.makeText(getApplicationContext(), "لطفا یک عدد کوچک تر وارد کنید", Toast.LENGTH_LONG).show();
                } else {
                    rsl = Math.pow(number1, number2);
                    jvb.setText(String.valueOf(rsl));
                }
                Animation a = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                tavan.startAnimation(a);
                t6.startFloating(tavan);
                data data2 = new data("title:" + number1, "description" + number2,"","");
                data1.add(data2);
                Recycler_View_Adapter n = new Recycler_View_Adapter(data1);
                n.add(data2);
            }
        });
        radical.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1;
                double number2;
                String rsl;
                double dd;
                double oo;
                String a = "رادیکال عدد اول:";
                String b = "رادیکال عدد دوم:";
                number1 = 1;
                number2 = 1;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                oo = Math.sqrt(number1);
                dd = Math.sqrt(number2);
                rsl = a + oo + "       " + b + dd;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                radical.startAnimation(a1);
                t7.startFloating(radical);
            }
        });
        darsad.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2, rsl, fgh;
                number1 = 0;
                number2 = 0;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 * number2;
                fgh = rsl / 100;
                jvb.setText(String.valueOf(fgh));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                darsad.startAnimation(a1);
                t8.startFloating(darsad);
            }
        });
        mokaab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2;
                String rsl, char1, char2;
                char1 = "جواب عدد اول:";
                char2 = "جواب عدد دوم:";
                number1 = 0;
                number2 = 0;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = char1 + number1 * number1 * number1 + "       " + char2 + number2 * number2 * number2;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                mokaab.startAnimation(a1);
                t9.startFloating(mokaab);
            }
        });
        majzoor.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2;
                String rsl, char1, char2;
                char1 = "جواب عدد اول:";
                char2 = "جواب عدد دوم:";
                number1 = 0;
                number2 = 0;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = char1 + number1 * number1 + "       " + char2 + number2 * number2;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                majzoor.startAnimation(a1);
                t10.startFloating(majzoor);
            }
        });
        c.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String string1 = "جواب";
                String string2 = "";
                jvb.setText(string1);
                num1.setText(string2);
                num2.setText(string2);
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                c.startAnimation(a1);
                t11.startFloating(c);
            }
        });
        up.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int number1, n1, rsl;
                number1 = 0;
                n1 = 1;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                rsl = number1 + n1;
                num1.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                up.startAnimation(a1);
                t12.startFloating(up);
            }
        });
        down.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int number1, n1, rsl;
                number1 = 0;
                n1 = 1;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                rsl = number1 - n1;
                num1.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                down.startAnimation(a1);
                t13.startFloating(down);
            }
        });
        up2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int number1, n1, rsl;
                number1 = 0;
                n1 = 1;
                if (!num2.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 + n1;
                num2.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                up2.startAnimation(a1);
                t14.startFloating(up2);
            }
        });
        down2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int number1, n1, rsl;
                number1 = 0;
                n1 = 1;
                if (!num2.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 - n1;
                num2.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                down2.startAnimation(a1);
                t15.startFloating(down2);
            }
        });
        plus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2, rsl;
                number1 = 0;
                number2 = 0;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 + number2;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                plus.startAnimation(a1);
                t16.startFloating(plus);
            }
        });
        minus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2, rsl;
                number1 = 0;
                number2 = 0;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 - number2;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                minus.startAnimation(a1);
                t17.startFloating(minus);
            }
        });
        drum.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2, rsl;
                number1 = 0;
                number2 = 0;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 * number2;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                drum.startAnimation(a1);
                t18.startFloating(drum);
            }
        });
        division.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double number1, number2, rsl;
                number1 = 0;
                number2 = 1;
                if (!num1.getText().toString().equals("")) {
                    number1 = Integer.parseInt(num1.getText().toString());
                }
                if (!num2.getText().toString().equals("")) {
                    number2 = Integer.parseInt(num2.getText().toString());
                }
                rsl = number1 / number2;
                jvb.setText(String.valueOf(rsl));
                Animation a1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click);
                division.startAnimation(a1);
                t19.startFloating(division);
            }
        });
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.home) {
            NavUtils.navigateUpFromSameTask(this);
        }
        return super.onOptionsItemSelected(item);
    }
}

مشکل پیدا شد

شما داری در ابتدا یه adabter میسازی و به recycler View ست میکنی تو این خط

rc.setAdapter(new Recycler_View_Adapter(data1));

و تو متد onClick دوباره دارین یک adabter  دیگه میسازین و متد add رو صدا میزنید؟ خوب مشخصه این یه ابجکت جدید هستش و شما به اون اضافه میکنید.

شما باید متد add همون adaptere اولیو صدا بزنید.

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

شما این کارو باید انجام بدین

fina Recycler_View_Adapter mAdapter = new Recycler_View_Adapter(data1);
rc.setAdapter(mAdaper);

و تو متد onClick هم به این صورت عمل کنید

mAdapter.add(data);

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 15 دقیقه قبل، a.khosroabadi گفته است :

شما این کارو باید انجام بدین


fina Recycler_View_Adapter mAdapter = new Recycler_View_Adapter(data1);
rc.setAdapter(mAdaper);

و تو متد onClick هم به این صورت عمل کنید


mAdapter.add(data);

 

هووووورا.درست شد?

ممنونم که کمکم کردین?

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 1 دقیقه قبل، soroush_habibi گفته است :

هووووورا.درست شد?

ممنونم که کمکم کردین?

:)  خداروشکر.خواهش میکنم کاری نکردم که.

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • مطالب مشابه

    • توسط hami develop
      سلام خدمت دوستان عزیز.
      من یک اپلیکیشن اندروید درست کردم و از کلاس service ارث بری کردم و هر دقیقه یک بار یک وب سایت را چک میکند و در صورتی که اطلاعات جدیدی در این وب سایت وجود داشته باشد به من یک نوتیفیکیشن میدهد.
      آیا بهتر است که از کلاس Worker ارث بری کنم تا برنامه وظایفی را انجام دهد؟
      نکته: در واقع می‌خواهم برنامه برای مدت طولانی اجرا شود و هیچ گاه متوقف نشود.
      اگر کسی از دوستان تجربه کار با Worker را دارد لطفا بفرمایند که اختلاف
      Worker 
      و
      Service 
      دقیقا چی هست و برای برنامه ای که همیشه در بک گراند در حال اجرا است، کدامیک بهتر است؟
      سپاس بی کران.
    • توسط AliAmani
      سلام.وقت بخیر.من به یه ارور بر خوردم. دیباگر attach نمیشه.لطفا راهنماییم کنید.
      اندروید استودیو را حذف و دوباره نصب کردم.avd جدید ایجاد کردم.adb را kill و بعد start کردم.اما درست نشد.
      مشکل فقط در پروژه های اندروید است و در پروژه های فلاتر مشکلی نیست.
      debug.pdf
    • توسط elecomco
      آیا می‌خواهید برنامه اندروید بعدی خود را بسازید ، اما مطمئن نیستید که کدام زبان برنامه‌نویسی برای شما بهترین انتخاب است؟ در این مقاله به زبان هایی خواهم پرداخت که برای توسعه برنامه های اندروید بعدی ممکن است از آنها استفاده کنم.
      اندروید پذیرفته ترین سیستم عامل موبایل در جهان است. اندروید توسط گوگل توسعه داده شد و یک سیستم‌عامل باز مبتنی بر لینوکس است. اندروید کاملا متن باز است و هر شرکت یا فردی می‌تواند آن را دانلود کرده و از آن برای محصولات خود استفاده کند. در اصل ، این سیستم عامل از طریق شرکت اندروید برای دوربین‌های دیجیتال و موبایل طراحی شد. شرکت اندروید در سال ۲۰۰۵ توسط گوگل خریداری شد. در حال حاضر ، ۲.۳ میلیارد تلفن هوشمند اندروید در جهان وجود دارد.
      اندروید نه تنها از دو میلیارد تلفن هوشمند ، لپ‌تاپ ، تبلت  و کامپیوترهای شخصی پشتیبانی میکند ، بلکه اندروید قلب تپنده میلیاردها دستگاهی است که در زندگی روزمره خود از آنها استفاده می‌کنید. برخی از این وسایل عبارتند از: تلویزیون ، سیستم‌های امنیت خانگی ، یخچال و فریزر ، باکس های تلویزیونی ، دوربین ها ، ماشین ها ، سیستم‌های ناوبری ، تبلت های هوشمند ، بازی رایانه‌ای و وسایل خانگی هوشمند.
      چه زبان‌های برنامه‌نویسی می‌توانند برای توسعه برنامه‌های کاربردی تلفن همراه به کار روند؟ در اینجا لیستی از رایج‌ترین زبان‌های برنامه‌نویسی برای توسعه برنامه‌های اندروید آورده شده است : 
      Java Kotlin #C Python ++C
      جاوا
      زبان جاوا محبوب‌ترین زبان برنامه‌نویسی در این زمینه است. جاوا یک زبان برنامه‌نویسی استاتیک ، همه منظوره و متن باز است. جاوا از زمان راه‌اندازی سیستم‌عامل اندروید , زبان برنامه‌نویسی اولیه این سیستم عامل بوده است . جاوا در شرکت سان میکروسیستمز توسط James Gosling در سال ۱۹۹۵ ساخته شد. این زبان برنامه نویسی در حال حاضر متعلق به اوراکل است.
      جاوا براساس ++c  ساخته شد تا یادگیری آن برای توسعه دهندگان ساده باشد. این زبان همراه با ++c بهترین زبان‌های برنامه‌نویسی برای دانشجویان و افراد تازه کار برای یادگیری اصول برنامه‌نویسی هستند. زبان جاوا توسط بسیاری از دانشگاه‌ها به عنوان اولین زبان برنامه‌نویسی برای آموزش به دانشجویان استفاده میشود.
      برخلاف زبان های سوئیفت، سی شارپ و کاتلین ممکن است جاوا زبان برنامه‌نویسی مدرنی نباشد و مانند زبان های دیگر مدام بروزرسانی نشود. با این حال , زبان جاوا نقطه شروعی را برای توسعه دهندگان جدید مشخص میکند. یادگیری زبان جاوا در مقایسه با کاتلین بسیار ساده‌تر است. اگر یک توسعه دهنده تازه کار هستید و میخواهید توسعه اندروید را یاد بگیرید , جاوا یکی از آسان‌ترین راه‌ها برای شروع است.
      کاتلین
      کاتلین یک زبان برنامه‌نویسی مدرن , دقیق , ایمن , شی گرا و سازگار با همه ی پلتفرم هاست که توسط یک شرکت نرم‌افزاری به نام JetBrains در سال ۲۰۱۱ ساخته شده‌است. این زبان برای ساخت نرم‌افزارهای کاربردی , برنامه های اندروید و برنامه‌های بومی استفاده می‌شود. در حال حاضر گوگل توسط شرکت گوگل پشتیبانی میشود.
      زبان کاتلین از زمان انتشار Android Studio ۳,۰ در اکتبر سال ۲۰۱۷  به عنوان زبان برنامه‌نویسی رسمی برای اندروید استفاده شده‌است. این زبان برای طراحی برنامه‌های کاربردی ، ساخت اپلیکیشن های مدرن و ارائه قابلیت‌های جدید برای توسعه دهندگان طراحی شده است. کاتلین برای شما سادگی , انعطاف‌پذیری و بهره‌وری را فراهم می آورد.
      کد های نوشته شده در این زبان نسبت به زبان جاوا کوتاه تر و تمیز تر است. برای پروژ های اندروید بعدی شدیدا ً توصیه می‌کنم که از این زبان استفاده کنید . 
      #C
      زبان #C توسط Anders Hejlsberg در مایکروسافت در سال ۲۰۰۰ ایجاد شد. سی شارپ یک زبان برنامه‌نویسی ساده ، انعطاف‌پذیر ، ایمن ، و متن باز است. این زبان یکی از پراستفاده ترین زبان‌های برنامه‌نویسی در جهان است. سی شارپ به توسعه‌دهندگان اجازه می‌دهد تا تمام برنامه‌های کاربردی از قبیل ویندوز ، کنسول‌ها ، برنامه‌های وب ، برنامه‌های موبایل ، و سیستم‌های backend را بسازند.
      برنامه نویسان سی شارپ می‌توانند برنامه‌های کاربردی ios و اندروید را با کمک Xamarin بسازند . Xamarin به عنوان بخشی از ویژوال استادیو ابزاری است که به توسعه دهندگان اجازه میدهد کدهای سی شارپ خود را به برنامه های بومی اندروید و یا ios تبدیل کنند. سی شارپ طراحان را قادر می‌سازد که برنامه‌های کاربردی ios بومی و اندروید را بدون آگاهی از یک زبان برنامه‌نویسی جدید بسازند.
      پایتون
      پایتون یکی از رایج‌ترین زبان‌های برنامه‌نویسی زمانه اخیر است. پایتون که توسط Guido van Rossum در سال ۱۹۹۱ ایجاد شد. این زبان متن باز ، سطح بالا و همه منظوره است. پایتون یک زبان برنامه‌نویسی پویا است که از پارادایم‌های توسعه شی گرا ، تابعی و رویه‌ای پشتیبانی می‌کند. این زبان در برنامه‌نویسی یادگیری ماشین بسیار محبوب است. در توسعه نرم‌افزار های اندروید ، پایتون جهت ایجاد کتابخانه‌ها ، توابع ، و دیگر وظایف پردازش به کار می‌رود .
      ++C
      ++C یکی از قدیمی‌ترین و محبوب‌ترین زبان‌های برنامه‌نویسی است. ++C برای ساختن رابط های کاربری یا صفحات برنامه استفاده نمی‌شود. در فرآیند توسعه اندروید ، ++C برای ساختن API ها و وظایف backend استفاده می‌شود. توسعه دهندگان front end درگیر توسعه ++C نیستند ، بلکه کارکرد این زبان بیشتر مربوط به API هاست که مربوط به بخش back-end است. کتابخانه های معروفی در + +C  وجود دارند که برای توسعه دهندگان Android در دسترس هستند و میتوانند از آنها در برنامه های خود استفاده کنند.

      نتیجه‌گیری
      اندروید رایجترین سیستم‌عامل در دنیا است. برای ساخت اپلیکیشن اندروید از دو زبان برنامه‌نویسی اصلی یعنی جاوا و کاتلین استفاده شده‌است. در حالی که زبان برنامه‌نویسی جاوا یک زبان برنامه‌نویسی قدیمی است اما زبان کاتلین یک زبان سریع واضح و در حال تکامل است. اگر شما یک توسعه دهنده جدید هستید و به تازگی می‌خواهید توسعه برنامه های اندرویدی را شروع کنید، پیشنهاد من به شما زبان کاتلین است.
             
    • توسط asghar.a83
      سلام دوستان خسته نباشید من یه باتن دارم که میخوام وقتی کاربر روش کلیک کنه یه ثانیه تغییر رنگ بده تا کاربر بفهمه کلیک کرده و از اون حالت بی روحی در بیاد میدونم خیلی سادس ولی تو کاتلین تازه کارم لطفا جواب بدید
    • توسط sina_f2000
      با سلام و خسته نباشید خدمت اساتید بزرگوار 
      یه درخواست داشتم امیدوارم کمکم کنید
      کد ارسال تصاویر یک دایرکتوری از قبل مشخص شده به سمت سرور میخاستم اگه لطف کنید کدش به همراه فایل php بفرستید ممنون میشم
         
  • فایل

×
×
  • اضافه کردن...