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

آموزش پیاده سازی دیتابیس اندروید همراه با مثال عملی

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

 

ابتدا  یک کلاس برای ایجاد 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>

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

برای ذخیره اطلاعات در دیتابیس.میبایستی در اکتیویتی دیتابیس را 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

 

 

 

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


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

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط conall
      سلام 
      من میخوام یه نرم افزار بنویسم که با سرور کار میکنه و ی سری داده توی دیتابیسی که روی سرورمه ذخیره و بازیابی میکنه برای این کار یه سری فایل php میخوام به عنوان واسط که همون api های من میشن
      حالا سوال اینجاس که ایجاد و کار کردن با این api  ها امن هست؟ 
      و چطور میتونم امنیتشو برقرار کنم 
      چون الان مثلا یه api برای افزودن پست داشته باشیم نرم افزار یه جیسون ارسال میکنه به سرور با اطلاعات مورد نیاز اون api حالا یه نفر که مشکل داره میتونه با sniff کردن اطلاعات ارسالی به اون api دسترسی پیدا کنه و یه پست به نام شخص دیگه ای ایجاد کنه ! 
      چطور این مشکل رو حل کنم ؟
      توی نرم افزار هایی مثل دیوار میخواستم چک کنم چون اونا از ssl استفاده میکردن نتونستم به جیسونی که میفرستم دسترسی پیدا کنم که ببینم چی کار کردن
    • توسط Aliartor
      وقتی با ران ادمین اجراش میخوام بکنم این ارورو میده ولی وقتی با دابل کیلیک میزنم اصلا اینم نشون نمیده چیزی نمایش پیدا نمیکنه یعنی اصلا اجرا نمیشه 

      Could not find main class com/intellij/idea/main
      اگه کسی بلده چیکاد کنم لطفا بهم بگین❤❤
    • توسط Aliartor
      وقتی با ران ادمین اجراش میخوام بکنم این ارورو میده ولی وقتی با دابل کیلیک میزنم اصلا اینم نشون نمیده چیزی نمایش پیدا نمیکنه یعنی اصلا اجرا نمیشه 

      Could not find main class com/intellij/idea/main
      اگه کسی بلده چیکاد کنم لطفا بهم بگین❤❤
    • توسط AminAnsari
      سلام
      من میخوام یک برنامه ای بنویسم که به کاربر هر روز بگه چند ساعت با موبایلش کار کرده
      حالا من یه کرنومتر گذاشتم که این رو حساب کنه

      ولی یه مشکلی دارم که نمیتونم عملیش کنم, کرنومتر وقتی که صفحه خاموش هست باید استاپ بشه و وقتی که صفحه روشن هست ادامه بده به زمان گرفتن.( به صورت سرویس )
      با استفاده از isInterActive میدونم باید انجام بشه که یک مقدار بولین رو برمیگردونه که میگه صفحه روشنه یا نه, اما بلد نیستم که به چه صورت و کجا باید بزارمش!!!


      ممنون میشم کمک کنید
    • توسط mazdak
      سلام دوستان
      من پس از آپدیت اندروید استودیو دیگه دیوایس های مجازی من نمایش داده نمیشه با اینکه ران هستن.
      بنظرتون مشکل چیه؟؟
       


  • دوره آموزشی اندروید آموزش ویدئویی اندروید آموزش برنامه نویسی اندروید اندروید کاپ دوره آنلاین اندروید کتاب های آموزشی اندروید بسته آموزشی اندروید دوره برنامه نویسی اندروید آموزش Kotlin آموزش برنامه نویسی ios مهارت های فروش
    آموزش برنامه نویسی اندروید
  • فایل