Android SQLite Database Tutorial

SQLite er en opensource SQL database som lagrer data til en tekstfil på en enhet. Android kommer inn med innebygd SQLite database gjennomføringen.

SQLite støtter alle de relasjonelle databasefunksjoner. For å få tilgang til denne databasen, trenger du ikke å etablere noen form for tilkoblinger for det som JDBC, ODBC etc

Database - Pakke

Hoved pakken er android.database.sqlite at inneholder klasser for å administrere dine egne databaser

Database - Opprettelse

For å opprette en database du trenger bare å kalle denne metoden openOrCreateDatabase med databasenavn og modus som en parameter. Den returnerer en forekomst av SQLite database som du må få i ditt eget object.Its syntaks er gitt nedenfor
SQLiteDatabse mine = openOrCreateDatabase ("din databasenavn", MODE_PRIVATE, null);

Bortsett fra dette, er det andre funksjoner som er tilgjengelige i databasen pakken, som gjør denne jobben. De er listet opp nedenfor
Sr.NoMethod & Description1 openDatabase (String bane, SQLiteDatabase.CursorFactory fabrikken, int flagg, DatabaseErrorHandler Errorhandler)

Denne metoden åpner bare den eksisterende database med riktig flagg modus. Den felles flagg modus kan være OPEN_READWRITE OPEN_READONLY
2 openDatabase (String bane, SQLiteDatabase.CursorFactory fabrikken, int flagg)

Det ligner på metoden ovenfor som det åpner også den eksisterende database, men det definerer ikke noen behandleren til å håndtere feil av databaser
3 openOrCreateDatabase (String bane, SQLiteDatabase.CursorFactory fabrikken)

Det er ikke bare åpnes, men opprette databasen hvis det ikke eksisterer. Denne metoden tilsvarer openDatabase metode
4 openOrCreateDatabase (File fil, SQLiteDatabase.CursorFactory fabrikken)

Denne metoden ligner på metoden ovenfor, men det tar Fil objekt som en vei heller da en streng . Det tilsvarer file.getPath ()

Database - Innsetting

Vi kan lage tabell eller sette inn data i tabellen ved hjelp execSQL metoden definert i SQLiteDatabase klasse. Syntaksen er gitt nedenfor
mydatabase.execSQL ("CREATE TABLE IF IKKE eksisterer TutorialsPoint (brukernavn VARCHAR, passord VARCHAR);"); mydatabase.execSQL ("INSERT INTO TutorialsPoint VALUES ('admin', 'admin');" );

Dette vil sette inn noen verdier i vårt bord i vår database. En annen metode som også gjør den samme jobben, men ta litt ekstra parameter er gitt nedenfor
Sr.NoMethod &Beskrivelse1 execSQL (String sql, Object [] bindArgs)

Denne metoden ikke bare sette inn data, men også til å oppdatere eller modifisere allerede eksisterende data i databasen ved å bruke bind argumenter

Database - Henter

Vi kan hente noe fra databasen ved hjelp av et objekt av markør klassen. Vi vil kalle en metode i denne klassen heter rawQuery og det vil returnere et ResultSet med markøren peker til bordet. Vi kan flytte markøren fremover og hente data
Markør ResultSet = mydatbase.rawQuery ("Select * from TutorialsPoint", null);. ResultSet.moveToFirst (); String brukernavn = resultSet.getString (1); String passord = resultSet.getString (2);

Det er andre funksjoner som er tilgjengelige i Markør klasse som tillater oss å effektivt hente data. Det inkluderer
Sr.NoMethod &Beskrivelse1 getColumnCount ()
Denne metoden returnerer det totale antallet kolonner i tabellen.
2 getColumnIndex (String Kolonne)

Dette Metoden returnerer indeksen antall en kolonne ved å angi navnet på kolonnen
3 getColumnName (int columnIndex)

