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

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

دوست عزیز تو اکتیویتی دوم این متد مقدار n از کجا میاره؟

private void createLayoutDynamically(Integer n)

این متد داخل اکتیویتی coActivity هستش؟

لیستی که داری داخل این متد یعنی list_Co سایزش کمتر از مقدار Index هست که دارین بهش میدین.

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • پاسخ 57
  • ایجاد شد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

بهترین ارسال کنندگان این موضوع

پست های محبوب

دوست عزیز شما یک حلقه دارین به این صورت  for (int i = 0; i < n; i++) این حلقه قراره به تعداد n بار تکرار بشه. اتفاقی که میفته به نظر من این هستش که n متناسب با سایز لیستتون تغییر نمیکنه. من

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

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

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

در 8 دقیقه قبل، a.khosroabadi گفته است :

دوست عزیز تو اکتیویتی دوم این متد مقدار n از کجا میاره؟


private void createLayoutDynamically(Integer n)

این متد داخل اکتیویتی coActivity هستش؟

لیستی که داری داخل این متد یعنی list_Co سایزش کمتر از مقدار Index هست که دارین بهش میدین.

سلام

من n رو از دیتابیس میخونم.تعداد دکمه های من هستش

و این متد داخل coActivity هستش

راه حل چیه بنظر شما.

با تشکر از لطفتون

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 2 دقیقه قبل، Javad Mahmoodi گفته است :

سلام

من n رو از دیتابیس میخونم.تعداد دکمه های من هستش

و این متد داخل coActivity هستش

راه حل چیه بنظر شما.

با تشکر از لطفتون

یک بار چک کنید ببینید سایز لیست چقدر هستش و n چند ؟

لیستو به چه صورت پر میکنید؟

این وسط یه چیزی مشکل داره.

بدون اینکه کد ببینم نمیشه دقیقا راهنمایی کرد.

ولی اولین حرکت مقدار n و سایز لیستو چک کنید.و یه توضیح بدین ارتباط n  با لیست چی هستش؟

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

یک بار چک کنید ببینید سایز لیست چقدر هستش و n چند ؟

لیستو به چه صورت پر میکنید؟

این وسط یه چیزی مشکل داره.

بدون اینکه کد ببینم نمیشه دقیقا راهنمایی کرد.

ولی اولین حرکت مقدار n و سایز لیستو چک کنید.و یه توضیح بدین ارتباط n  با لیست چی هستش؟

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

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

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

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

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

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

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

به جای n بزارین list_Co.size()

و چک کنید

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

به جای n بزارین list_Co.size()

و چک کنید

من یک شی ایجاد کردم به اسم co که دو خصوصیت نام و ایدی دارد.

تو فرایند پر کردن اداپتر هر دفعه لیست من تغییر می کند و برای داشتن تعداد من از یک شمارنده تحت عنوان i استفاده کردم.

بنظر شما الان میتونم از list_Co.size() استفاده کنم؟

 

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

من یک شی ایجاد کردم به اسم co که دو خصوصیت نام و ایدی دارد.

تو فرایند پر کردن اداپتر هر دفعه لیست من تغییر می کند و برای داشتن تعداد من از یک شمارنده تحت عنوان i استفاده کردم.

بنظر شما الان میتونم از list_Co.size() استفاده کنم؟

 

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

 for (int i = 0; i < n; i++)

این حلقه قراره به تعداد n بار تکرار بشه. اتفاقی که میفته به نظر من این هستش که n متناسب با سایز لیستتون تغییر نمیکنه. من پیشنهادم به شما این هستش که به جای این n  مقدار list_Co.size()  قرار بدین این حلقه هربار دقیقا به تعداد لیست شما اجرا بشه.

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

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


 for (int i = 0; i < n; i++)

این حلقه قراره به تعداد n بار تکرار بشه. اتفاقی که میفته به نظر من این هستش که n متناسب با سایز لیستتون تغییر نمیکنه. من پیشنهادم به شما این هستش که به جای این n  مقدار list_Co.size()  قرار بدین این حلقه هربار دقیقا به تعداد لیست شما اجرا بشه.

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در هم اکنون، Javad Mahmoodi گفته است :

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

خداروشکر

خواهش میکنم دوست عزیز

موفق باشید

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

خداروشکر

خواهش میکنم دوست عزیز

موفق باشید

مهندس فقط یه سوال دیگه

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

mybutton.setchecked(db.BB);

BB نام متغیری هست که داخل کلاس دیتابیسم هست و داخل متد مربوطه مقادیر را یکی یکی خوانده و به ازای صفر و یک ها به ما مقدار  True یا False را برمی گردونه.

