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

همچنان میدانید در بخش اول دیتابیس به توضیفی از sqlite پرداختیم.در صورتی مقاله اول را مطالعه نکرده اید،حتما آن را مطالعه کنید.

ابتدا یک پروژه جدید را ایجاد کنید و اسم آن را مثلا  dbAndroid  بگذارید.

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

سپس ورژن اندروید خود را مشخص کنید...که در این پروژه 2.3.3 را در نظر گرفته ایم

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

در مرحله آخر نام پکیج و اکتیویتی خود را وارد کنید.

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

دکمه finish را بزنید تا پروژه شما اماده شود.

اولین قدم برای اینکه بتوانیم از sqlite استفاده کنیم این است که یک کلاس جدید را ایجاد کنید.برای اینکار روی نام پکیچ کلیک راست و گزینه new ->class  را انتخاب کنید تا کادر زیر ظاهر شود.

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

 

بعد از ایجاد کردن کلاس باید از کلاس  SQLiteOpenHelper ارث بری کنیم .بعد از اینکار رنگ قرمزی روی نام کلاس ظاهر میشود که برای این میباشد که حتما باید توابع سازنده را ایجاد کنید.که بعد از اینکار سه تابع که در تصویر نشان داده شده اضافه میشوند.

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

بعد از اینکار ها بهتر است در قسمت general  متغیر هایی را بصورت سراسری تعریف کنیم تا در کلاس های دیگر نیز بتوانیم فراخوانی کنیم.ابتدا در تابع onCreate دستور مربوطه به ایجاد جدول را بنویسید و در تابع onUpgrade هم دستور مربوط به پاک کردن اطلاعات جدول را بنویسید.بعد  از اینکار ها میتونید در هر جای برنامه فقط با صدا زدن نام کلاس و ایجاد کردن یک شی از آن میتوانیم از دیتابیس اندروید به راحتی استفاده کنید

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

بعد از نوشتن دستورات بالا به سراغ طراحی کردن یک UI ساده میرویم تا با وارد کردن اطلاعات در دو EditText اطلاعات را در دیتابیس ذخیره کنید

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

 خروجی UI بدین صورت میباشد.

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

 

کار بدین صورت میباشد که وقتی کاربر روی دکمه save کلیک کرد اطلاعات در دیتابیس ذخیره میشود

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

در خط 13 : ابتدا باید یک شی جدید از کلاس قبلی را ایجاد کنیم

خط 14 : یک متغیر از نوع SQLiteDatabase را تعریف میکنیم تا بتوانیم عملیات های مختلف پایگاه داده را انجام دهیم

خط 15 : برای اینکه بتوانیم اطلاعات را در مکانی قرار دهیم بعد ذخیره شود از ContentValues استفاده میکنیم

در تابع OnCreate هم ابتدا خاصیت مربوط به دکمه را در حالتی وقتی که روی آن کلیک کردیم قرار میدهیم

بعد از این کارها نوبت به نوشتن کدهای ثبت اطلاعات میباشد ، بعد از انتخاب دکمه مربوطه یک پیغام چاپ میشود مینی بر اینکه اطلاعات ثبت شد.

خط 33: در این خط ما به شی db میگوییم که میتواند که اطلاعات را در دیتابیس بنویسد

خط 34: در این خط شی content را ایجاد میکنیم تا مقادیر را در آن قرار دهیم

خط های 35 و 36 مقادیر مربوط به فیلدهای name,lname  را قرار میدهد

خط 37 : اطلاعات در دیتابیس ذخیره میکند

خط 38 : یک پیغام را توسط Toast چاپ میکند

newProject.png

 

 

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


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

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

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


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

ممنون بابت زحماتی که میکشید ...

توی آموزش اول به صورت مستقیم از کلاس SQLiteDatabase و متد openDatabase برای باز کردن پایگاه داده و از متد execSQL برای اجرای دستورهای

sql استفاده کردید اما تو این قسمت به روش دیگه ای عمل کردید میخواستم بدونم چه تفاوت هایی بین این دو روش هست ؟ 

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


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

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

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


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

