安卓通讯录java代码,java编写简单的通讯录

java通讯录的简单程序

import java.util.Arrays;

创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为宁德企业提供专业的成都网站设计、网站制作,宁德网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

public class AddressBook

{

private int totalContacts; // 现在通讯录中的总数

private int maxContacts; // 通讯录的最大值

private Contact[] contacts; // 通讯录的array

/**

 * Constructor. 设定这个通讯录最初的大小为10人上限.

 */

public AddressBook()

{

totalContacts = 0;

maxContacts = 10;

contacts = new Contact[totalContacts];

}

/**

 * 得到一个联系通过通讯录中的名字

 * 

 * @param name

 *            要去得到的联系人名字

 * @return 这个联系人, 没有的话为null

 */

public Contact getContactByName(String name)

{

for(int i = 0; i  totalContacts; i++)

{

Contact c = contacts[i];

if(name.equals(c.getName()))

{

return c;

}

}

return null;

}

/**

 * 在这个contacts array的最后给这个通讯录添加联系人.

 * 如果联系人已经存在且号码参数不为0的话,联系人的号码会更新或者地址参数不是null的话,地址会更新。.

 * 如果totalContacts达到maxContacts的值的话,在新的联系人被添加前,这个contacts

 * array的size会乘以双倍并且maxContacts也乘以双倍。

 * 

 * @param contact

 *            要加到这个通讯录的联系人

 * @return true 如果这个联系人添加成功, 否则 false;

 */

public boolean addContact(Contact contact)

{

for(int i = 0; i  contacts.length; i++)

{

Contact ct = contacts[i];

if(ct.equals(contact))

{

if(ct.getNumber() != 0)

{

ct.setNumber(contact.getNumber());

}

if(null != ct.getAddress())

{

ct.setAddress(contact.getAddress());

}

return true;

}

}

if(totalContacts == maxContacts)

{

totalContacts *= 2;

maxContacts *= 2;

}

Contact[] cs = new Contact[totalContacts + 1];

System.arraycopy(contacts, 0, cs, 0, totalContacts);

cs[cs.length - 1] = contact;

contacts = cs;

totalContacts++;

return true;

}

/**

 * 检查是否联系人已经存在

 * 

 * @param contact

 *            要去检查的contact

 * @return true 如果这个联系人被找到,否则false

 */

public boolean contains(Contact contact)

{

for(int i = 0; i  totalContacts; i++)

{

if(contacts[i].equals(contact))

{

return true;

}

}

return false;

}

public void printAddressBook()

{

for(int i = 0; i  totalContacts; i++)

{

System.out.println(contacts[i]);

}

}

/**

 * 在AddressBook中还有一个方法! br

 * 从通讯录中移除一个指定的联系人,之后把其他的入口左移,这样在联系人间就没有空隙了,br

 * For example: br

 * before - {C1, C2, C3, C4, C5, C6, C7, C8, C9, null} remove C6 br

 * after - {C1, C2, C3, C4, C5, C7, C8, C9, null, null}

 * 

 * @param contact

 *            要移除的联系人,

 * @return true 如果这个联系人被成功移除了,否则false;

 */

public boolean removeContact(Contact contact)

{

if(totalContacts == 0)

{

return false;

}

for(int i = 0; i  totalContacts; i++)

{

Contact ct = contacts[i];

if(ct.equals(contact))

{

Contact[] cs = new Contact[totalContacts];

System.arraycopy(contacts, 0, cs, 0, i);

System.arraycopy(contacts, i + 1, cs, i, cs.length - i - 1);

contacts = cs;

totalContacts--;

return true;

}

}

return false;

}

@Override

public String toString()

{

return String.format("AddressBook [totalContacts=%s, maxContacts=%s, contacts=%s]", totalContacts, maxContacts,

Arrays.toString(contacts));

}

}

//--------------------------------------------------

public class Contact

{

private String name;

private long number;

private String address;

public String getName()

{

return name;

}

public void setName(String name)

{

this.name = name;

}

public long getNumber()

{

return number;

}

public void setNumber(long number)

{

this.number = number;

}

public String getAddress()

{

return address;

}

public void setAddress(String address)

{

this.address = address;

}

@Override

public boolean equals(Object obj)

{

if(!(obj instanceof Contact))

{

return false;

}

Contact contact = (Contact) obj;

if(this.getName().equals(contact.getName())

this.getAddress().equals(contact.getAddress())

this.getNumber() == contact.getNumber())

{

return true;

}

return false;

}

@Override

public String toString()

{

return String.format("Contact [name=%s, number=%s, address=%s]", name, number, address);

}

}