while (cursor.moveToNext()){
RR=cursor.getString(cursor.getColunmIndex(s));
if(RR=="1"){
BB=True;
}
else{
BB=False;
}

s نام متغری است که سرستون اون مقدار در دیتابیس هست.

ممنون از راهنماییهای خوبتون.

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 6 دقیقه قبل، Javad Mahmoodi گفته است :

مهندس فقط یه سوال دیگه

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


mybutton.setchecked(db.BB);

BB نام متغیری هست که داخل کلاس دیتابیسم هست و داخل متد مربوطه مقادیر را یکی یکی خوانده و به ازای صفر و یک ها به ما مقدار  True یا False را برمی گردونه.


while (cursor.moveToNext()){
RR=cursor.getString(cursor.getColunmIndex(s));
if(RR=="1"){
BB=True;
}
else{
BB=False;
}

s نام متغری است که سرستون اون مقدار در دیتابیس هست.

ممنون از راهنماییهای خوبتون.

سلام دوست عزیز 

راستش خیلی دقیق متوجه سوالتون نشدم، ولی روالی که گفتین درست هشت. و البته اینکه الان این حلقه که گذاشتین قراره یک لیست برگردونه یا فقط یک فیلد و اینکه کوئری سرچ شما فقط قراره یک رکورد برگردونه؟

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

سلام دوست عزیز 

راستش خیلی دقیق متوجه سوالتون نشدم، ولی روالی که گفتین درست هشت. و البته اینکه الان این حلقه که گذاشتین قراره یک لیست برگردونه یا فقط یک فیلد و اینکه کوئری سرچ شما فقط قراره یک رکورد برگردونه؟

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در هم اکنون، Javad Mahmoodi گفته است :

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

میتونید حلقه while هم نزارین.

ولی روالی که طی میکنید صحیح هستش.

 

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

میتونید حلقه while هم نزارین.

ولی روالی که طی میکنید صحیح هستش.

 

ولی تاگل باتن من روشن نمیشه متاسفانه

نمیدونم ایرادش کجاست!!!

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

ولی تاگل باتن من روشن نمیشه متاسفانه

نمیدونم ایرادش کجاست!!!

یه چک کنید ببینید مقدار برگشتی از دیتابیس چی هستش true یا false

همینطور مقدار فیلد BB

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

یه چک کنید ببینید مقدار برگشتی از دیتابیس چی هستش true یا false

همینطور مقدار فیلد BB

کد من به صورت زیر هستش :

    private void createLayoutDynamically(Integer n) {

        for (int i = 0; i < n; i++) {
            final ToggleButton myButton = new ToggleButton(this);
            myButton.setText(list_Co.get(i).Name);
            myButton.setTextOff(list_Co.get(i).Name);
            myButton.setTextOn(list_Co.get(i).Name);
            myButton.setId(i);
            final int id = myButton.getId();
            layout.addView(myButton);

            //Read
                  InsID = LoginActivity.textUser;
                        code = MainActivity.edtcode;
                        Date = MainActivity.date;
                        s = list_Co.get(i).Name;
                         db = new G();
                        db.Read(s, InsID, code, Date);
                        myButton.setChecked(db.BB);
            //Read

            myButton.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View view) {
                    if (myButton.isChecked()) {
                        s = myButton.getText().toString();
                        si = 1;
                        InsID = LoginActivity.textUser;
                        code = MainActivity.edtcode;
                        Date = MainActivity.date;
                        Time = MainActivity.time;
                        db = new G();

                    }
                    else {
                        s = myButton.getText().toString();
                        si = 0;
                        db = new G();
                        db.save(s, si, InsID, code, Date, Time);
                    }

                }
            });
        }
    }

و کد متد Read در دیتا بیس به این صورته :

 

    public void Read(String s, int InsID, String code, String Date) {
        Cursor cursor = database.rawQuery("SELECT " + s + " FROM dd WHERE code = '" + code + "' and Date = '" + Date + "' and InsID = '" + InsID + "';", null);
        if (cursor.getCount() != 0) {
              while (cursor.moveToNext()) {
            RR = cursor.getString(cursor.getColumnIndex(s));
            if (RR == "1")
            {
                BB = true;
            } else {
                BB = false;
            }
             }
        }
    }

 

لطفا بررسی بفرمایید

ارور از قسمت Read// میگیره !!

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

