android web通讯录,Android手机开发之通讯录

Android手机开发——通讯录

实现增加、查询、修改、删除的功能,输入联系人信息,点击“添加”按钮,可以添加联系人信息到数据库;点击“查询”按钮,会发现添加的联系人信息显示在界面中;重新输入联系人电话,点击“修改”按钮,可以修改该联系人的电话,再进行查询发现联系人电话已经修改;点击“删除”按钮,会将数据库中该联系人的所有记录删除。

b4fcedaf7954

主界面的布局文件代码

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:layout_marginTop="100dp">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="姓名:" />

android:id="@+id/et_name"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="请输入姓名"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="电话:" />

android:id="@+id/et_tel"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="请输入手机号码"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:layout_marginTop="20dp">

android:id="@+id/btn_add"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="添加"

android:background="#b9b9ff"/>

android:id="@+id/btn_query"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="查询"

android:background="#dcb5ff"/>

android:id="@+id/btn_update"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="修改"

android:background="#e6caff"/>

android:id="@+id/btn_del"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="删除"

android:background="#acd6ff"/>

android:id="@+id/tv_show"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="20dp" />

MyHelper.java

public class MyHelper extends SQLiteOpenHelper {

private  static  final  int DATABASE_VERSION=2;

private  static  final  String DATABASE_NAME="mydb";

private  static  final String sql="CREATE TABLE directory("+

"_id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(20),"

+"phone VARCHAR(20))";

public MyHelper(Context context){

super(context,DATABASE_NAME,null,DATABASE_VERSION);

}

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL(sql);

}

@Override

public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

}

}

MyDBManager.java

public class MyDBManager {

private  MyHelper myHelper;

private SQLiteDatabase sqLiteDatabase;

public MyDBManager(Context context){

myHelper=new MyHelper(context);

sqLiteDatabase=myHelper.getReadableDatabase();

}

public  void getConnect(){

sqLiteDatabase=myHelper.getWritableDatabase();

}

public  void releaseConnect(){

if(sqLiteDatabase!=null){

sqLiteDatabase.close();

}

}

public  void insert(Person data){

ContentValues values =new ContentValues();

values.put("name",data.getName());

values.put("phone",data.getPhone());

sqLiteDatabase.insert("directory",null,values);

}

public ArrayListfindAll(){

ArrayList list =new ArrayList<>();

Person person =null;

Cursor cursor=sqLiteDatabase.query("directory",null,null,null,null,null,null);

while(cursor.moveToNext()){

Person person1=new Person();

person1.setName(cursor.getString(1));

person1.setPhone(cursor.getString(2));

list.add(person1);

}

cursor.close();

return  list;

}

public  void updateBysql(String clause,String data,String[] args){

ContentValues values=new ContentValues();

values.put("phone",data);

sqLiteDatabase.update("directory",values,clause,args);

}

public void delete(String clause,String[] args){

sqLiteDatabase.delete("directory",clause,args);

}

}

MainActivity.java

public class MainActivity extends AppCompatActivity {

private EditText et_name,et_phone;

private Button btn_add,btn_find,btn_update,btn_del;

private TextView tv_show;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

et_name=(EditText)findViewById(R.id.et_name);

et_phone=(EditText)findViewById(R.id.et_tel);

btn_add=(Button)findViewById(R.id.btn_add);

btn_find=(Button)findViewById(R.id.btn_query);

tv_show=(TextView)findViewById(R.id.tv_show);

btn_update=(Button)findViewById(R.id.btn_update);

btn_del=(Button)findViewById(R.id.btn_del);

btn_add.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

String name =et_name.getText().toString().trim();

String phone=et_phone.getText().toString().trim();

if(TextUtils.isEmpty(name)&&TextUtils.isEmpty(phone)){

Toast.makeText(MainActivity.this,"姓名和电话号码不能为空",Toast.LENGTH_SHORT).show();

}else {

Person person=new Person();

person.setName(name);

person.setPhone(phone);

MyDBManager myDBManager=new MyDBManager(MainActivity.this);

myDBManager.getConnect();

myDBManager.insert(person);

myDBManager.releaseConnect();

Toast.makeText(MainActivity.this,"保存成功",Toast.LENGTH_SHORT).show();

}

}

});

btn_find.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

MyDBManager myDBManager=new MyDBManager(MainActivity.this);

ArrayList list =myDBManager.findAll();

tv_show.setText("");

for (Person p:list){

tv_show.append("姓名"+p.getName()+";"+"电话"+p.getPhone()+"\n");

}

myDBManager.releaseConnect();

}

});

btn_update.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

String name =et_name.getText().toString().trim();

