电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android Studio實現簡單的通訊錄

瀏覽:30日期:2022-09-19 08:59:05

網上找的一個單頁面通訊錄,修改之后將添加聯系人和修改/刪除聯系人分為兩個獨立頁面

Android Studio實現簡單的通訊錄Android Studio實現簡單的通訊錄Android Studio實現簡單的通訊錄

MainActivity

package com.example.test; import androidx.appcompat.app.AppCompatActivity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.text.method.ScrollingMovementMethod;import android.view.View;import android.view.inputmethod.InputMethodManager;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ MyHelper myHelper; private TextView tvShow; private Button btnAdd; private Button btnQuery; private Button btnUpdate; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);myHelper = new MyHelper(this);init(); } private void init(){tvShow = (TextView)findViewById(R.id.tv_show);btnAdd = (Button)findViewById(R.id.btn_add);btnQuery = (Button)findViewById(R.id.btn_query);btnUpdate = (Button)findViewById(R.id.btn_update);btnAdd.setOnClickListener(this); //Button控件設置監聽btnQuery.setOnClickListener(this);btnUpdate.setOnClickListener(this);findViewById(R.id.traceroute_rootview).setOnClickListener(this);tvShow.setMovementMethod(ScrollingMovementMethod.getInstance()); //設置文本滾動 } public void onClick(View v){SQLiteDatabase db;switch (v.getId()){ case R.id.traceroute_rootview:InputMethodManager imm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(v.getWindowToken(),0);break; case R.id.btn_add: //添加聯系人Intent intent=new Intent(MainActivity.this,nextActivity.class);startActivity(intent);break; case R.id.btn_query: //查詢聯系人db = myHelper.getReadableDatabase();Cursor cursor = db.rawQuery('select name,phone from person',null);if (cursor.getCount() == 0){ tvShow.setText(''); Toast.makeText(this,'當前無聯系人',Toast.LENGTH_SHORT).show();}else { cursor.moveToFirst(); tvShow.setText('Name:' + cursor.getString(0) + ' ; Tel:' + cursor.getString(1)); while (cursor.moveToNext()){tvShow.append('n' + 'Name:' + cursor.getString(0) + ' ; Tel:' + cursor.getString(1)); }}cursor.close();db.close();break; case R.id.btn_update: //修改聯系人Intent intent1=new Intent(MainActivity.this,xiugaiActivity.class);startActivity(intent1);break;} }}

nextActivity

package com.example.test; import androidx.appcompat.app.AppCompatActivity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.database.sqlite.SQLiteDatabase;import android.view.View;import android.view.inputmethod.InputMethodManager;import android.widget.Button;import android.widget.EditText;import android.widget.Toast; public class nextActivity extends AppCompatActivity implements View.OnClickListener { MyHelper myHelper; private EditText etName; private EditText etPhone; private Button btnAdd; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.next);myHelper = new MyHelper(this);init(); } private void init(){etName = (EditText)findViewById(R.id.et_name);etPhone = (EditText)findViewById(R.id.et_phone);btnAdd = (Button)findViewById(R.id.btn_add);btnAdd.setOnClickListener(this); //Button控件設置監聽findViewById(R.id.traceroute_rootview).setOnClickListener(this); } public void onClick(View v){String name;String phone;SQLiteDatabase db;switch (v.getId()) { case R.id.traceroute_rootview:InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(v.getWindowToken(), 0);break; case R.id.btn_add: //添加聯系人name = etName.getText().toString().trim();phone = etPhone.getText().toString().trim();db = myHelper.getWritableDatabase();if (name.equals('') || phone.equals('')) { //聯系人信息不能為空 Toast.makeText(this, '聯系人信息添加失敗', Toast.LENGTH_SHORT).show();} else { db.execSQL('insert into person (name,phone) values(?,?)', new Object[]{name, phone}); Toast.makeText(this, '聯系人信息添加成功', Toast.LENGTH_SHORT).show();}db.close();Intent intent=new Intent(nextActivity.this,MainActivity.class);startActivity(intent);break;} }}

xiugaiActivity

package com.example.test; import androidx.appcompat.app.AppCompatActivity;import android.content.Context;import android.os.Bundle;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.text.method.ScrollingMovementMethod;import android.view.View;import android.view.inputmethod.InputMethodManager;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;public class xiugaiActivity extends AppCompatActivity implements View.OnClickListener{ MyHelper myHelper; private EditText etName; private EditText etPhone; private TextView tvShow; private Button btnQuery; private Button btnUpdate; private Button btnDelete; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.xiugai);myHelper = new MyHelper(this);init(); } private void init(){etName = (EditText)findViewById(R.id.et_name);etPhone = (EditText)findViewById(R.id.et_phone);tvShow = (TextView)findViewById(R.id.tv_show);btnQuery = (Button)findViewById(R.id.btn_query);btnUpdate = (Button)findViewById(R.id.btn_update);btnDelete = (Button)findViewById(R.id.btn_delete);btnQuery.setOnClickListener(this);btnUpdate.setOnClickListener(this);btnDelete.setOnClickListener(this);findViewById(R.id.traceroute_rootview).setOnClickListener(this);tvShow.setMovementMethod(ScrollingMovementMethod.getInstance()); //設置文本滾動 } public void onClick(View v){String name;String phone;SQLiteDatabase db;switch (v.getId()){ case R.id.traceroute_rootview:InputMethodManager imm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(v.getWindowToken(),0);break; case R.id.btn_query: //查詢聯系人db = myHelper.getReadableDatabase();Cursor cursor = db.rawQuery('select name,phone from person',null);if (cursor.getCount() == 0){ tvShow.setText(''); Toast.makeText(this,'當前無聯系人',Toast.LENGTH_SHORT).show();}else { cursor.moveToFirst(); tvShow.setText('Name:' + cursor.getString(0) + ' ; Tel:' + cursor.getString(1)); while (cursor.moveToNext()){tvShow.append('n' + 'Name:' + cursor.getString(0) + ' ; Tel:' + cursor.getString(1)); }}cursor.close();db.close();break; case R.id.btn_update: //修改聯系人db = myHelper.getWritableDatabase();name = etName.getText().toString().trim();phone = etPhone.getText().toString().trim();if (name.equals('') || phone.equals('')){ //聯系人信息不能為空 Toast.makeText(this,'不存在該聯系人',Toast.LENGTH_SHORT).show();}else { db.execSQL('update person set name=?,phone=? where name=?', new Object[]{name, phone, name}); Toast.makeText(this,'聯系人信息修改成功',Toast.LENGTH_SHORT).show();}db.close();break; case R.id.btn_delete: //刪除聯系人db = myHelper.getWritableDatabase();name = etName.getText().toString().trim();phone = etPhone.getText().toString().trim();if (name.equals('') || phone.equals('')){ //聯系人信息不能為空 Toast.makeText(this,'不存在該聯系人',Toast.LENGTH_SHORT).show();}else { db.execSQL('delete from person where name=? and phone=?', new Object[]{name, phone}); Toast.makeText(this,'聯系人信息刪除成功',Toast.LENGTH_SHORT).show();}db.close();break;} }}

MyHelper

package com.example.test;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class MyHelper extends SQLiteOpenHelper{ public MyHelper(Context context){super(context, 'alan.db', null ,2); } @Override public void onCreate(SQLiteDatabase db){db.execSQL('create table person(id integer primary key autoincrement,name varchar(20),phone varchar(20) unique)'); } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){ }}