کد من به صورت زیر هستش :


    private void createLayoutDynamically(Integer n) {

        for (int i = 0; i < n; i++) {
            final ToggleButton myButton = new ToggleButton(this);
            myButton.setText(list_Co.get(i).Name);
            myButton.setTextOff(list_Co.get(i).Name);
            myButton.setTextOn(list_Co.get(i).Name);
            myButton.setId(i);
            final int id = myButton.getId();
            layout.addView(myButton);

            //Read
                  InsID = LoginActivity.textUser;
                        code = MainActivity.edtcode;
                        Date = MainActivity.date;
                        s = list_Co.get(i).Name;
                         db = new G();
                        db.Read(s, InsID, code, Date);
                        myButton.setChecked(db.BB);
            //Read

            myButton.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View view) {
                    if (myButton.isChecked()) {
                        s = myButton.getText().toString();
                        si = 1;
                        InsID = LoginActivity.textUser;
                        code = MainActivity.edtcode;
                        Date = MainActivity.date;
                        Time = MainActivity.time;
                        db = new G();

                    }
                    else {
                        s = myButton.getText().toString();
                        si = 0;
                        db = new G();
                        db.save(s, si, InsID, code, Date, Time);
                    }

                }
            });
        }
    }

و کد متد Read در دیتا بیس به این صورته :

 


    public void Read(String s, int InsID, String code, String Date) {
        Cursor cursor = database.rawQuery("SELECT " + s + " FROM dd WHERE code = '" + code + "' and Date = '" + Date + "' and InsID = '" + InsID + "';", null);
        if (cursor.getCount() != 0) {
              while (cursor.moveToNext()) {
            RR = cursor.getString(cursor.getColumnIndex(s));
            if (RR == "1")
            {
                BB = true;
            } else {
                BB = false;
            }
             }
        }
    }

 

لطفا بررسی بفرمایید

ارور از قسمت Read// میگیره !!

بله مشکل رو دیدم

وقتی از دیتابیس دارین اطلاعات رو میگیرین و میریزین داخل یک آبجکت از کلاس Cursor باید cursor رو دوباره به ابتدا برگردونید و از بخونید.

بهترین مثالی که میتونم بزنم درمورد cursor این هستش، تصور کنید که یک نوار کاست هستش و زمانی که شما دارین روش ضبط میکنید به انتها میرسه حالا برای اینکه بتونید ازش استفاده کنید ( گوش بدین ) باید کاستو به اول برگردونید. cursor هم دقیقا به همین صورت هستش وقتی داخلش چیزی میریزین به انتها میره و وقتی میخواین ازش اطلاعاتو بخونید باید به اول برش گردونید.و یک نکته دیگه همیشه هم چک کنید که null نباشه.

کدهای زیر رو قبل از حلقه while بزارین

if(cursor != null ){
// in ghesmato khodeton benevisin ke age chizi peida nakard che etefaghi biofte
}
cursor.moveToFirst();

 

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

بله مشکل رو دیدم

وقتی از دیتابیس دارین اطلاعات رو میگیرین و میریزین داخل یک آبجکت از کلاس Cursor باید cursor رو دوباره به ابتدا برگردونید و از بخونید.

بهترین مثالی که میتونم بزنم درمورد cursor این هستش، تصور کنید که یک نوار کاست هستش و زمانی که شما دارین روش ضبط میکنید به انتها میرسه حالا برای اینکه بتونید ازش استفاده کنید ( گوش بدین ) باید کاستو به اول برگردونید. cursor هم دقیقا به همین صورت هستش وقتی داخلش چیزی میریزین به انتها میره و وقتی میخواین ازش اطلاعاتو بخونید باید به اول برش گردونید.و یک نکته دیگه همیشه هم چک کنید که null نباشه.

کدهای زیر رو قبل از حلقه while بزارین


if(cursor != null ){
// in ghesmato khodeton benevisin ke age chizi peida nakard che etefaghi biofte
}
cursor.moveToFirst();

 

این کد من که در پایین میزارم با کد شما که الان گذاشتید یکی نیست؟!!

