Android - SQLite Database Tutorial

SQLite ist eine Open-Source-SQL-Datenbank, die Daten in eine Textdatei auf einem Gerät gespeichert werden. Android kommt mit in SQLite-Datenbank-Anwendung gebaut.
SQLite unterstützt alle relationalen Datenbankfunktionen. Um diese Datenbank zugreifen, die Sie nicht brauchen, um jede Art von Anschlüssen für sie wie JDBC, ODBC etc. zu etablieren

Database - Package

Das Hauptpaket android.database.sqlite, die die Klassen enthält, eigene Datenbanken zu verwalten

Datenbank - Erstellung

Um eine Datenbank zu erstellen müssen Sie nur diese Methode openOrCreateDatabase mit Ihren Datenbanknamen und Modus als Parameter aufrufen. Es gibt eine Instanz der SQLite-Datenbank, die Sie in Ihren eigenen object.Its Syntax erhalten ist unten angegeben
SQLiteDatabse mydatabase = openOrCreateDatabase("your database name",MODE_PRIVATE,null);
Abgesehen davon, gibt es andere in der Datenbank-Paket, das diesen Job macht Funktionen. Sie sind nachfolgend aufgelistet
Sr.NoVerfahren & Beschreibung
1Opendatabase (String path, SQLiteDatabase.CursorFactory Fabrik, int flags, DatabaseErrorHandler errorhandler)
Diese Methode öffnet nur die vorhandene Datenbank mit dem entsprechenden Flag-Modus. Der gemeinsame Fahnen-Modus könnte OPEN_READWRITE OPEN_READONLY sein
2Opendatabase (String path, SQLiteDatabase.CursorFactory Fabrik, int flags)
Es ist ähnlich zu dem obigen Verfahren, wie es eröffnet auch die vorhandene Datenbank aber keine Handler zu definieren, um die Fehler von Datenbanken verarbeiten
3openOrCreateDatabase (String path, SQLiteDatabase.CursorFactory Fabrik)
Es öffnet nicht nur, sondern erstellen Sie die Datenbank, wenn es nicht vorhanden ist. Diese Methode entspricht dem Opendatabase-Methode
4openOrCreateDatabase (File Datei, SQLiteDatabase.CursorFactory Fabrik)
Diese Methode ist ähnlich wie obige Methode aber das File-Objekt als ein Weg führt eher dann einen String. Er entspricht file.getPath ()

Datenbank - Einfügung

können wir Tabelle zu erstellen oder fügen Sie Daten in die Tabelle mit in SQLiteDatabase Klasse definierte Methode ExecSQL. Die Syntax ist unten angegeben
mydatabase.execSQL("CREATE TABLE IF NOT EXISTS TutorialsPoint(Username VARCHAR,Password VARCHAR);");
mydatabase.execSQL("INSERT INTO TutorialsPoint VALUES('admin','admin');");
Dies wird einige Werte in unserem Tisch in unserer Datenbank einzufügen. Eine andere Methode, die auch macht die gleiche Arbeit, aber nehmen Sie sich etwas zusätzlicher Parameter ist unten angegeben
Sr.NoVerfahren & Beschreibung
1ExecSQL (String sql, Object [] bindArgs)
Diese Methode nicht nur Daten einfügen, aber auch verwendet werden, zu aktualisieren oder zu bereits vorhandenen Daten zu ändern in der Datenbank unter Verwendung von bind Argumente

Database - Abrufen

Wir können alles von Datenbank über eine Aufgabe der Cursor-Klasse abzurufen. Wir werden eine Methode dieser Klasse aufgerufen rawQuery nennen, und es wird eine Ergebnismenge mit der Cursor zeigt auf den Tisch zurück. Wir können den Cursor vorwärts zu bewegen und die Daten abzurufen.
Cursor resultSet = mydatbase.rawQuery("Select * from TutorialsPoint",null);
resultSet.moveToFirst();
String username = resultSet.getString(1);
String password = resultSet.getString(2);
Es gibt auch andere in der Cursor-Klasse, die uns um die Daten effizient abrufen können Funktionen. Dazu gehören
Sr.NoVerfahren & Beschreibung
1getColumnCount () Dieses Verfahren geben die Gesamtzahl der Spalten der Tabelle.
2getColumnIndex (String columnname)
Dieses Verfahren gibt die Indexnummer einer Spalte, die den Namen der Spalte
3getColumnName (int column)
Diese Methode gibt den Namen der Spalte, die den Index der Spalte
4getColumnNames ()
Diese Methode gibt den Array aller Spaltennamen der Tabelle.
5getCount ()
Diese Methode gibt die Gesamtzahl der Zeilen im Cursor
6getPosition ()
Diese Methode liefert die aktuelle Position des Cursors in der Tabelle
7ist geschlossen()
Diese Methode gibt true zurück, wenn der Cursor geschlossen und Rück andernfalls false