String phone=et_phone.getText().toString();

MyDBManager myDBManager=new MyDBManager(MainActivity.this);

myDBManager.getConnect();

myDBManager.updateBysql("name=?",phone,new String[] {name});

myDBManager.releaseConnect();

Toast.makeText(MainActivity.this,"信息已修改",Toast.LENGTH_SHORT).show();

}

});

btn_del.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

String name =et_name.getText().toString().trim();

String phone =et_phone.getText().toString().trim();

MyDBManager myDBManager= new MyDBManager(MainActivity.this);

myDBManager.getConnect();

myDBManager.delete("name=?",new String[]{name});

myDBManager.releaseConnect();

Toast.makeText(MainActivity.this,"信息已删除",Toast.LENGTH_SHORT).show();

}

});

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542370.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有关UITableView--cell复用问题

近来用Tableview做了一个九宫格。过程中碰到了两个cell复用问题。 问题一&#xff1a; 在cell中为button添加addTarget点击事件时&#xff0c;出现后面的cell会重叠它前面cell的事件。代码如下&#xff1a; C代码 static NSString *CellWithIdentifier "DiscoverHomeTab…

JavaScript基础之Number对象和Math对象

2019独角兽企业重金招聘Python工程师标准>>> //Math对象//属性float Math.E; //返回自然对数的底数e&#xff0c;约2.718float Math.LN2; //返回2的自然对数&#xff0c;约0.693float Math.LN10; //返回10的自然对数&#xff0c;约2.302fl…

My linux

为什么80%的码农都做不了架构师&#xff1f;>>> 1.linux 命令方式修改机器名称 # hostname newHostName # vi /etc/sysconfig/network 修改或增加配置&#xff1a;hostnamenewHostName # vi /etc/hosts 修改对应的本地HOST映射 xx.xxx.xxx.xxx newHostName 2.Redha…

狂神说es笔记_人教版七上英语Unit5电子课本音频+课堂笔记+课后同步习题

1人教 七上英语Unit5单词七年级英语上册Unit 5单词默写1做&#xff1b;干(助动词)__________2做&#xff0c;干(助动词第三人称单数形式)__________3有__________4网球__________5球__________6乒乓球______7球棒&#xff1b;球拍__________8(英式)足球____________________9排…

先进技术android,React Native实战(JavaScript开发iOS和Android应用)/计算机科学先进技术译丛...

导语内容提要本书作者Nader Dabit是AWS Mobile开发人员、React Native Training创始人和React Native Radio播客主持人。本书旨在帮助iOS、Android和Web开发人员学习使用React Native框架&#xff0c;构建高质量的iOS和Android应用程序。书中介绍了React Native入门基础知识&am…

开发类似vs的黑色风格_传闻:2020年《使命召唤》将是《黑色行动》重启作品

据可信度较高的消息源透露&#xff0c;2020 年的《使命召唤》将是《黑色行动》的重启作。而据之前的报道&#xff0c;《黑色行动》开发商 Treyarch 正在开发今年的《使命召唤》&#xff0c; Sledgehammer Games 和 Raven Software 负责辅助工作。该项目代号为“宙斯”&#xff…

微信小程序 开发 微信开发者工具 快捷键

微信小程序已经跑起来了.快捷键设置找了好久没找到,完全凭感觉.图贴出来.大家看看. 我现在用的是0.10.101100的版本,后续版本更新快捷键也应该不会有什么变化. 现在貌似不能修改.如果有同学找到修改的方法,麻烦告诉我.谢谢. 微信小程序代码编辑快捷键 常用快捷键 格式调整 Ctrl…

android9有深色模式吗,深色模式还是黑色模式?微信把所有人都搞懵了

原标题&#xff1a;深色模式还是黑色模式&#xff1f;微信把所有人都搞懵了前一阵子&#xff0c;微信正式加入了对“深色模式”的支持&#xff0c;这也是除了Windows Phone 版本以外微信第一次从系统层面支持深色模式。虽然这次更新离WWDC上的演示已经过去了9个月&#xff0c;但…

html页面foot,HTML tfoot用法及代码示例

HTML中的标记用于提供页脚内容组。此标记在带有标题和正文的HTML表中使用&#xff0c;称为“thead”和“tbody”。 标记是表的子标记&#xff0c;是和的父标记。用法: // Table footer contents... 属性&#xff1a;标记包含HTML4.1支持但HTML5不支持的许多属性。align:设置文本…

迭代器 java_Java设计模式8:迭代器模式