Denne metoden returnerer navnet på kolonnen ved å angi indeksen av kolonnen
4 getColumnNames ()

Denne metoden returnerer rekken av alle kolonnenavnene i tabellen.
5 getCount ()

Denne metoden returnerer det totale antallet rader i markøren
6 getPosition ()

Denne metoden returnerer gjeldende posisjonen til markøren i tabellen
7 isClosed ()

Dette Metoden returnerer true hvis markøren er lukket og return false ellers

Database - Helper klasse

For å håndtere alle operasjoner knyttet til databasen, har en medhjelper klassen fått og kalles SQLiteOpenHelper. Den håndterer automatisk etablering og oppdatering av databasen. Syntaksen er gitt nedenfor
public class DBHelper strekker SQLiteOpenHelper {public DBHelper () {super (sammenheng DATABASE_NAME, null, 1); } Public void onCreate (SQLiteDatabase db) {} public void ONUPGRADE (SQLiteDatabase database, int OldVersion, int newversion) {}}
Eksempel

Her er et eksempel som demonstrerer bruk av SQLite Database. Det skaper en grunnleggende kontaktprogrammer som gjør innsetting, sletting og endring av kontakter.

For å eksperimentere med dette eksempelet, må du kjøre dette på en faktisk enhet på hvilket kamera er støttet.
StepsDescription1You vil bruke Android studio for å lage en Android-applikasjon under en pakke com.example.sairamkrishna.myapplication. Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java fil for å få referanser fra alle XML komponenter og befolke kontaktene på listView.3Create ny src /DBHelper.java som vil administrere databasen work4Create en ny aktivitet som DisplayContact.java som vil vise kontakt på screen5Modify res /layout /activity_main å legge respektive XML componentss6Modify res /layout /activity_display_contact.xml å legge respektive XML components7Modify res /verdier /string.xml å legge nødvendig streng components8Modify res /meny /display_contact.xml å legge nødvendig menyen components9Create en ny meny som res /meny /mainmenu.xml å legge innsatsen kontakt option10Run programmet og velge en løpende Android-enhet og installere programmet på den og verifisere resultatene.