activity_main.xml

<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:tools='http://schemas.android.com/tools' android:orientation='vertical' android:layout_width='match_parent' android:layout_height='match_parent' android: android:background='@color/white' android:clickable='true' android:gravity='center_horizontal' tools:context='.MainActivity'><TextView android:layout_width='match_parent' android:layout_height='wrap_content' android:text='通 訊 錄' android:textSize='30dp' android:textStyle='italic' android:gravity='center' android:textColor='@color/black'></TextView><Button android: android:layout_width='match_parent' android:layout_height='wrap_content' android:background='@drawable/shape' android:text=' 添加聯系人' android:textSize='16dp' android:textColor='#c2c8ec' android:textStyle='bold'/><Button android: android:layout_width='match_parent' android:layout_height='wrap_content' android:background='@drawable/shape' android:text='查看聯系人' android:textSize='16dp' android:textColor='#c2c8ec' android:textStyle='bold'/><Button android: android:layout_width='match_parent' android:layout_height='wrap_content' android:background='@drawable/shape' android:text=' 修改聯系人' android:textSize='16dp' android:textColor='#c2c8ec' android:textStyle='bold'/> <TextViewandroid: android:layout_width='match_parent'android:layout_height='180dp'android:scrollbars='vertical'android:layout_below='@+id/lineFour'android:layout_marginTop='20dp'android:layout_marginLeft='20dp'android:layout_marginRight='18dp'android:textColor='#c2c8ec'android:textSize='24dp'/></LinearLayout>