Database - Helper-Klasse

Zur Verwaltung aller Operationen in der Datenbank verwandt wurde eine Hilfsklasse gegeben und heißt SQLiteOpenHelper. Es verwaltet automatisch die Erstellung und Aktualisierung der Datenbank. Die Syntax ist unten angegeben
public class DBHelper extends SQLiteOpenHelper {
   public DBHelper(){
      super(context,DATABASE_NAME,null,1);
   }
   public void onCreate(SQLiteDatabase db) {}
   public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {}
}

Beispiel

Hier ist ein Beispiel demonstriert die Verwendung von SQLite-Datenbank. Es schafft eine grundlegende Kontakte Anwendungen, Einfügen, Löschen und Ändern von Kontakten ermöglicht.
Um bei diesem Beispiel zu experimentieren, müssen Sie diese auf einem Gerät, auf dem die Kamera unterstützt wird ausgeführt.
s
SchritteBezeichnung
1Sie werden Android-Studio verwenden, um ein Android-Anwendung unter einem Paket com.example.sairamkrishna.myapplication erstellen.Bei der Erstellung dieses Projekt, stellen Sie sicher SDK Ziel und Kompilieren Sie mit der neuesten Version des Android SDK zu höheren Ebenen der APIs verwenden.
2Ändern src / MainActivity.java Datei an Referenzen aller XML-Komponenten zu erhalten, und füllen Sie die Kontakte auf listview.
3Erstellen neuer src / DBHelper.java, der die Datenbank verwalten wird Arbeit
4Erstellen Sie eine neue Tätigkeit als DisplayContact.java, die den Kontakt auf dem Bildschirm angezeigt wird
5Ändern Sie die res / layout / activity_main zum jeweiligen XML-Komponenten hinzufügen
6Ändern Sie die res / layout / activity_display_contact.xml zum jeweiligen XML-Komponenten hinzufügen
7Ändern Sie die res / Werte / string.xml notwendige String Komponenten hinzufügen
8Ändern Sie die res / menu / display_contact.xml die notwendigen Menükomponenten hinzufügen
9Erstellen Sie ein neues Menü als res / menu / mainmenu.xml, um den Einsatz Kontakt Option hinzufügen
10Führen Sie die Anwendung, und wählen Sie einen laufenden Android-Gerät und installieren Sie die Anwendung und überprüfen Sie die Ergebnisse.
Im Anschluss ist der Gehalt des modifizierten MainActivity.java.
package com.example.sairamkrishna.myapplication;

import android.content.Context;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;

import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends ActionBarActivity {
   public final static String EXTRA_MESSAGE = "MESSAGE";
   private ListView obj;
   DBHelper mydb;
   
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      
      mydb = new DBHelper(this);
      ArrayList array_list = mydb.getAllCotacts();
      ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1, array_list);
      
      obj = (ListView)findViewById(R.id.listView1);
      obj.setAdapter(arrayAdapter);
      obj.setOnItemClickListener(new OnItemClickListener(){
         @Override
         public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
            // TODO Auto-generated method stub
            int id_To_Search = arg2 + 1;
            
            Bundle dataBundle = new Bundle();
            dataBundle.putInt("id", id_To_Search);
            
            Intent intent = new Intent(getApplicationContext(),DisplayContact.class);
            
            intent.putExtras(dataBundle);
            startActivity(intent);
         }
      });
   }
   
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.menu_main, menu);
      return true;
   }
   
   @Override
   public boolean onOptionsItemSelected(MenuItem item){
      super.onOptionsItemSelected(item);
      
      switch(item.getItemId())
      {
         case R.id.item1:Bundle dataBundle = new Bundle();
         dataBundle.putInt("id", 0);
         
         Intent intent = new Intent(getApplicationContext(),DisplayContact.class);
         intent.putExtras(dataBundle);
         
         startActivity(intent);
         return true;
         default:
         return super.onOptionsItemSelected(item);
      }
   }
   
   public boolean onKeyDown(int keycode, KeyEvent event) {
      if (keycode == KeyEvent.KEYCODE_BACK) {
         moveTaskToBack(true);
      }
      return super.onKeyDown(keycode, event);
   }
}
Im Anschluss wird der modifizierte Inhalt der Anzeige Kontakt AktivitätDisplayContact.java
package com.example.addressbook;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;