//---------------------------------------------

public class Test

{

public static void main(String[] args)

{

AddressBook ab = new AddressBook();

for(int i = 0; i  10; i++)

{

Contact contact = new Contact();

int x = i + 1;

contact.setName("C" + x);

contact.setAddress("china");

contact.setNumber(x);

ab.addContact(contact);

}

System.out.println(ab);

Contact c = new Contact();

c.setName("C6");

c.setAddress("china");

c.setNumber(6);

ab.removeContact(c);

System.out.println(ab);

}

}

js或java代码导出手机通讯录信息

js是浏览器解释执行的,应该获取不到通讯录

java是后台语言可以调用android系统提供的通信录API来获取

用java 开发出一个简单的android通讯录的思路是什么?

我的思路如下:

1.考虑存储方式,android默认的存储方式有很多种,鉴于是通讯录,考虑用Sqllite

2.考虑表、字段,可以分类为:

电话(此处应该是多种类型,如手机、家庭等)

地址(如家庭住址、工作地点等)

3.考虑实现类的编写

方法应该可以重用,无需二次修改

数据库的调用,应该是通用方法

接口的预留,方便调用

4.程序界面设置

layout布局

增删查询的相关按钮

数据的显示方法等

5.代码实现

主程序方法(如MainActivity)

接口实现

方法调用

示范:

--mainactivity;

--util;

-----db;

--ui;

-----main;

-----list;

希望对你有用,加油哦~

JAVA通讯录 求一个JAVA编写的通讯录,基本的就可以。

具体方法如下:

1、定义封装一条记录的实体类

2、根据实际系统容量,定义一个数组

3、完成系统中显示全部记录的逻辑

4、完成系统中添加一条记录的逻辑

5、完成系统中删除一条记录的逻辑

6、完成系统中修改一条记录的逻辑

7、全部代码:

import java.util.Scanner;

class Contact {

String cellPhone;

String name;

}

public class Main {

private static void menu () {

System.out.println("************** 菜单 ******"

+ "************");

System.out.println(" 1.显示全部通讯录");

System.out.println(" 2.增加一条记录");

System.out.println(" 3.删除一条记录");

System.out.println(" 4.修改一条记录");

System.out.println(" 0.退出");

}

public static void main(String[] args) {

Scanner scn = new Scanner(System.in);

Contact[] contacts = new Contact[200];

int size = 0;

String cmd = "";

do {

menu();

System.out.print("请输入你得选择:(0-4)");

cmd = scn.nextLine();

if (cmd.equals("1")) {

if (size == 0)

System.out.println("系统当前无记录!");

else

for (int i = 0; i size; i++) {

System.out.println(contacts[i].name + ":"

+ contacts[i].cellPhone);

}

} else if (cmd.equals("2")) {

System.out.print("请输入手机号:");

String cellphone = scn.nextLine();

System.out.print("请输入姓名:");

String name = scn.nextLine();

Contact contact = new Contact();

contact.cellPhone = cellphone;

contact.name = name;

if (size contacts.length) {

contacts[size++] = contact;

System.out.println("添加成功!");

} else {

System.out.println("你最多只能添加" +

contacts.length + "条记录");

}

} else if (cmd.equals("3")) {

System.out.print("请输入要删除的手机号:");

String cellphone = scn.nextLine();

int index = -1;

for (int i = 0; i size i contacts.length;

i++) {

if (contacts[i].cellPhone.equals(cellphone)) {

index = i;

break;

}

}

if (index == -1) {

System.out.println("该记录不存在!");

} else {

for (int i = index; i size; i++) {

contacts[index] = contacts[index + 1];

}

contacts[size - 1] = null;

size--;

System.out.println("删除成功!");

}

} else if (cmd.equals("4")) {

System.out.print("请输入要修改的手机号:");

String cellphone = scn.nextLine();

int index = -1;

for (int i = 0; i size i contacts.length;

i++) {

if (contacts[i].cellPhone.equals(cellphone)) {

index = i;

break;

}

}

if (index == -1) {

System.out.println("该记录不存在!");

} else {

System.out.print("请输入姓名:");

String name = scn.nextLine();

contacts[index].name = name;

}

}

} while (!cmd.equals("0"));

System.out.println("退出成功!");

scn.close();

System.exit(0);

}

}


本文标题:安卓通讯录java代码,java编写简单的通讯录
本文路径:http://azwzsj.com/article/dsscihd.html