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

 

 

 

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


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

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط شاهرخ جهان زاده
      آیا تا به حال شده که بعد از ارائه اپلیکشن پیغامهایی از طرف کاربران دریافت کنید که ناشی از بسته شدن اپ در حین کار باشه؟
      در اینگونه مواقع علاوه بر زمانبر بودن پیدا کردن خطا، شاهد ریزش شدید کاربران اپ خواهید بود. پس بهتر است قبل از ارائه اپ در بازار یا Google Play تمهیداتی را برای اطلاع از پیغامهای احتمالی در نظر بگیرید.
      یکی از ابزارهای بسیار مفید استفاده کردن از کتبخانه هایی هست مه برای انجام این کار در نظر گرفته شده است، به عنوان مثال کتابخانه ACRA این کار را با ارسال ایمیل برای شما به راحتی انجام میدهد.
      استفاده کردن از این کتابخانه بسیار راحت هست.
      در قدم اول باید کتابخانه ACRA را به عنوان dependency به build.gradle اضافه کنید:
      compile 'ch.acra:acra:4.9.2' در قدم بعدی کلاس Application را بسازید و متدهای مربوطه برای ACRA را در آن پیاده سازی کنید:
      @ReportsCrashes( formUri = "", mailTo = "yourmail@yourdomain.com", customReportContent = { ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.BRAND, ReportField.CUSTOM_DATA, ReportField.INITIAL_CONFIGURATION, ReportField.CRASH_CONFIGURATION, ReportField.USER_CRASH_DATE, ReportField.STACK_TRACE, ReportField.LOGCAT}, resToastText = R.string.crash_toast_text, mode = ReportingInteractionMode.TOAST) public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); ACRA.init(this); } } در بخش ReportField همانطور که میبینید، اطلاعاتی که قرار است به ایمیلتان ارسال گردد را وارد میکنیم.
      در قدم آخر فایل Manifest را باز کرده و دسترسی های مربوطه و همچنین کلاس Application را در تگ application وارد کنید:
      <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.acrademo"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_LOGS" /> <application android:name=".MyApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> برای تست عملکرد کدها، یک دکمه بسازید و سپس کدهایی را برای آن وارد کنید که باعث کرش شدن اپ گردد...
      public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onCrash(View view){ throw new RuntimeException("App Crashed"); } } منبع: www.asifmoinulislam.com
    • توسط aliarha
      با سلام خدمت همه کاربران و مدیران انجمن p30droid
      این اولین پست منه و خیلی علاقه مند به یادگیری برنامه نویسی اندروید دارم ، (رایگان / پولی)
      درخواستی که از عزیزان دارم اگه لطف کنید پاسخ کاملی بدین ممنون میشم
      من تقریبا طراحی سایت بلدم و درصد یادگیریم بد نیست ، میخواستم بدون بهترین برنامه برای استارت کارم اندروید استودیو هست ؟
      دنبال آموزشی کامل هستم (رایگان یا پولی فرقی نداره) فقط مدیران یا کاربران تایید کنن ، آموزشی همراه با ساخت یک پروژه از 0 تا 100
      تشکر
    • توسط m.abaszadeh1777
      باعرض سلام وخسته نباشيد وتبريک سال نو
       من دارم روي يک پروژه کار ميکنم که دران دريک قسمت(در ريسايکل ويو) ميخوام وقتي روي يه دکمه کليک ميشود فايل پي دي اف رو دانلود کنه و بعد با نرم افزار پي دي اف ريدر نمايش بده
      اگه کمکم کنيد ممنون ميشم
    • توسط evill
      سلام دارم برنامه فروشگاهی میسازم انتخاب قیمت محصول جوریه که کاربر خودش باید انتخاب کنه از بین چند تا مورد این فایلی که فرستادم ببینین متوجه منظورم میشین
       
      من داخل برنامه دو تا اسپینر گذاشتم که اطلاعاتش رو از سرور میگیرم و داخل اسپینر ست میکنم که با انتخاب هر کدوم ای دی خودشو برمیگردونه تا اینجا درسته مشکلی نیست
      ولی برنامه ی لیست قیمت داره که براساس ای دی این دوتا اسپینرباید مشخص بشه  یعنی مثلا اسپینر اول ای دی 5 برگردونه و اسپینر دوم ای دی مثلا3 اینجا باید ما
      سرچ بزنیم تو لیست قیمت ها که ای دی 5و3 قیمتش چنده ... به نظرتون اینو چجوری پیاده کنم ایا میشه تو arraylist بریزم و روش حالت سرچ بذارم و اندیس رو برگردونه. اصلا  میشه با arraylist همچین کاری کرد؟  یا تو دیتابیس بریزم؟  دوستان اگه راه حل بهتری دارن لطفا راهنمایی کنن  ممنون
      جیسون قیمت ها به این شکله
      [
        {
          "cat": "1",
          "type": "0",
          "size": "33",
          "price": "4800"
        },
        {
          "cat": "1",
          "type": "0",
          "size": "34",
          "price": "7200"
        },
      ]
      20180305_163147.mp4
    • توسط Farzad Sarseifi
      دانلود کتاب Android Development with Kotlin

      امروزه روند توسعه نرم افزار اندروید بسیار گسترده شده است. در طول چند سال اخیر، ما شاهد چگونگی پیشرفت ابزارهای مختلفی هستیم تا زندگی ما را ساده‌تر کند. با این حال، یکی از عناصر اصلی فرآیند توسعه نرم افزار اندروید یعنی جاوا در طول این مدت تغییر زیادی نکرده است. پلتفرم اندروید خود را با نسخه‌های جدیدتر جاوا سازگار می‌کند، ولی برای استفاده از آن ها، ما باید مدت زمان بسیار زیادی را صبر کنیم تا دستگاه‌های جدید اندرویدی به فروش مناسب بازار دست یابند. همچنین، توسعه برنامه‌ها با جاوا چالش‌های خود را به همراه دارد، چرا که جاوا زبانی قدیمی با بسیاری از مشکلات طراحی است که به واسطه محدودیت‌های سازگاری با نسخه‌های قدیمی، نمی‌توانند به سادگی حل شوند.
      از سویی دیگر Kotlin، زبانی جدید ولی پایدار است که بر روی همه‌ی دستگاه‌های اندرویدی اجرا می‌شود و بسیاری از مشکلاتی که جاوا قادر به حل آن نبود را حل می‌کند. Kotlin زبان فوق العاده ای است که زندگی توسعه دهنده را بسیار راحت‌تر می‌کند و اجازه می‌دهد تا کد امن تر، بیان گر‌تر و خلاصه‌تر ایجاد شود.
      کتاب توسعه اندروید با Kotlin، راهنمایی عملی است که به شما کمک می‌کند تا با استفاده از زبان Kotlin، روند توسعه اندروید را بهبود داده و به آن سرعت بخشید. ما میان برها و پیشرفت‌های زیاد نسبت به جاوا و راه‌های جدیدی حل مسائل رایج را ارائه دادیم. در پایان این کتاب، شما با ویژگی‌ها و ابزار‌های Kotlin آشنا خواهید شد و شما قادر خواهید بود که برنامه ای اندرویدی را با کاملا با Kotlin توسعه دهید.
       
      What You Will Learn
      Run a Kotlin application and understand the integration with Android Studio
      Incorporate Kotlin into new/existing Android Java based project
      Learn about Kotlin type system to deal with null safety and immutability
      Define various types of classes and deal with properties
      Define collections and transform them in functional way
      Define extensions, new behaviours to existing libraries and Android framework classes
      Use generic type variance modifiers to define subtyping relationship between generic types
      Build a sample application
       Table of Contents
      1: BEGINNING YOUR KOTLIN ADVENTURE
      2: LAYING A FOUNDATION
      3: PLAYING WITH FUNCTIONS
      4: CLASSES AND OBJECTS
      5: FUNCTIONS AS FIRST-CLASS CITIZENS
      6: GENERICS ARE YOUR FRIENDS
      7: EXTENSION FUNCTIONS AND PROPERTIES
      8: DELEGATES
      9: MAKING YOUR MARVEL GALLERY APPLICATION
       
      دانلود
      Packt.Android.Development.with.Kotlin.epub
       

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