next.xml

<?xml version='1.0' encoding='utf-8'?><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: android:background='@color/white' android:clickable='true' android:orientation='vertical' android:gravity='center_horizontal' tools:context='.nextActivity'> <LinearLayoutandroid: android:layout_width='match_parent'android:layout_height='wrap_content'android:layout_below='@+id/lineOne'android:layout_marginTop='20dp'android:layout_marginLeft='18dp'android:layout_marginRight='18dp'><TextView android:layout_width='wrap_content' android:layout_height='wrap_content' android:text='姓 名 : ' android:textSize='18dp' android:textStyle='bold'/><EditText android: android:layout_width='match_parent' android:layout_height='wrap_content' android:hint='請輸入姓名' android:textSize='16dp' android:maxLines='1' android:singleLine='true' android:maxLength='14'/> </LinearLayout> <LinearLayoutandroid: android:layout_width='match_parent'android:layout_height='wrap_content'android:layout_below='@+id/lineTwo'android:layout_marginTop='10dp'android:layout_marginLeft='18dp'android:layout_marginRight='18dp'> <TextViewandroid:layout_width='wrap_content'android:layout_height='wrap_content'android:text='電 話 : 'android:textSize='18dp'android:textStyle='bold'/> <EditTextandroid: android:layout_width='match_parent'android:layout_height='wrap_content'android:hint='請輸入手機號碼'android:textSize='16dp'android:maxLines='1'android:singleLine='true'android:maxLength='11'/> </LinearLayout> <LinearLayoutandroid:layout_width='match_parent'android:layout_height='wrap_content'android: android:layout_below='@+id/lineTree'android:layout_marginTop='30dp'android:layout_marginLeft='18dp'android:layout_marginRight='18dp'android:orientation='horizontal'> <Buttonandroid: android:layout_width='wrap_content'android:layout_height='wrap_content'android:background='@drawable/shape'android:layout_weight='1'android:text=' 確 定 'android:textSize='16dp'android:textColor='#c2c8ec'android:textStyle='bold'/> </LinearLayout></RelativeLayout>xiugai.xml<?xml version='1.0' encoding='utf-8'?><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: android:background='@color/white' android:clickable='true' android:orientation='vertical' android:gravity='center_horizontal' tools:context='.xiugaiActivity'> <LinearLayoutandroid: android:layout_width='match_parent'android:layout_height='wrap_content'android:layout_below='@+id/lineOne'android:layout_marginTop='20dp'android:layout_marginLeft='18dp'android:layout_marginRight='18dp'><TextView android:layout_width='wrap_content' android:layout_height='wrap_content' android:text='姓 名 : ' android:textSize='18dp' android:textStyle='bold'/><EditText android: android:layout_width='match_parent' android:layout_height='wrap_content' android:hint=' 請輸入姓名' android:textSize='16dp' android:maxLines='1' android:singleLine='true' android:maxLength='14'/> </LinearLayout> <LinearLayoutandroid: android:layout_width='match_parent'android:layout_height='wrap_content'android:layout_below='@+id/lineTwo'android:layout_marginTop='10dp'android:layout_marginLeft='18dp'android:layout_marginRight='18dp'><TextView android:layout_width='wrap_content' android:layout_height='wrap_content' android:text='電 話 : ' android:textSize='18dp' android:textStyle='bold'/><EditText android: android:layout_width='match_parent' android:layout_height='wrap_content' android:hint=' 請輸入手機號碼' android:textSize='16dp' android:maxLines='1' android:singleLine='true' android:maxLength='11'/> </LinearLayout> <LinearLayoutandroid:layout_width='match_parent'android:layout_height='wrap_content'android: android:layout_below='@+id/lineTree'android:layout_marginTop='30dp'android:layout_marginLeft='18dp'android:layout_marginRight='18dp'android:orientation='horizontal'><Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:background='@drawable/shape' android:layout_weight='1' android:layout_marginLeft='4dp' android:text='查看聯系人' android:textSize='16dp' android:textColor='#c2c8ec' android:textStyle='bold'/><Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:background='@drawable/shape' android:layout_weight='1' android:layout_marginLeft='4dp' android:text=' 修 改 ' android:textSize='16dp' android:textColor='#c2c8ec' android:textStyle='bold'/><Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:background='@drawable/shape' android:layout_weight='1' android:layout_marginLeft='4dp' android:text=' 刪 除 ' android:textSize='16dp' android:textColor='#c2c8ec' android:textStyle='bold'/> </LinearLayout> <TextViewandroid: android:layout_width='match_parent'android:layout_height='180dp'android:scrollbars='vertical'android:layout_below='@+id/lineFour'android:layout_marginTop='20dp'android:layout_marginLeft='20dp'android:layout_marginRight='18dp'android:textColor='#c2c8ec'android:textSize='24dp'/></RelativeLayout>

