Android實(shí)現(xiàn)通訊錄功能
本文實(shí)例為大家分享了Android通訊錄案例,供大家參考,具體內(nèi)容如下
實(shí)戰(zhàn)演練——通訊錄
1、功能描述:通過(guò)SQLite實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪改查
2、技術(shù)要點(diǎn):SQLite的基本操作
3、實(shí)現(xiàn)步驟:
① 創(chuàng)建一個(gè)類繼承SQLiteOpenHelper② 重寫父類構(gòu)造方法、onCreate()、onUpgrade()③ 增刪改查
4、效果圖
5、案例代碼
MyHelper.java
package com.example.sqlite;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import androidx.annotation.Nullable;public class MyHelper extends SQLiteOpenHelper { public MyHelper(@Nullable Context context) { super(context, 'test.db', null, 1); } //當(dāng)數(shù)據(jù)庫(kù)第一次創(chuàng)建的時(shí)候執(zhí)行 @Override public void onCreate(SQLiteDatabase db) { db.execSQL('CREATE TABLE information(_id INTEGER PRIMARY KEY AUTOINCREMENT ,name VARCHAR(20),phone VARCHAR(20))'); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }}
MainActivity.java
package com.example.sqlite;import androidx.appcompat.app.AppCompatActivity;import android.content.ContentValues;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends AppCompatActivity implements View.OnClickListener { private TextView name; private TextView phone; private Button btnAdd; private Button btnDel; private Button btnUqd; private Button btnSel; private String uPhone; private String uName; private MyHelper myHelper; private SQLiteDatabase db; private TextView show; private ContentValues contentValues; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myHelper = new MyHelper(this); init(); } private void init() { show = findViewById(R.id.show); name = findViewById(R.id.name); phone = findViewById(R.id.phone); btnAdd = findViewById(R.id.insert); btnDel = findViewById(R.id.delete); btnUqd = findViewById(R.id.update); btnSel = findViewById(R.id.select); btnAdd.setOnClickListener(this); btnDel.setOnClickListener(this); btnUqd.setOnClickListener(this); btnSel.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.select:db = myHelper.getReadableDatabase();Cursor cursor = db.query('information', null, null, null, null, null, null);if (cursor.getCount() == 0) { Toast.makeText(this, '沒(méi)有數(shù)據(jù)', Toast.LENGTH_LONG).show();} else { cursor.moveToFirst(); show.setText('Name:' + cursor.getString(1) + 'Tel:' + cursor.getString(2));}while (cursor.moveToNext()) { show.append('n' + 'Name' + cursor.getString(1) + 'Tel' + cursor.getString(2));}cursor.close();db.close();break; case R.id.insert:uName = name.getText().toString();uPhone = phone.getText().toString();db = myHelper.getReadableDatabase();contentValues = new ContentValues();contentValues.put('name', uName);contentValues.put('phone', uPhone);db.insert('information', null, contentValues);db.close();break; case R.id.update:db = myHelper.getReadableDatabase();contentValues = new ContentValues();contentValues.put('phone', uPhone = phone.getText().toString());db.update('information', contentValues, 'name=?', new String[]{name.getText().toString()});db.close();break; case R.id.delete:db = myHelper.getReadableDatabase();db.delete('information', null, null);Toast.makeText(this, '信息已經(jīng)刪除', Toast.LENGTH_LONG).show();show.setText('');db.close();break; } }}
activity_main.xml
<?xml version='1.0' encoding='utf-8'?><RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:app='http://schemas.android.com/apk/res-auto' xmlns:tools='http://schemas.android.com/tools' android:layout_width='match_parent' android:layout_height='match_parent' tools:context='.MainActivity' android:background='@drawable/background'> <LinearLayout android:layout_width='match_parent' android:layout_height='match_parent' android:orientation='vertical' > <LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal' > <ImageViewandroid:layout_width='160dp'android:layout_height='120dp'android:layout_marginTop='50dp'android:layout_marginLeft='20dp'android:src='http://m.4tl426be.cn/bcjs/@drawable/expression'></ImageView> <ImageViewandroid:layout_width='160dp'android:layout_height='120dp'android:layout_marginTop='50dp'android:layout_marginLeft='20dp'android:src='http://m.4tl426be.cn/bcjs/@drawable/text'></ImageView> </LinearLayout> <LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal' android:layout_marginTop='20dp' android:paddingHorizontal='20dp' > <TextViewandroid:layout_width='0dp'android:layout_height='wrap_content'android:layout_weight='1'android:text='姓 名 :'android:textSize='26sp'app:layout_constraintBottom_toBottomOf='parent'app:layout_constraintLeft_toLeftOf='parent'app:layout_constraintRight_toRightOf='parent'app:layout_constraintTop_toTopOf='parent' /> <EditTextandroid: android:layout_width='0dp'android:layout_weight='3'android:layout_height='wrap_content'android:hint='請(qǐng)輸入姓名'android:textSize='22sp'></EditText> </LinearLayout> <LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal' android:layout_marginTop='20dp' android:paddingHorizontal='20dp' > <TextViewandroid:layout_width='0dp'android:layout_height='wrap_content'android:layout_weight='1'android:text='電 話 :'android:textSize='26sp'app:layout_constraintBottom_toBottomOf='parent'app:layout_constraintLeft_toLeftOf='parent'app:layout_constraintRight_toRightOf='parent'app:layout_constraintTop_toTopOf='parent' /> <EditTextandroid: android:layout_width='0dp'android:layout_weight='3'android:layout_height='wrap_content'android:hint='請(qǐng)輸入手機(jī)號(hào)碼'android:textSize='22sp'></EditText> </LinearLayout> <LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal' android:layout_marginTop='20dp' android:paddingHorizontal='20dp' > <Buttonandroid: android:layout_width='0dp'android:layout_weight='1'android:layout_height='wrap_content'android:text='增加'android:textSize='26sp'></Button> <Buttonandroid: android:layout_width='0dp'android:layout_weight='1'android:layout_height='wrap_content'android:text='查詢'android:textSize='26sp'></Button> <Buttonandroid: android:layout_width='0dp'android:layout_weight='1'android:layout_height='wrap_content'android:text='修改'android:textSize='26sp'></Button> <Buttonandroid: android:layout_width='0dp'android:layout_weight='1'android:layout_height='wrap_content'android:text='刪除'android:textSize='26sp'></Button> </LinearLayout> <TextView android: android:layout_width='match_parent' android:layout_height='wrap_content' android:gravity='center' android:textSize='18sp' android:background='#80ffffff' android:layout_marginHorizontal='20dp' ></TextView> </LinearLayout></RelativeLayout>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Python 實(shí)現(xiàn)勞拉游戲的實(shí)例代碼(四連環(huán)、重力四子棋)2. python 寫函數(shù)在一定條件下需要調(diào)用自身時(shí)的寫法說(shuō)明3. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法4. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))5. JavaScript數(shù)據(jù)結(jié)構(gòu)之雙向鏈表6. 利用CSS制作3D動(dòng)畫7. 一款功能強(qiáng)大的markdown編輯器tui.editor使用示例詳解8. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼9. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)10. .Net加密神器Eazfuscator.NET?2023.2?最新版使用教程