import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;

import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class DisplayContact extends Activity {
   int from_Where_I_Am_Coming = 0;
   private DBHelper mydb ;
   
   TextView name ;
   TextView phone;
   TextView email;
   TextView street;
   TextView place;
   int id_To_Update = 0;
   
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_display_contact);
      name = (TextView) findViewById(R.id.editTextName);
      phone = (TextView) findViewById(R.id.editTextPhone);
      email = (TextView) findViewById(R.id.editTextStreet);
      street = (TextView) findViewById(R.id.editTextEmail);
      place = (TextView) findViewById(R.id.editTextCity);

      mydb = new DBHelper(this);

      Bundle extras = getIntent().getExtras(); 
      if(extras !=null)
      {
         int Value = extras.getInt("id");
         
         if(Value>0){
            //means this is the view part not the add contact part.
            Cursor rs = mydb.getData(Value);
            id_To_Update = Value;
            rs.moveToFirst();
            
            String nam = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_NAME));
            String phon = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_PHONE));
            String emai = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_EMAIL));
            String stree = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_STREET));
            String plac = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_CITY));
            
            if (!rs.isClosed()) 
            {
               rs.close();
            }
            Button b = (Button)findViewById(R.id.button1);
            b.setVisibility(View.INVISIBLE);

            name.setText((CharSequence)nam);
            name.setFocusable(false);
            name.setClickable(false);

            phone.setText((CharSequence)phon);
            phone.setFocusable(false); 
            phone.setClickable(false);

            email.setText((CharSequence)emai);
            email.setFocusable(false);
            email.setClickable(false);

            street.setText((CharSequence)stree);
            street.setFocusable(false); 
            street.setClickable(false);

            place.setText((CharSequence)plac);
            place.setFocusable(false);
            place.setClickable(false);
         }
      }
   }
   
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      Bundle extras = getIntent().getExtras(); 
      
      if(extras !=null)
      {
         int Value = extras.getInt("id");
         if(Value>0){
            getMenuInflater().inflate(R.menu.display_contact, menu);
         }
         
         else{
            getMenuInflater().inflate(R.menu.main, menu);
         }
      }
      return true;
   }

   public boolean onOptionsItemSelected(MenuItem item) 
   { 
      super.onOptionsItemSelected(item); 
      switch(item.getItemId()) 
   { 
      case R.id.Edit_Contact: 
      Button b = (Button)findViewById(R.id.button1);
      b.setVisibility(View.VISIBLE);
      name.setEnabled(true);
      name.setFocusableInTouchMode(true);
      name.setClickable(true);

      phone.setEnabled(true);
      phone.setFocusableInTouchMode(true);
      phone.setClickable(true);

      email.setEnabled(true);
      email.setFocusableInTouchMode(true);
      email.setClickable(true);

      street.setEnabled(true);
      street.setFocusableInTouchMode(true);
      street.setClickable(true);

      place.setEnabled(true);
      place.setFocusableInTouchMode(true);
      place.setClickable(true);

      return true; 
      case R.id.Delete_Contact:

      AlertDialog.Builder builder = new AlertDialog.Builder(this);
      builder.setMessage(R.string.deleteContact)
      .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int id) {
            mydb.deleteContact(id_To_Update);
            Toast.makeText(getApplicationContext(), "Deleted Successfully", Toast.LENGTH_SHORT).show();  
            Intent intent = new Intent(getApplicationContext(),MainActivity.class);
            startActivity(intent);
         }
      })
      .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int id) {
            // User cancelled the dialog
         }
      });
      AlertDialog d = builder.create();
      d.setTitle("Are you sure");
      d.show();

      return true;
      default: 
      return super.onOptionsItemSelected(item); 

      } 
   } 

   public void run(View view)
   { 
      Bundle extras = getIntent().getExtras();
      if(extras !=null)
      {
         int Value = extras.getInt("id");
         if(Value>0){
            if(mydb.updateContact(id_To_Update,name.getText().toString(), phone.getText().toString(), email.getText().toString(), street.getText().toString(), place.getText().toString())){
               Toast.makeText(getApplicationContext(), "Updated", Toast.LENGTH_SHORT).show(); 
               Intent intent = new Intent(getApplicationContext(),MainActivity.class);
               startActivity(intent);
            }  
            else{
               Toast.makeText(getApplicationContext(), "not Updated", Toast.LENGTH_SHORT).show(); 
            }
         }
         else{
            if(mydb.insertContact(name.getText().toString(), phone.getText().toString(), email.getText().toString(), street.getText().toString(), place.getText().toString())){
               Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_SHORT).show(); 
            }  
            
            else{
               Toast.makeText(getApplicationContext(), "not done", Toast.LENGTH_SHORT).show(); 
            }
            Intent intent = new Intent(getApplicationContext(),MainActivity.class);
            startActivity(intent);
         }
      }
   }
}
Im Anschluss wird der Inhalt des Datenbankklasse DBHelper.java
package com.example.addressbook;

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_STREET = "street";
   public static final String CONTACTS_COLUMN_CITY = "place";
   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, street text,place 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, String street,String place)
   {
      SQLiteDatabase db = this.getWritableDatabase();
      ContentValues contentValues = new ContentValues();
      contentValues.put("name", name);
      contentValues.put("phone", phone);
      contentValues.put("email", email); 
      contentValues.put("street", street);
      contentValues.put("place", place);
      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, String street,String place)
   {
      SQLiteDatabase db = this.getWritableDatabase();
      ContentValues contentValues = new ContentValues();
      contentValues.put("name", name);
      contentValues.put("phone", phone);
      contentValues.put("email", email);
      contentValues.put("street", street);
      contentValues.put("place", place);
      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;
   }
}
Im Folgenden ist der Inhalt der res / layout / activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:textSize="30dp"
        android:text="Data Base" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Tutorials Point"
        android:id="@+id/textView2"
        android:layout_below="@+id/textView"
        android:layout_centerHorizontal="true"
        android:textSize="35dp"
        android:textColor="#ff16ff01" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:layout_below="@+id/textView2"
        android:layout_centerHorizontal="true"
        android:src="@drawable/logo"/>

    <ScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/scrollView"
        android:layout_below="@+id/imageView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true">
        
    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" >
    </ListView>
    </ScrollView>

