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.No | Verfahren & Beschreibung |
---|---|
1 | Opendatabase (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
|
2 | Opendatabase (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
|
3 | openOrCreateDatabase (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
|
4 | openOrCreateDatabase (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.No | Verfahren & Beschreibung |
---|---|
1 | ExecSQL (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.No | Verfahren & Beschreibung |
---|---|
1 | getColumnCount () Dieses Verfahren geben die Gesamtzahl der Spalten der Tabelle. |
2 | getColumnIndex (String columnname)
Dieses Verfahren gibt die Indexnummer einer Spalte, die den Namen der Spalte
|
3 | getColumnName (int column)
Diese Methode gibt den Namen der Spalte, die den Index der Spalte
|
4 | getColumnNames ()
Diese Methode gibt den Array aller Spaltennamen der Tabelle.
|
5 | getCount ()
Diese Methode gibt die Gesamtzahl der Zeilen im Cursor
|
6 | getPosition ()
Diese Methode liefert die aktuelle Position des Cursors in der Tabelle
|
7 | ist 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
Schritte | Bezeichnung |
---|---|
1 | Sie 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. |
3 | Erstellen neuer src / DBHelper.java, der die Datenbank verwalten wird Arbeit |
4 | Erstellen 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 |
9 | Erstellen Sie ein neues Menü als res / menu / mainmenu.xml, um den Einsatz Kontakt Option hinzufügen |
10 | Fü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
Ausfü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 -
Öffnen Sie nun Ihren optional Menü, wird es als Bild unten zeigen: Optional Menü erscheint verschiedenen Orten auf verschiedenen Versionen
Klicken Sie auf die Schaltfläche Hinzufügen des Menübildschirms, um einen neuen Kontakt hinzuzufügen. Es wird den folgenden Bildschirm anzuzeigen -
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.
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.
Wählen Sie Kontakt löschen und ein Dialogfeld angezeigt würde gefragt, über das Löschen dieses Kontaktformular. Es würde so sein
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
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>.
0 التعليقات:
Kommentar veröffentlichen