迭代器模式迭代器模式又叫做游标(Cursor)模式&#xff0c;其作用是提供一种方法访问一个容器元素中的各个对象&#xff0c;而又不暴露该对象的内部细节。迭代器模式结构迭代器模式由以下角色组成&#xff1a;1、迭代器角色负责定义访问和遍历元素的接口2、具体迭代器角色实现迭…

网易 html5,别再想不开做H5了

写这篇文章的时候网易哒哒《饲养手册》H5刷屏了&#xff0c;但我们依旧不建议品牌做H5。H5作为大众传播工具的时代&#xff0c;已经过去了。尽管去年有很多H5曾经刷屏过&#xff0c;但在当时我们就一直跟朋友说&#xff0c;不要再尝试H5了&#xff0c;性价比根本算不过来&#…

flex 修改生成html,CSS Flex –动画教程

如果一张图片胜过千言万语 —— 那么动画呢&#xff1f; Flex 无法通过文字或静态图像有效地完全解释。为了巩固你对flex的了解&#xff0c;我制作了这些动画演示。注意 overflow: hidden 行为类型是默认值&#xff0c;因为 flex-wrap 还未设置。为了获得更好的想法&#xff0c…

陕西2021高考成绩在哪查询,2021陕西高考成绩查询入口

2021陕西高考成绩查询入口2021-05-13 19:38:37文/张敏有很多同学在关注2021年陕西高考成绩的查询方式&#xff0c;为了方便考生们查询成绩&#xff0c;小编整理了陕西高考成绩查询入口&#xff0c;希望对同学们有帮助。2021陕西高考成绩查询通道高考成绩查询过后应该做什么1、了…

查找文件中每行第二个单词_日语单词中的长短音区别在哪里,日语长短音发音有什么规律...

日语单词记忆长短音规律一、如果单词的汉字在中文汉语拼音中是前鼻音&#xff0c;在日语读音中就会带拨音「ん」&#xff1b; 如果单词的汉字在中文汉语拼音中是后鼻音&#xff0c;在日语读音中就会带有长音。例&#xff1a;専门&#xff08;zhuan men&#xff09;&#xff0d;…

SQL Server 执行计划利用统计信息对数据行的预估原理二(为什么复合索引列顺序会影响到执行计划对数据行的预估)...

本文出处&#xff1a;http://www.cnblogs.com/wy123/p/6008477.html 关于统计信息对数据行数做预估&#xff0c;之前写过对非相关列&#xff08;单独或者单独的索引列&#xff09;进行预估时候的算法&#xff0c;参考这里。  今天来写一下统计信息对于复合索引在预估时候的计…

哈密顿路径_检查图形是否为哈密顿量(哈密顿路径)

哈密顿路径Problem Statement: 问题陈述&#xff1a; Given a graph G. you have to find out that that graph is Hamiltonian or not. 给定图G。 您必须找出该图是否为哈密顿量 。 Example: 例&#xff1a; Input: 输入&#xff1a; Output: 1 输出1 Because here is a …

京东自动下单软件_黄牛软件自动下单秒杀商品 警方用科技手段打击

法制日报全媒体记者 张维定了10个闹钟,也抢不到一瓶茅台&#xff1b;等了很久的iPhone新手机,打开网页就秒没……或许并不是因为你的手速、网速慢,而是黄牛党在用软件和你抢商品。近日,在“净网2019”专项行动中,阿里安全协助江苏省南通市公安局成功打掉了一个制作销售黄牛软件…

河南招教考试计算机专业知识,河南教师招聘考试《计算机网络技术基础》知识点归纳七...

河南教师招聘考试《计算机网络技术基础》知识点归纳七1.ADSL是非对称数字用户线路&#xff0c;其下行速率为1.5&#xff5e;8 Mb/s&#xff0c;而上行速率则为16&#xff5e;640 kb/s。在一对铜双绞线上的传送距离可达5km左右&#xff0c;可同时上网打电话&#xff0c;互不影响…

content属性的4种用途

content属性浏览器支持情况&#xff0c;兼容到IE8浏览器&#xff0c;IE7及以下不支持用途一、配合:before及:after伪元素插入文本<div><p>伪元素</p> </div>p:before{content:CSS3;color:#4bb;font-weight:bold;margin-right:20px;background:#f0f0f0;…

内蒙古师范大学计算机科学技术学院,内蒙古师范大学计算机科学技术硕士生导师——李成城...

李成城&#xff0c;教授&#xff0c;硕导&#xff0c;1971年7月出生于内蒙古呼伦贝尔盟。2002年9月-2005年7月在北京邮电大学信息工程学院学习&#xff0c;获得工学博士学位&#xff0c;主要研究领域是&#xff1a;自然语言理解、机器学习、图像识别。1993年在内蒙古师范大学计…