</RelativeLayout>;
Im Folgenden ist der Inhalt der res / layout / activity_display_contact.xml
<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=".DisplayContact" >

<RelativeLayout
   android:layout_width="match_parent"
   android:layout_height="370dp"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin">

   <EditText
      android:id="@+id/editTextName"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentLeft="true"
      android:layout_marginTop="5dp"
      android:layout_marginLeft="82dp"
      android:ems="10"
      android:inputType="text" >
   </EditText>

   <EditText
      android:id="@+id/editTextEmail"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/editTextStreet"
      android:layout_below="@+id/editTextStreet"
      android:layout_marginTop="22dp"
      android:ems="10"
      android:inputType="textEmailAddress" />

   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignBottom="@+id/editTextName"
      android:layout_alignParentLeft="true"
      android:text="@string/name"
      android:textAppearance="?android:attr/textAppearanceMedium" />

   <Button
      android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/editTextCity"
      android:layout_alignParentBottom="true"
      android:layout_marginBottom="28dp"
      android:onClick="run"
      android:text="@string/save" />

   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignBottom="@+id/editTextEmail"
      android:layout_alignLeft="@+id/textView1"
      android:text="@string/email"
      android:textAppearance="?android:attr/textAppearanceMedium" />

   <TextView
      android:id="@+id/textView5"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignBottom="@+id/editTextPhone"
      android:layout_alignLeft="@+id/textView1"
      android:text="@string/phone"
      android:textAppearance="?android:attr/textAppearanceMedium" />

   <TextView
      android:id="@+id/textView4"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_above="@+id/editTextEmail"
      android:layout_alignLeft="@+id/textView5"
      android:text="@string/street"
      android:textAppearance="?android:attr/textAppearanceMedium" />

   <EditText
      android:id="@+id/editTextCity"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignRight="@+id/editTextName"
      android:layout_below="@+id/editTextEmail"
      android:layout_marginTop="30dp"
      android:ems="10"
      android:inputType="text" />

   <TextView
      android:id="@+id/textView3"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignBaseline="@+id/editTextCity"
      android:layout_alignBottom="@+id/editTextCity"
      android:layout_alignParentLeft="true"
      android:layout_toLeftOf="@+id/editTextEmail"
      android:text="@string/country"
      android:textAppearance="?android:attr/textAppearanceMedium" />

   <EditText
      android:id="@+id/editTextStreet"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/editTextName"
      android:layout_below="@+id/editTextPhone"
      android:ems="10"
      android:inputType="text" >

      <requestFocus />
   </EditText>

   <EditText
      android:id="@+id/editTextPhone"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/editTextStreet"
      android:layout_below="@+id/editTextName"
      android:ems="10"
      android:inputType="phone|text" />