دوست عزیز بی زحمت عکسارو دوباره آپلود کن و ایندفعه یه جا آپلودشون کن که حذف نشن !!

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


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

آقای سرسیفی عزیز!

خواهشمندم عکس ها را دوباره آپلود کنید. 

این موضوع برای ما مبتدیان اساسی است.

ممنون

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


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

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

sql.zip

sql.zip

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


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

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

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

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


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

ببخشید الان خط 33 به بعد کو ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟:huh:;):D

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


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

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

عایا این درست است که فکر کنید من اینقدر زرنگم !!!!!!!!!!!!!!!!!!!!!!!!!!!!

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


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

اقا کدی که روی دکمه کلکیک میکنیم رو هم بذارید دیگه چه جوری وارد دیتا بیس کنیم

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


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

این کد را قرار دهید:

[shcode=java]

EditText edt_name=(EditText)findViewById(R.id.txt1);

EditText edt_family=(EditText)findViewById(R.id.txt2);

cv = new ContentValues();

db = database.getWritableDatabase();

cv.put("name",edt_name.getText().ToString());

cv.put("lname", edt_family.getText().ToString());

db.insert("students", null, cv);

[/shcode]

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


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

این کد را قرار دهید:

[shcode=java]

TextView edt_name=(TextView)findViewById(R.id.txt1);

TextView edt_family=(TextView)findViewById(R.id.txt2);

cv = new ContentValues();

db = database.getWritableDatabase();

cv.put("name",edt_name.getText().ToString());

cv.put("lname", edt_family.getText().ToString());

db.insert("students", null, cv);

[/shcode]

به اینصورت بنویسید

TextView edt_name=(TextView)findViewById(R.id.txt1);

                TextView edt_family=(TextView)findViewById(R.id.txt2);

                ContentValues cv=new ContentValues();

                db = database.getWritableDatabase();

                cv.put("name",edt_name.getText().toString());

                cv.put("lname", edt_family.getText().toString());

                db.insert("students", null, cv);

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


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

این کد را قرار دهید:

[shcode=java]

TextView edt_name=(TextView)findViewById(R.id.txt1);

TextView edt_family=(TextView)findViewById(R.id.txt2);

cv = new ContentValues();

db = database.getWritableDatabase();

cv.put("name",edt_name.getText().ToString());

cv.put("lname", edt_family.getText().ToString());

db.insert("students", null, cv);

[/shcode]

به اینصورت بنویسید

TextView edt_name=(TextView)findViewById(R.id.txt1);

                TextView edt_family=(TextView)findViewById(R.id.txt2);

                ContentValues cv=new ContentValues();

                db = database.getWritableDatabase();

                cv.put("name",edt_name.getText().toString());

                cv.put("lname", edt_family.getText().toString());

                db.insert("students", null, cv);

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

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

ممنون

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


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

برای Select ، Update و  Delete چطوری باید عمل کرد ؟

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


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

سلام

روش پیاده سازیتون خیلی خیلی سخته !!

در آینده ای نزدیک انشاالله یک برنامه ای که دارای لیستی با مقدارگیری delet, favorit هست رو میذارم که هر کسی میتونه ازش استفاده کنه !!

:)

موفق باشید

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


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

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

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


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

سلام

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

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

و این خط ارور رومیده لطفا راهنمایی کنید ممنون

android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file (code 14): , while compiling: PRAGMA journal_mode

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


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

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

 