if (cursor.getCount() != 0) {

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 2 دقیقه قبل، Javad Mahmoodi گفته است :

این کد من که در پایین میزارم با کد شما که الان گذاشتید یکی نیست؟!!


if (cursor.getCount() != 0) {

 

با اون چک کنید بهتر هستش.

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

با اون چک کنید بهتر هستش.

ممنون

 

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

در 12 دقیقه قبل، a.khosroabadi گفته است :

بله مشکل رو دیدم

وقتی از دیتابیس دارین اطلاعات رو میگیرین و میریزین داخل یک آبجکت از کلاس Cursor باید cursor رو دوباره به ابتدا برگردونید و از بخونید.

بهترین مثالی که میتونم بزنم درمورد cursor این هستش، تصور کنید که یک نوار کاست هستش و زمانی که شما دارین روش ضبط میکنید به انتها میرسه حالا برای اینکه بتونید ازش استفاده کنید ( گوش بدین ) باید کاستو به اول برگردونید. cursor هم دقیقا به همین صورت هستش وقتی داخلش چیزی میریزین به انتها میره و وقتی میخواین ازش اطلاعاتو بخونید باید به اول برش گردونید.و یک نکته دیگه همیشه هم چک کنید که null نباشه.

کدهای زیر رو قبل از حلقه while بزارین


if(cursor != null ){
// in ghesmato khodeton benevisin ke age chizi peida nakard che etefaghi biofte
}
cursor.moveToFirst();

 

در این قسمت شما چک کردین که cursor  خالی هست یا نه ؟ درسته ؟ و اگر پر بود if  اجرا میشه ؟

بعد داخل بدنه if نوشتین اگر چیزی پیدا نکرد ؟؟؟

متوجه منظورتون نشدم لطفا بیشتر توضیح بدین

با تشکر

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

ممنون

 

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

در این قسمت شما چک کردین که cursor  خالی هست یا نه ؟ درسته ؟ و اگر پر بود if  اجرا میشه ؟

بعد داخل بدنه if نوشتین اگر چیزی پیدا نکرد ؟؟؟

متوجه منظورتون نشدم لطفا بیشتر توضیح بدین

با تشکر

آخ اخ ببخشید به جای != باید == بزارین

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

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

آخ اخ ببخشید به جای != باید == بزارین

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

فورس کلوز میده!!

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

بله تو logcat خطارو چاپ میکنه

05-03 10:25:17.701: E/AndroidRuntime(27514): Process: com.course.app.database, PID: 27514
05-03 10:25:17.701: E/AndroidRuntime(27514): java.lang.RuntimeException: Unable to resume activity {com.course.app.database/com.course.app.database.coActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Boolean.booleanValue()' on a null object reference
05-03 10:25:17.701: E/AndroidRuntime(27514):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3426)
05-03 10:25:17.701: E/AndroidRuntime(27514):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
05-03 10:25:17.701: E/AndroidRuntime(27514):     at com.course.app.database.coActivity.createLayoutDynamically(coActivity.java:181)
05-03 10:25:17.701: E/AndroidRuntime(27514):     at com.course.app.database.coActivity.onResume(coActivity.java:67)
 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 29 دقیقه قبل، Javad Mahmoodi گفته است :

05-03 10:25:17.701: E/AndroidRuntime(27514): Process: com.course.app.database, PID: 27514
05-03 10:25:17.701: E/AndroidRuntime(27514): java.lang.RuntimeException: Unable to resume activity {com.course.app.database/com.course.app.database.coActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Boolean.booleanValue()' on a null object reference
05-03 10:25:17.701: E/AndroidRuntime(27514):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3426)
05-03 10:25:17.701: E/AndroidRuntime(27514):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
05-03 10:25:17.701: E/AndroidRuntime(27514):     at com.course.app.database.coActivity.createLayoutDynamically(coActivity.java:181)
05-03 10:25:17.701: E/AndroidRuntime(27514):     at com.course.app.database.coActivity.onResume(coActivity.java:67)
 

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

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

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

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

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

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

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

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

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

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

  • مطالب مشابه

    • توسط 3245
      سلام
      من درحال اموزش اندروید هستم،
      برای این کار، ویدیوهای ساخت کتاب رو خریدم، اما چون اطلاعاتم خیلی کمه،درک مطالب توی این ویدئو سخته برام
      میخواستم اگرممکنه دوستان کلیپی پیشنهاد بدن که سبک تر باشه و بیشتر به مباحث پایه بپردازه، البته خیلی هم نخواد از صفر شروع کنه که خسته کننده میشه...
      طوری باشه پروژه محور باشه اما پروژه سبکی باشه.
       
      ممنون.
       
       
    • توسط aliazmoodeh
      سلام من یه آپی دارم یه قسمت وجود داره که اطلاعات رو از سرور میگیره و تو ریسایکلرویو نمایش میده من میخوام این اطلاعات رو تو حالت افلاین هم داشته باشم یعنی چی یعنی بتونم اطلاعاتی که از سرور گرفتم قبلا رو وقتی کاربر اینترنت بهش نمایش بدم دقیقن مثله تلگرام میگم ولی نمیدونم باید چیکار کنم اگر اموزشی در این رابط دارید بهم بگید یا سورسی دارید بهم بگید پولی یا رایگان باشه برام فرقی نمیکنه فقط میخوام مشکلمو حل کنه
    • توسط Zeynab Tri
      سلام. دوستان بنده یک عدد تازه کار در برنامه نویسی اندروید هستم و نمیدونم این ارور رو چطور حل کنم. ممنون میشم اگر کسی میتونه من رو راهنمایی کنه.عکسش رو گذاشتم.

    • توسط moein123
      سلام دوستان خوبین؟
      من برای آپ خودم ثبتنام و لاگین دارم میسازم
      ثبتنام کاربر به خوبی کار میکنه و مشکلی نداره
      ولی برای لاگین کردن نمیدونم چرا کار نمیکنه
      پیغام خطا هم نمیده
      ببینین این کد سمت سروری که نوشتم
      <?php if($_SERVER['REQUEST_METHOD']=='POST'){ $mail2=$_POST['mail']; $password=$_POST['pass']; require_once 'connect.php'; $sql = "SELECT * FROM register WHERE mail='$mail2' "; $response=mysqli_query($conn,$sql); $result=array(); $result['login']=array(); if(mysqli_num_rows($response)===1){ $row=mysqli_fetch_assoc($response); if(password_verify($password,$row['pass'])){ $index['name']=$row['name']; $index['mail']=$row['mail']; array_push($result['login'],$index); $result['okk']='1'; $result['message']='okk'; echo json_encode($result); mysqli_close($conn); }else{ $result['okk']='0'; $result['message']='error'; echo json_encode($result); mysqli_close($conn); } } } ?> و اینم کد های جاوای اندروید که نوشتم
      package com.android.register1; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.print.PageRange; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.Toast; import com.android.volley.AuthFailureError; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; import com.google.android.material.snackbar.Snackbar; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; public class loginn extends AppCompatActivity { EditText edt_username,edt_password_login; Button btn_login; ProgressBar my_progcess; static String url_login="http://192.168.1.103/register2/login.php"; LinearLayout my_manager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_loginn); find_all(); } private void find_all() { edt_username=findViewById(R.id.edt_username); edt_password_login=findViewById(R.id.edt_pass_login); my_progcess=findViewById(R.id.my_progcess_login); btn_login=findViewById(R.id.btn_login); my_manager=findViewById(R.id.my_manager); btn_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String musername=edt_username.getText().toString().trim(); String mpassword=edt_password_login.getText().toString().trim(); if(!musername.isEmpty() || !mpassword.isEmpty()){ my_login(musername,mpassword); }else { edt_username.setError("username"); edt_password_login.setError("password"); } } }); } public void my_login(final String mail,final String pass){ my_progcess.setVisibility(View.VISIBLE); btn_login.setVisibility(View.GONE); StringRequest request=new StringRequest(Request.Method.POST, url_login, new Response.Listener<String>() { @Override public void onResponse(String response) { try { JSONObject jsonObject=new JSONObject(response); String message=jsonObject.getString("okk"); JSONArray jsonArray=jsonObject.getJSONArray("login"); if(message.equals("1")){ for (int i = 0; i <jsonArray.length() ; i++) { JSONObject jsonObject1=jsonArray.getJSONObject(i); String name=jsonObject1.getString("name").trim(); String mail=jsonObject1.getString("mail").trim(); Snackbar snackbar=Snackbar.make(my_manager, name+mail+"لاگین شدید",Snackbar.LENGTH_LONG); snackbar.getView().setTranslationY(-100); snackbar.show(); } } } catch (JSONException e) { e.printStackTrace(); Toast.makeText(loginn.this, "error1"+e.toString(), Toast.LENGTH_SHORT).show(); my_progcess.setVisibility(View.GONE); btn_login.setVisibility(View.VISIBLE); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(loginn.this, "error2"+error.toString(), Toast.LENGTH_SHORT).show(); my_progcess.setVisibility(View.GONE); btn_login.setVisibility(View.VISIBLE); } }){ @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String,String>params=new HashMap<>(); params.put("mail",mail); params.put("pass",pass); return params; } }; RequestQueue requestQueue= Volley.newRequestQueue(this); requestQueue.add(request); } } ممنون میشم کمکم کنید 
    • توسط hossein1212
      سلام 
      من در اجرا شبیه ساز به مشکل زیر خورده ام راه حلی داره
      اینترنتم اوکیه ولی دانلود نمیکنه


  • فایل


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