</RelativeLayout>
</ScrollView>
Im Folgenden ist der Inhalt der res / Wert / string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">Address Book</string>
   <string name="action_settings">Settings</string>
   <string name="hello_world">Hello world!</string>
   <string name="Add_New">Add New</string>
   <string name="edit">Edit Contact</string>
   <string name="delete">Delete Contact</string>
   <string name="title_activity_display_contact">DisplayContact</string>
   <string name="name">Name</string>
   <string name="phone">Phone</string>
   <string name="email">Email</string>
   <string name="street">Street</string>
   <string name="country">City/State/Zip</string>
   <string name="save">Save Contact</string>
   <string name="deleteContact">Are you sure, you want to delete it.</string>
   <string name="yes">Yes</string>
   <string name="no">No</string>
</resources>
Im Folgenden ist der Inhalt der res / menu / main_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
   
   <item android:id="@+id/item1" 
      android:icon="@drawable/add"
      android:title="@string/Add_New" >
   </item>
   
</menu>
Im Folgenden ist der Inhalt der res / menu / display_contact.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
   <item
      android:id="@+id/Edit_Contact"
      android:orderInCategory="100"
      android:title="@string/edit"/>
   
   <item
      android:id="@+id/Delete_Contact"
      android:orderInCategory="100"
      android:title="@string/delete"/>

</menu>
Dies ist die defualt AndroidManifest.xml dieses Projekts
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      
      </activity>
      
      <activity android:name=".DisplayContact"/>
      
   </application>
</manifest>
Lassen Sie uns versuchen, um Ihre Anwendung auszuführen. Ich nehme an, Sie Ihre aktuelle Android-Gerät mit dem Computer verbunden haben. Um die App vom Android-Studio, öffnen Sie eine der Aktivität Dateien Ihres Projekt auszuführen, und klicken Sie auf Eclipse-Run IconAusführen-Symbol in der Werkzeugleiste. Vor dem Start der Anwendung wird Android Studio Display folgende Fenster, um eine Option, wo Sie Ihre Android-Anwendung ausgeführt werden soll.
Wählen Sie Ihr Mobilgerät als Option und prüfen Sie dann Ihr mobiles Gerät die folgenden Bildschirm anzuzeigen wird -
Anroid SQLite Tutorial
Öffnen Sie nun Ihren optional Menü, wird es als Bild unten zeigen: Optional Menü erscheint verschiedenen Orten auf verschiedenen Versionen
Anroid SQLite Tutorial
Klicken Sie auf die Schaltfläche Hinzufügen des Menübildschirms, um einen neuen Kontakt hinzuzufügen. Es wird den folgenden Bildschirm anzuzeigen -
Anroid SQLite Tutorial
Es wird die folgenden Felder anzuzeigen. Bitte geben Sie die erforderlichen Informationen ein und klicken Sie auf Speichern Kontakt. Es wird Sie zurück zum Hauptbildschirm zu bringen.
Android SQLite Tutorial
Jetzt unser Kontaktformular john wurde hinzugefügt. Tippen Sie auf diese, um es zu bearbeiten oder zu löschen it.It gelangen Sie zum folgenden Bildschirm zu bringen. Wählen Sie nun im Menü von Ihrem Handy. Und es werden zwei Optionen dort.
Android SQLite Tutorial
Wählen Sie Kontakt löschen und ein Dialogfeld angezeigt würde gefragt, über das Löschen dieses Kontaktformular. Es würde so sein
Android SQLite Tutorial
Wählen Sie Ja aus dem oben angezeigten Bildschirm und eine Meldung erscheint, dass der Kontakt wurde erfolgreich gelöscht. Es würde so aussehen
Anroid SQLite Tutorial
Um zu sehen, dass, wo ist Ihre Datenbank erstellt wird. Öffnen Sie Ihr Android-Studio, verbinden Sie Ihr Handy. Go-Werkzeuge / android / Android-GerätMonitor. Jetzt durchsuchen Sie die Registerkarte Datei-Explorer. Schauen Sie sich jetzt auf diesen Ordner / data / data / <your.package.name> / databases <Datenbank-Name>.
Share on Google Plus

About ptjqatar

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 التعليقات:

Kommentar veröffentlichen