رفتن به مطلب

آموزش جامع دیتابیس آنلاین در اندروید استودیو


shahab.es

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

خیلی عالیه شهاب جان! ♥

خیلی از دوستان این آموزش رو نیاز داشتن

خسته نباشی :give_rose:

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

عالیه شهاب عزیز  ♥

همچین آموزشی نیاز بود ♥

خسته نباشی ♥

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

در 55 دقیقه قبل، مجید آرتا گفته است :

عالیه شهاب عزیز  ♥

همچین آموزشی نیاز بود ♥

خسته نباشی ♥

عزیزه دلمی اقا مجید

خیلی عاشقتم ♥♥♥

جیگرت دراد به قول یکی از بچه ها : ))))))

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

سلام دوستان

توی تمام قسمت های اموزش، من encoding رو اشتباها UTF8 قرار دادم که همونطور که همگی میدونیم ، 

UTF-8

درست هست که توی اموزش ها ، تصحیح کنید 

این مطلب به پست اول هم اضافه شد که دوستانی که تازه میبینن تاپیک رو ، دچار مشکل نشن...

موفق باشید

 

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

  • 1 ماه بعد...

اگر بخوام عکس رو از دیتابیس بگیرم و در  ریسایکلر ویو نمایش بدیم چکار باید کنم؟ می شه در این مورد هم توضیح بدی

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

سلام

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

jsonobject.getString("link");

دریافت کن و به گلاید بده

اموزش گلاید توی انجمن موجوده

link اسمه ستون دیتابیست هست و همینطور اسم کلیدی که به جیسونت دادی

 

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

  • 4 هفته بعد...

سلام

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

که چنین چیزی هست===>> "}

error ای هم که در logcat میده ===>> Value of type java.lang.String cannot be converted to JSONObject

 

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

سلام هموطن

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

کدهاتون رو هم قرار بدید، و لینک فایل جیسون رو 

من بررسی کنم براتون

در کل اگر مثل اموزش پیش برید، همونطور که میبینید، نتایج کاملا درست هستن

:give_rose:

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

در هم اکنون، shahab.es گفته است :

سلام هموطن

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

کدهاتون رو هم قرار بدید، و لینک فایل جیسون رو 

من بررسی کنم براتون

در کل اگر مثل اموزش پیش برید، همونطور که میبینید، نتایج کاملا درست هستن

:give_rose:

اقای اسکندری هاست هم خریدم ولی هنوز تو json  ام چنین ï»¿  چنین چیزی  موجوده...دقبقا اول رشته

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

در 28 دقیقه قبل، bahamin777 گفته است :

اقای اسکندری هاست هم خریدم ولی هنوز تو json  ام چنین ï»¿  چنین چیزی  موجوده...دقبقا اول رشته

فوق العاده عجیبه... !!!

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

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

در ۱ ساعت قبل، bahamin777 گفته است :

اقای اسکندری هاست هم خریدم ولی هنوز تو json  ام چنین ï»¿  چنین چیزی  موجوده...دقبقا اول رشته

خدمتتون عرض کردم عزیزم

شما لینک اون فایل json رو بدید به بنده

کدهاتون رو هم قرار بدید

من بررسی کنم براتون

دکتر ایزدی هم که گفتن خدمتتون دیگه

 

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

ممنونم از پیگیریتون:give_rose:

 

لینک فایل جیسون

 

PHP

<?php
/**
 * Created by PhpStorm.
 * User: shahab
 * Date: 8/29/2016
 * Time: 9:02 PM
 */
$con = mysqli_connect('localhost','mrtshirt_bahamin','Bahamin123456','mrtshirt_masaf');
mysqli_set_charset($con,"(utf-8");
?>



======

<?php
/**
 * Created by PhpStorm.
 * User: shahab
 * Date: 8/29/2016
 * Time: 9:04 PM
 */
require 'db.php';
$result = $con->query("SELECT * FROM masaf");

     
    
if($result->num_rows > 0){
$myOut = array();
while($row = $result->fetch_assoc()){
    $satr = array();
    $satr['id'] = $row["id"];
    $satr['name'] = $row["name"];
    $satr['desc'] = $row["desc"];
    $satr['text'] = $row["text"];
    $satr['pic'] = $row["pic"];
    $myOut[] = $satr;
}
 
  echo json_encode($myOut);


}else{

    echo "ther is no data";

}