آیا مطمئن هستید دیتایسی وجود داره که بتونه ازش بخونه و یا داخلش بنویسه ؟

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


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

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

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

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

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


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

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

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


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

  • مطالب مشابه

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

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

       
       
      با تشکر
      انجمن برنامه نویسی اندروید-پی سی دروید
    • توسط Seyed-Hossein-Akbari
          فیلم های آموزشی اندروید نویسی مقدماتی تا پیشرفته در ۴۰ قسمت با مدت زمان ۸ ساعت و ۳۰ دقیقه که در اردیبهشت ماه ۱۳۹۷ ساخته شده است در اختیار شما عزیزان به صورت کاملا رایگان قرار میگیرد   هزینه ی فیلم ها : دعا و صلوات برای سلامتی خانواده ی خودم و حضرت امام مهدی عج   برای دریافت 40 قسمت کامل روی همین لینک کلیک کنید  
      دانلود نکته : برای دانلود و تماشا از آپارات روی لینک های زیر کلیک کنید فصل اول : آموزش مقدماتی اندروید استودیو قسمت اول معرفی اندروید استودیو – قسمت اول قسمت دوم معرفی اندروید استودیو – قسمت دوم قسمت سوم معرفی اندروید استودیو – قسمت سوم   فصل دوم : آموزش کدهای XML قسمت چهار آموزش مقدماتی کدهای XML قسمت پنجم آموزش مقدماتی RelativeLayout قسمت ششم آموزش مقدماتی LinearLayout قسمت هفتم آموزش پایانی کدهای XML   فصل سوم : آموزش کدهای Java قسمت هشتم آموزش مقدماتی کدهای Java قسمت نهم آموزش تابع در جاوا قسمت دهم آموزش کلاس در جاوا   برای دریافت 40 قسمت کامل روی همین لینک کلیک کنید   منبع : www.phoenixdevs.ir سید حسین اکبری    
    • توسط Farzad Sarseifi

      یک محیط برنامه نویسی برای پلتفرم اندروید است. این برنامه در 16 می 2014 توسط مدیران گوگل در کنفرانس گوگل آی/او معرفی شد. از ماه جوئن 2014 نسخه پیش نمایش این برنامه (به صورت رایگان) برای امتحان در دسترس توسعه دهنده‌ها قرار گرفت. این محیط بر اساس نرم‌افزار محبوب جت برینز طراحی شده است، این استودیو بطور اختصاصی برای اندروید طراحی شده. هم اکنون این استودیو برای دانلود بر روی ویندوز، مک و لینوکس در دسترس می‌باشد.
      چندین ویژگی جدید در این نرم‌افزار برای کاربران می‌باشد:
      چیدمان زنده: ویرایشگر WYSIWYG – کدنویسی زنده – رندر هم زمان برنامه کنسول توسعه دهنده: راهنمای بهینه سازی – کمک برای ترجمه – ردیابی ارجاع – طریقه استفاده ارائه نسخه بتا و اجرای صحنه پشتیبانی از ساخت مبتنی بر Gradle رفع و عیب یابی مخصوص اندروید ابزار لینت برای گرفتن عملکرد، قابلیت استفاده، نسخه سازگار با مشکلات دیگر قابلیت Proguard و امضای برنامه مبتنی بر الگوی wizard برای ایجاد طرح اندروید و اجزای مشترک ویرایشگر طرح بندی غنی که به شما اجازه کشیدن و رها کردن UI کامنت‌ها را می‌دهند. گزینه‌ای برای تنظیمات پیش نمایش طرح بندی در صفحه نمایش چندگانه  
       
      با سپاس فراوان
      فرزاد سرسیفی
    • توسط Farzad Sarseifi
      دوره پیشرفته ‌آموزشی اندروید

      🔻آخرین دوره سال ۹۷
      📍دوره پیشرفته برنامه نویسی اندروید
      💭مدرس: فرزاد سرسیفی
      تماس:  ۸۸۵۰۸۰۸۰ -۸۸۵۵۴۲۱۷ -۸۸۵۵۴۲۱۳
      لینک ثبت نام:
      https://goo.gl/3fwHKM
       
    • توسط Farzad Sarseifi
      آموزش پیاده سازی دیتابیس اندروید همراه با مثال عملی
      در این اموزش میتوانید یک دیتابیس اندروید ایجاد کنید که توانایی افزودن اطلاعات،ویرایش اطلاعات ،حذف و لیست گیری اطلاعات باشید.
       
      ابتدا  یک کلاس برای ایجاد SqliteopenHelper دیتایس و جداول ایجاد میکنیم و متدهای مورد نظر را نیز در ادامه مینویسیم
      import java.util.ArrayList; import java.util.HashMap; import java.util.Hashtable; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.DatabaseUtils; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase; public class DBHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "MyDBName.db"; public static final String CONTACTS_TABLE_NAME = "contacts"; public static final String CONTACTS_COLUMN_ID = "id"; public static final String CONTACTS_COLUMN_NAME = "name"; public static final String CONTACTS_COLUMN_EMAIL = "email"; public static final String CONTACTS_COLUMN_PHONE = "phone"; private HashMap hp; public DBHelper(Context context) { super(context, DATABASE_NAME , null, 1); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL( "create table contacts " + "(id integer primary key, name text,phone text,email text)" ); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub db.execSQL("DROP TABLE IF EXISTS contacts"); onCreate(db); } public boolean insertContact (String name, String phone, String email) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("name", name); contentValues.put("phone", phone); contentValues.put("email", email); db.insert("contacts", null, contentValues); return true; } public Cursor getData(int id) { SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery( "select * from contacts where id="+id+"", null ); return res; } public int numberOfRows(){ SQLiteDatabase db = this.getReadableDatabase(); int numRows = (int) DatabaseUtils.queryNumEntries(db, CONTACTS_TABLE_NAME); return numRows; } public boolean updateContact (Integer id, String name, String phone, String email) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("name", name); contentValues.put("phone", phone); contentValues.put("email", email); db.update("contacts", contentValues, "id = ? ", new String[] { Integer.toString(id) } ); return true; } public Integer deleteContact (Integer id) { SQLiteDatabase db = this.getWritableDatabase(); return db.delete("contacts", "id = ? ", new String[] { Integer.toString(id) }); } public ArrayList<String> getAllCotacts() { ArrayList<String> array_list = new ArrayList<String>(); //hp = new HashMap(); SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery( "select * from contacts", null ); res.moveToFirst(); while(res.isAfterLast() == false){ array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME))); res.moveToNext(); } return array_list; } }  
      سپس واسط کاربری گرافیکی Layout را طراحی میکنیم  activity_main.xml
      <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="wrap_content" tools:context=".MainActivity" > <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="370dp"> <EditText android:id="@+id/editTextName" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="text" > </EditText> <EditText android:id="@+id/editTextEmail" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="22dp" android:ems="10" android:inputType="textEmailAddress" /> <EditText android:id="@+id/edit_phone" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="28dp" android:text="@string/save" /> </LinearLayout> </ScrollView>
      برای ذخیره اطلاعات در دیتابیس.میبایستی در اکتیویتی دیتابیس را new کنید تا بتوانید که اطلاعات را در دیتابیس فراخوانی کنید
      افزودن اطلاعات :
      public class MainActivity extends AppCompatActivity { DBHelper mydb; EditText editTextName,editTextEmail,edit_phone; Button button1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editTextName=(EditText)findViewById(R.id.editTextName); editTextEmail=(EditText)findViewById(R.id.editTextEmail); edit_phone=(EditText)findViewById(R.id.edit_phone); button1=(Button)findViewById(R.id.button1); mydb = new DBHelper(this); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name=editTextName.getText().toString(); String email=editTextEmail.getText().toString(); String phone=edit_phone.getText().toString(); mydb.insertContact(name,email,phone); } }); }  
      بزودی آموزش تکمیل میگردد.
       
      دوره آموزشی اندروید
      http://android-learn.ir/online-learning/android-development-training/guruPrograms/1-android-programming/2-programming-mobile-applications-for-android
       
       


       

       

  • دوره آموزشی اندروید آموزش ویدئویی اندروید سورس اندروید دوره اندروید آموزش Kotlin آموزش برنامه نویسی ios مهارت های فروش طراحی اپلیکیشن کوردینا موزیک Kurdina Music موزیک کردی Android Framework
  • فایل