Mainfest

<?xml version='1.0' encoding='utf-8'?><manifest xmlns:android='http://schemas.android.com/apk/res/android' package='com.example.test'> <applicationandroid:allowBackup='true'android:icon='@mipmap/ic_launcher'android:label='@string/app_name'android:roundIcon='@mipmap/ic_launcher_round'android:supportsRtl='true'android:theme='@style/Theme.Test'><activity android:name='.MainActivity'> <intent-filter><action android:name='android.intent.action.MAIN' /> <category android:name='android.intent.category.LAUNCHER' /> </intent-filter></activity><activity android:name='.nextActivity'></activity><activity android:name='.xiugaiActivity'></activity> </application> </manifest>

初學android,程序還存在許多bug,大家多提修改建議。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
主站蜘蛛池模板: 智慧消防-消防物联网系统云平台| 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 阜阳成人高考_阜阳成考报名时间_安徽省成人高考网 | 头条搜索极速版下载安装免费新版,头条搜索极速版邀请码怎么填写? - 欧远全 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 大型低温冷却液循环泵-低温水槽冷阱「厂家品牌」京华仪器_京华仪器 | Dataforth隔离信号调理模块-信号放大模块-加速度振动传感器-北京康泰电子有限公司 | 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 消泡剂_水处理消泡剂_切削液消泡剂_涂料消泡剂_有机硅消泡剂_广州中万新材料生产厂家 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 济南展厅设计施工_数字化展厅策划设计施工公司_山东锐尚文化传播有限公司 | 郑州外墙清洗_郑州玻璃幕墙清洗_郑州开荒保洁-河南三恒清洗服务有限公司 | 多功能真空滤油机_润滑油全自动滤油机_高效真空滤油机价格-重庆润华通驰 | RV减速机-蜗轮蜗杆减速机-洗车机减速机-减速机厂家-艾思捷 | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 沈阳庭院景观设计_私家花园_别墅庭院设计_阳台楼顶花园设计施工公司-【沈阳现代时园艺景观工程有限公司】 | 打包钢带,铁皮打包带,烤蓝打包带-高密市金和金属制品厂 | 光泽度计_测量显微镜_苏州压力仪_苏州扭力板手维修-苏州日升精密仪器有限公司 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | 谷歌关键词优化-外贸网站优化-Google SEO小语种推广-思亿欧外贸快车 | 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 柔软云母板-硬质-水位计云母片组件-首页-武汉长丰云母绝缘材料有限公司 | 浙江美尔凯特智能厨卫股份有限公司 | 影像测量仪_三坐标测量机_一键式二次元_全自动影像测量仪-广东妙机精密科技股份有限公司 | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 广州物流公司_广州货运公司_广州回程车运输 - 万信物流 | 课件导航网_ppt课件_课件模板_课件下载_最新课件资源分享发布平台 | 阁楼货架_阁楼平台_仓库仓储设备_重型货架_广州金铁牛货架厂 | 合肥废气治理设备_安徽除尘设备_工业废气处理设备厂家-盈凯环保 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 集装箱箱号识别_自重载重图像识别_铁路车号自动识别_OCR图像识别 | 老城街小面官网_正宗重庆小面加盟技术培训_特色面馆加盟|牛肉拉面|招商加盟代理费用多少钱 | 并离网逆变器_高频UPS电源定制_户用储能光伏逆变器厂家-深圳市索克新能源 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 油罐车_加油机_加油卷盘_加油机卷盘_罐车人孔盖_各类球阀_海底阀等车用配件厂家-湖北华特专用设备有限公司 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 全自动实验室洗瓶机,移液管|培养皿|进样瓶清洗机,清洗剂-广州摩特伟希尔机械设备有限责任公司 | 药品/药物稳定性试验考察箱-埃里森仪器设备(上海)有限公司 | 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 菏泽商标注册_菏泽版权登记_商标申请代理_菏泽商标注册去哪里 |