?>


MainActivity

public class Activity_Revayat extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_revayat);


        final RecyclerView rc = (RecyclerView) findViewById(R.id.rc);
        final RequestQueue myQueue = Volley.newRequestQueue(Activity_Revayat.this);
        String url = "http://mrtshirt.ir/masaf/selectAll.php";

        final StringRequest myString = new StringRequest(StringRequest.Method.POST,url, new Response.Listener<String>() {

            @Override
            public void onResponse(String s) {
                //s ="[{\"id\":\"1\",\"name\":\"testttt\",\"desc\":\"desccc\",\"text\":\"texttt\",\"pic\":\"picccc\"},{\"id\":\"2\",\"name\":\"nameee\",\"desc\":\"desccc\",\"text\":\"textttt\",\"pic\":\"piccc\"}]";
                Log.d("bahamin",s);
                if (s.equals("ther is no data")) {
                    Toast.makeText(Activity_Revayat.this, "خطا در گرفتن اطلاعات", Toast.LENGTH_SHORT).show();
                } else {

                    try {
                        JSONArray myJsonArray = new JSONArray(s);
                        rc.setAdapter(new MyAdapter(Activity_Revayat.this, myJsonArray));
                        rc.setLayoutManager(new LinearLayoutManager(Activity_Revayat.this, LinearLayoutManager.VERTICAL, false));
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                }

            }
        }, null) {

            @Override
            public byte[] getBody() throws AuthFailureError {
                try {
                    return ("").getBytes("UTF-8");
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                    return null;
                }
            }
        };

        myQueue.add(myString);
        myQueue.start();


    }
}
 

 

 Adapter

 


public class MyAdapter extends RecyclerView.Adapter<MyAdapter.VH> {

    private Context c;
    private JSONArray myArray;


    public MyAdapter(Context c, JSONArray j) {
        this.c = c;
        this.myArray = j;

    }

    @Override
    public VH onCreateViewHolder(ViewGroup parent, int viewType) {
        return new VH(LayoutInflater.from(c).inflate((R.layout.adapter_layout), parent, false));
    }

    @Override
    public void onBindViewHolder(VH holder, final int position) {

        try {
            JSONObject myObject = myArray.getJSONObject(position);
            
            holder.myId.setText(myObject.getString("id"));
            holder.Name.setText(myObject.getString("name"));
            holder.User_post.setText(myObject.getString("desc"));
            holder.Age.setText(myObject.getString("text"));
            holder.LastName.setText(myObject.getString("pic"));
        } catch (JSONException e) {
            e.printStackTrace();
        }


    }

    @Override
    public int getItemCount() {


        return myArray.length();
    }

    class VH extends RecyclerView.ViewHolder {
        TextView myId;
        TextView Name;
        TextView User_post;
        TextView LastName;
        TextView Age;

        public VH(View itemView) {
            super(itemView);
            myId = (TextView) itemView.findViewById(R.id.idText);
            Name = (TextView) itemView.findViewById(R.id.NameText);
            User_post = (TextView) itemView.findViewById(R.id.PostText);
            LastName = (TextView) itemView.findViewById(R.id.LastNameText);
            Age = (TextView) itemView.findViewById(R.id.AgeText);
        }
    }
}
لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام عزیزم

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

همه چیز کاملا درسته

لینک فایل json هم این خروجی رو میده و چیزی که گفتید، درج نمیشه در اخرش

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

با یه فایل دیگه تست کنید

یا با یه هاست دیگه ، ببینید نتیجه چی میشه عزیزم

 

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

  • 2 ماه بعد...

سلام آقا شهاب عزیز من ی مشکل دارم ، میتونید کمک کنید؟؟ 

 

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

No adapter attached; skipping layout

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

 

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

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

سلام عزیزم

براتون سرچ کردم

Bad Request

Bad Request

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

راه حل هم گفتن اداپتر رو توی onCreate به ریسایکلر ویو ست کنید، و وقتی اطلاعات جدید رو به اداپتر دادید از متد

notifyDataSetChanged()

استفاده کنید