Følgende er innholdet i den modifiserte MainActivity.java
.
pakken com.example.sairamkrishna.myapplication, import android.content.Context, importere android.content.Intent, importere android.support.v7.app.ActionBarActivity, importere android.os.Bundle, importere 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 strekker ActionBarActivity {public endelig statisk String EXTRA_MESSAGE = "melding"; private Listview obj; DBHelper mydb; Override Beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); mydb = new DBHelper (denne); Arraylist array_list = mydb.getAllCotacts (); ArrayAdapter arrayAdapter = new ArrayAdapter (dette, android.R.layout.simple_list_item_1, array_list); obj = (Listview) findViewById (R.id.listView1); obj.setAdapter (arrayAdapter); obj.setOnItemClickListener (ny OnItemClickListener () {Override public void onItemClick (AdapterView <? > arg0, Utsikt arg1, int arg2, lang arg3) {//TODO Auto-generert metode stub int id_To_Search = arg2 + 1; Bundle dataBundle = nye Bundle (); dataBundle.putInt ("id", id_To_Search); Intent hensikt = new Intent (getApplicationContext (), DisplayContact.class); intent.putExtras (dataBundle); startActivity (forsett);}}); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {super.onOptionsItemSelected (element); bryteren (item.getItemId ()) {case R.id.item1: Bundle dataBundle = new Bundle (); dataBundle.putInt ("id", 0); Intent hensikt = new Intent (getApplicationContext (), DisplayContact.class); intent.putExtras (dataBundle); startActivity (hensikt); return true; Standard: returnere super.onOptionsItemSelected (element); }} Public boolean onkeydown (int keycode, KeyEvent hendelse) {if (keycode == KeyEvent.KEYCODE_BACK) {moveTaskToBack (true); } Returnere super.onKeyDown (keycode, event); }}

Følgende er endret innholdet i displayet kontakt aktivitet DisplayContact.java
pakken 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 strekker Aktivitet {int from_Where_I_Am_Coming = 0; private DBHelper mydb; TextView navn; TextView telefon; TextView e-post; TextView gaten; TextView sted; int = 0 id_To_Update; Override Beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_display_contact); name = (TextView) findViewById (R.id.editTextName); Telefonen = (TextView) findViewById (R.id.editTextPhone); e = (TextView) findViewById (R.id.editTextStreet); street = (TextView) findViewById (R.id.editTextEmail); sted = (TextView) findViewById (R.id.editTextCity); mydb = new DBHelper (denne); Bunt statister = getIntent () getExtras (.); if (statister = null) {int verdi = extras.getInt ("id"); if (verdi> 0) {//betyr at dette er utsikten del ikke tillegget kontakt delen. Markør rs = mydb.getData (verdi); id_To_Update = verdi; 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 (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. Bunt statister = getIntent () getExtras (.); if (statister = null) {int verdi = extras.getInt ("id"); if (verdi> 0) {getMenuInflater () blåse (R.menu.display_contact, meny).; } Else {getMenuInflater () blåse (R.menu.main, meny).; }} Return true; } Public boolean onOptionsItemSelected (MENUITEM element) {super.onOptionsItemSelected (element); bryteren (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 byggmester = new AlertDialog.Builder (denne); builder.setMessage (R.string.deleteContact) .setPositiveButton (R.string.yes, ny DialogInterface.OnClickListener () {public void onClick (dialog DialogInterface, int id) {mydb.deleteContact (id_To_Update); Toast.makeText (getApplicationContext ( ), "slettet", Toast.LENGTH_SHORT) .vis (); Intent hensikt = new Intent (getApplicationContext (), MainActivity.class); startActivity (forsett);}}) .setNegativeButton (R.string.no, ny DialogInterface .OnClickListener () {public void onClick (dialog DialogInterface, int id) {//Bruker avbrøt dialogen}}); AlertDialog d = builder.create (); d.setTitle ("Er du sikker"); d.show (); return true; Standard: returnere super.onOptionsItemSelected (element); }} Public void run (Vis visning) {Bundle statister = getIntent () getExtras (.); if (statister = null) {int verdi = extras.getInt ("id"); if (verdi> 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 (), "oppdatert", Toast.LENGTH_SHORT) .vis (); Intent hensikt = new Intent (getApplicationContext (), MainActivity.class); startActivity (hensikt); } Else {Toast.makeText (getApplicationContext (), "ikke oppdatert", Toast.LENGTH_SHORT) .vis (); }} Else {if (mydb.insertContact (name.getText (). ToString (), phone.getText (). ToString (), email.getText (). ToString (), street.getText () toString. () . place.getText () toString ())) {Toast.makeText (getApplicationContext (), "ferdig", Toast.LENGTH_SHORT) .vis (); } Else {Toast.makeText (getApplicationContext () ", ikke gjort", Toast.LENGTH_SHORT) .vis (); } Intent hensikt = new Intent (getApplicationContext (), MainActivity.class); startActivity (hensikt); }}}}

Følgende er innholdet av Database klassen DBHelper.java
pakken com.example.addressbook, import java.util.ArrayList, import java.util.HashMap; import java. util.Hashtable, import android.content.ContentValues, import android.content.Context, importere android.database.Cursor, import android.database.DatabaseUtils, importere android.database.sqlite.SQLiteOpenHelper, importere android.database.sqlite.SQLiteDatabase; public class DBHelper strekker SQLiteOpenHelper {public static endelige String DATABASE_NAME = "MyDBName.db"; public static endelige String CONTACTS_TABLE_NAME = "kontakter"; public static endelige String CONTACTS_COLUMN_ID = "id"; public static endelige String CONTACTS_COLUMN_NAME = "navn"; public static endelige String CONTACTS_COLUMN_EMAIL = "e"; public static endelige String CONTACTS_COLUMN_STREET = "street"; public static endelige String CONTACTS_COLUMN_CITY = "sted"; public static endelige String CONTACTS_COLUMN_PHONE = "telefon"; private HashMap hp; offentlig DBHelper (Context kontekst) {super (sammenheng DATABASE_NAME, null, 1); }Override Public void onCreate (SQLiteDatabase db) {//TODO Auto-generert metode spire db.execSQL ("lage tabell kontakter" + "(id heltall primærnøkkel, navn tekst, telefon tekst, e-tekst, gate tekst, plassere tekst ) "); }Override Public void ONUPGRADE (SQLiteDatabase db, int OldVersion, int newversion) {//TODO Auto-generert metode spire db.execSQL ("DROP TABLE IF eksisterer kontakter"); onCreate (db); } Public boolean insertContact (String navn, String telefon, String epost, String gate, String sted) {SQLiteDatabase db = this.getWritableDatabase (); ContentValues ​​contentValues ​​= nye ContentValues ​​(); contentValues.put ("navn", navn); contentValues.put ("telefon", telefon); contentValues.put ("e-post", e); contentValues.put ("street", street); contentValues.put ("sted", sted); db.insert ("kontakter", null, contentValues); return true; } Public Markør GetData (int id) {SQLiteDatabase db = this.getReadableDatabase (); Markør res = db.rawQuery ("select * from kontakter der id =" + id + "", null); returnere res; } Public int numberOfRows () {SQLiteDatabase db = this.getReadableDatabase (); int numRader = (int) DatabaseUtils.queryNumEntries (db, CONTACTS_TABLE_NAME); returnere numRader; } Public boolean updateContact (Integer id, String navn, String telefon, String epost, String gate, String sted) {SQLiteDatabase db = this.getWritableDatabase (); ContentValues ​​contentValues ​​= nye ContentValues ​​(); contentValues.put ("navn", navn); contentValues.put ("telefon", telefon); contentValues.put ("e-post", e); contentValues.put ("street", street); contentValues.put ("sted", sted); db.update ("kontakter", contentValues, "id =", new String [] {Integer.toString (id)}); return true; } Public Integer deleteContact (Integer id) {SQLiteDatabase db = this.getWritableDatabase (); returnere db.delete ("kontakter", "id =", new String [] {Integer.toString (id)}); } Public Arraylist < String> getAllCotacts () {Arraylist < String> array_list = new Arraylist < String> (); //hk = new HashMap (); SQLiteDatabase db = this.getReadableDatabase (); Markør res = db.rawQuery ("select * from kontakter", null); res.moveToFirst (); while (res.isAfterLast () == false) {array_list.add (res.getString (res.getColumnIndex (CONTACTS_COLUMN_NAME))); res.moveToNext (); } Returnere array_list; }}

Følgende er innholdet i res /layout /activity_main.xml
< RelativeLayout xmlns: android = "http://schemas.android.com/apk/res/android "xmlns: verktøy =" 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 "verktøy: kontekst =" 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: Tekststørrelse = "30dp" android : text = "Data Base" /> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Guider Point" android: id = "+ id /textView2" android: layout_below = "+ id /textView" android: layout_centerHorizontal = "true" android: Tekststørrelse = "35dp" android: textcolor = "# ff16ff01" /> < Imageview android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /bildeVis" android: layout_below = "+ id /textView2" android: layout_centerHorizontal = "true" android: src = "@ teikne /logo" /> < ScrollView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /scrollView" android: layout_below = "+ id /bildeVis" 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 >;

Følgende er innholdet i res /layout /activity_display_contact.xml
< ScrollView xmlns: android = "http: //skjemaer. android.com/apk/res/android "xmlns: verktøy =" http://schemas.android.com/tools "android: id =" + id /scrollView1 "android: layout_width =" match_parent "android: layout_height =" wrap_content "verktøy: kontekst =" 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 /navn" 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 = "@ streng /lagre" /> < 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 = "@ streng /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 = "@ streng /telefon" 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 = "@ streng /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 = "@ streng /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 | tekst" /> < /RelativeLayout > < /ScrollView >

Følgende er innholdet i res /verdi /string.xml

<? xml version = "1.0" encoding = "utf-8" >? < resources > < string name = "APP_NAME" > Adressebok < /string > < string name = "action_settings" > Innstillinger < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "Add_New" > Legg til ny < /string > < string name = "edit" > Rediger kontakt < /string > < string name = "delete" > Slett Kontakt < /string > < string name = "title_activity_display_contact" > DisplayContact < /string > < string name = "navn" > Name < /string > < string name = "phone" > Telefon < /string > < string name = "email" > E < /string > < string name = "street" > Street < /string > < string name = "land" > by /stat /Zip < /string > < string name = "lagre" > Lagre Kontakt < /string > < string name = "deleteContact" > Er du sikker på at du ønsker å slette den. < /string > < string name = "ja" > Ja < /string > < string name = "no" > Nei < /string > < /ressurser >

Følgende er innholdet i res /meny /main_menu.xml
<? xml version ? = "1.0" encoding = "UTF-8" > < meny xmlns: android = "http://schemas.android.com/apk/res/android" > < element android: id = "+ id /item1" android: icon = "@ teikne /legge til" android: title = "@ streng /Add_New" > < /element > < /meny >

Følgende er innholdet i res /meny /display_contact.xml
< meny xmlns: android = "http://schemas.android.com/apk/res /android "> < element android: id = "+ id /Edit_Contact" android: orderInCategory = "100" android: title = "@ streng /redigere" /> < element android: id = "+ id /Delete_Contact" android: orderInCategory = "100" android: title = "@ streng /slette" /> < /meny >

Dette er defualt AndroidManifest ? xml
av dette prosjektet
< xml version = "1.0" encoding = "utf-8" > < manifest xmlns:? android = "http://schemas.android.com/apk/res /android "pakken =" com.example.sairamkrishna.myapplication "> < søknad android: allowBackup = "true" android: icon = "@ Mipmap /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: ". MainActivity" name = android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < aktivitet android: name = ". DisplayContact" /> < /søknad > < /manifest >

La oss prøve å kjøre programmet. Jeg antar at du har koblet den faktiske Android Mobile-enhet med datamaskinen. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Før du starter programmet, vil Android studio vise følgende vindu for å velge et alternativ hvor du vil kjøre Android-applikasjon

Velg den mobile enheten som et alternativ, og deretter sjekke den mobile enheten som vil vise følgende skjermbilde og minus.;

Nå åpner valgmenyen, vil det vises som nedenfor image: Valgfritt menyen vises forskjellige steder på forskjellige versjoner

Klikk på knappen Legg til menyskjermen for å legge en ny kontakt. Det vil vise følgende skjermbilde −

Det vil vise følgende felt. Fyll inn den nødvendige informasjonen og klikk på Lagre kontakt. Det vil bringe deg tilbake til hovedskjermen.

Nå vårt kontakt john har blitt lagt til. Trykk på denne for å redigere eller slette it.It vil bringe deg til følgende skjermbilde. Nå velger meny fra mobilen din. Og det vil være to alternativer der ute.

Velg slette kontakt og en dialogboks vil vises som ber deg om å slette denne kontakten. Det ville være som dette

Velg Ja fra skjermbildet ovenfor som vises, og en melding vises at kontakten har blitt slettet. Det kan virke som dette

For å se at der er databasen er opprettet. Åpne din android studio, koble mobilen. Gå Verktøy /android /android enhet monitor
. Nå bla kategorien filutforskeren. Nå bla denne mappen /data/data/<your.package.name>/databases<database-name>. Anmeldelser