این متد میاد و به ریسایکلر میفهمونه اداپتر شما تغییراتی داشته

بعد از ست کردن اداپتر جدید به ریسایکلر ویو، از این کد به شکل زیر استفاده کنید

myAdapter.notifyDataSetChanged();

امیدوارم مشکلتون رفع بشه

 

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

در 9 ساعت قبل، shahab.es گفته است :

سلام عزیزم

براتون سرچ کردم

Bad Request

Bad Request

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

راه حل هم گفتن اداپتر رو توی onCreate به ریسایکلر ویو ست کنید، و وقتی اطلاعات جدید رو به اداپتر دادید از متد


notifyDataSetChanged()

استفاده کنید

این متد میاد و به ریسایکلر میفهمونه اداپتر شما تغییراتی داشته

بعد از ست کردن اداپتر جدید به ریسایکلر ویو، از این کد به شکل زیر استفاده کنید


myAdapter.notifyDataSetChanged();

امیدوارم مشکلتون رفع بشه

 

 
 

ممنونم بابت راهنماتون و پاسخگویی آقا شهاب ، ولی همچین متودی وجود نداشت از ی راه دیگه حلش کردم.

شما توی string request میاید و اداپتر رو اد میکنید و فک کنم مشکل از اینجاس ، بعدش من اومدم یکبار در oncreate اداپتر رو با مقدار jsonarray خالی اد کردم و یکبار هم در string request و اینجوری مشکل حل میشه و وقتی string request انجام میشه، مقدار jsonarray پر میشه و در ریسایکلر نمایش داده میشه.

 

با تشکر.

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

سلام مجدد به آقا شهاب عزیز ، ی سوال داشتم ، ببینید من میخام برنامم هم آنلاین و هم آفلاین پشتیبانی کنه ولی نمیخوام که برای آفلاین بیاد و از اس کیو ال استفاده کنه چون حجم برنامم میره بالا ، میخوام اطلاعاتی که به صورت جیسون میگیره و عکس هایی که دانلود میکنه رو در cache موبایل ذخیره کنه و در مواقعی که آفلاین هست بیاد از cache استفاده کنه ، آیا راهی هست؟؟ و شدنیه، اگر میشه ی راهنمایی کوچیکی کنید که استارت اونم بزنم. 

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

در در 1395/11/17, 20:12:30، محمد معین عبدی گفته است :

سلام مجدد به آقا شهاب عزیز ، ی سوال داشتم ، ببینید من میخام برنامم هم آنلاین و هم آفلاین پشتیبانی کنه ولی نمیخوام که برای آفلاین بیاد و از اس کیو ال استفاده کنه چون حجم برنامم میره بالا ، میخوام اطلاعاتی که به صورت جیسون میگیره و عکس هایی که دانلود میکنه رو در cache موبایل ذخیره کنه و در مواقعی که آفلاین هست بیاد از cache استفاده کنه ، آیا راهی هست؟؟ و شدنیه، اگر میشه ی راهنمایی کوچیکی کنید که استارت اونم بزنم. 

سلام عزیزم

من با کش کار نکردم اما کتابخونه ی پیکاسو رو اگر استفاده کنید، کش رو انجام میده خودش براتون

راه منطقی تر به نظرم استفاده از یه دیتابیس خالی موقع نصب و پر کردنش هست، یه جورایی مثل تلگرام و ذخیره کردن تصاویر باز هم مثل تلگرام

فک کنم جالب در بیاد

لطفا یه تاپیک بزنید و سوال رو مطرح کنید ♥

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

در 13 دقیقه قبل، shahab.es گفته است :

سلام عزیزم

من با کش کار نکردم اما کتابخونه ی پیکاسو رو اگر استفاده کنید، کش رو انجام میده خودش براتون

راه منطقی تر به نظرم استفاده از یه دیتابیس خالی موقع نصب و پر کردنش هست، یه جورایی مثل تلگرام و ذخیره کردن تصاویر باز هم مثل تلگرام

فک کنم جالب در بیاد

لطفا یه تاپیک بزنید و سوال رو مطرح کنید ♥

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

 

ممنونم ، اگه لازم شد اینبار دیگه تاپیک میزنم.

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

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

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

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

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

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

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

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

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

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

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