public class AndroidTest extends Activity {
private static final String TAG = "AndroidTest";
private TextView m_TextView;
private EditText m_EditText;
private String mNumber;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
m_TextView = (TextView) findViewById(R.id.TextView01);
m_EditText = (EditText) findViewById(R.id.EditText01);
m_TextView.setTextSize(20);
/**
* 设置当m_EditText中为空时提示的内容
* 在XML中同样可以实现:android:hint="请输入账号"
*/
m_EditText.setHint("请输入账号");
/* 设置EditText事件监听 */
m_EditText.setOnKeyListener(new EditText.OnKeyListener() {
public boolean onKey(View arg0, int arg1, KeyEvent arg2)
{
// TODO Auto-generated method stub
// 得到文字,将其显示到TextView中
// m_TextView.setText("文本框中内容是:" + m_EditText.getText().toString());
return false;
}
});
m_EditText.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
mNumber = ((EditText)v).getText().toString();
Log.d(TAG, "mNumber = " + mNumber);
getPeople();
}
});
m_EditText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
// 得到文字,将其显示到TextView中
m_TextView.setText("文本框中内容是:" + m_EditText.getText().toString());
}
});
}
/*
* 根据电话号码取得联系人姓名
*/
public void getPeople() {
String[] projection = { ContactsContract.PhoneLookup.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER};
Log.d(TAG, "getPeople ---------");
// 将自己添加到 msPeers 中
Cursor cursor = this.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection, // Which columns to return.
ContactsContract.CommonDataKinds.Phone.NUMBER + " = '" + mNumber + "'", // WHERE clause.
null, // WHERE clause value substitution
null); // Sort order.
if( cursor == null ) {
Log.d(TAG, "getPeople null");
return;
}
Log.d(TAG, "getPeople cursor.getCount() = " + cursor.getCount());
for( int i = 0; i < cursor.getCount(); i++ )
{
cursor.moveToPosition(i);
// 取得联系人名字
int nameFieldColumnIndex = cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);
String name = cursor.getString(nameFieldColumnIndex);
Log.i("Contacts", "" + name + " .... " + nameFieldColumnIndex); // 这里提示 force close
m_TextView.setText("联系人姓名:" + name);
}
}
}
原文链接:http://blog.csdn.net/ameyume/archive/2010/12/11/6068983.aspx
分享到:
相关推荐
7. **数据模型**:Android 2.2的通讯录源码定义了丰富的数据模型,如`RawContact`、`Data`、`Contact`等实体类,它们映射到数据库中的表,用于表示联系人的各个属性,如姓名、电话、邮箱等。 8. **性能优化**:源码...
- 使用`Cursor`遍历查询结果,并提取联系人姓名和电话号码。 - 将获取到的信息显示在`TextView`中。 #### 四、总结 本文详细介绍了如何在Android 2.2版本中进行通讯录操作,包括读取、添加、删除和更新联系人。...
- 配合Cursor遍历查询结果,获取每个联系人的姓名、电话号码等信息。 2. **添加联系人**: - 创建一个ContentValues对象,填充要添加的联系人信息,如名字、电话、电子邮件等。 - 调用ContentResolver的insert()...
此外,Google搜索还支持拼音输入,用户可以通过输入联系人姓名的拼音首字母快速找到所需联系人。 6. **界面改进**:Android 2.2的主屏幕下新增了电话和浏览器快捷按钮,便于用户快速访问这两个常用功能,不过这些...
在Android系统中, Contacts应用是用户管理联系人信息的核心组件,它允许用户添加、编辑、删除和组织联系人的各种信息,如姓名、电话号码、电子邮件地址等。Android 2.2(Froyo)版本是Android发展的一个重要里程碑...
这篇文档将深入解析“小程序源码 高仿基于Android 2.2 (Froyo)的Contacts.zip”这个项目,该源码旨在模仿Android 2.2版本(Froyo)中的联系人应用。我们将围绕Android开发、小程序设计、源码结构以及与原生Contacts...
- **`String DISPLAY_NAME_PRIMARY`**: 只读,表示显示的联系人姓名。 - **`int IN_VISIBLE_GROUP`**: 只读,表示联系人是否在一个可见的组内;1表示是,0表示否。 - **`int HAS_PHONE_NUMBER`**: 只读,表示联系人...
`Contacts`表存储联系人的元数据,如姓名、ID等;`RawContacts`表代表来自不同数据源的原始联系人信息;`Data`表则包含具体的字段数据,如电话号码、电子邮件地址等。 2. **UI层**:使用Android的View体系构建界面...
每个联系人信息被视为一个数据表行,包含姓名、电话号码、电子邮件地址等多种字段。开发者需要熟悉SQLite的数据库操作,如创建表、插入数据、查询和更新数据等。 2. Content Provider: Android的Content Provider...
1.3 数据需求:该应用程序需要存储联系人姓名、手机号码、公司号码、存储信息等相关信息,并将其传输到数据库中。 1.4 设计意义:我们设计的通讯录包括添加联系人、删除联系人、修改联系人信息、存储联系人信息等...
联系人查询界面提供了查询联系人信息的功能,包括按照姓名、电话号码、电子邮件等方式查询联系人信息。 Android 手机通讯录的设计与实现是 Android 手机中的一种基本应用程序,负责管理和存储用户的联系人信息。 ...
首先,Android 2.2引入了对联系人管理的增强功能,包括更高效的查询和更新机制。开发者可以通过ContentProvider接口来访问系统级的数据,如联系人信息。ContentProvider是Android四大组件之一,它提供了统一的方式来...
在Android平台上,通讯录是应用开发中的重要组成部分,它允许用户管理他们的联系人信息,包括姓名、电话号码、电子邮件地址等。本项目“android通讯录”实现了一个功能丰富的通讯录应用,具有拼音搜索和滑动索引功能...
2. **SQLite数据库**:Contacts应用使用SQLite来存储联系人信息,包括姓名、电话号码、电子邮件地址等。 3. **UI组件**:如ListView用于展示联系人列表,EditText用于编辑联系人信息,Spinner用于选择联系人分组等。...
官方提供的这款搜索应用程序可以搜索相关的网页内容和手机本地内容,包括应用程序、浏览器书签和历史记录、联系人姓名、音乐等内容。 只需要将搜索框以桌面插件的方式放在主页上,就可以输入关键词之后快速获取...
- 添加联系人:用户应能输入联系人姓名、电话号码、电子邮件等信息,并保存到通讯录。 - 编辑联系人:用户能够修改已存在的联系人信息。 - 删除联系人:用户可以自由选择并移除不需要的联系人。 - 搜索联系人:提供...
这个项目旨在创建一个功能齐全的通信录应用,用户可以添加、删除、编辑联系人,查看联系人列表,以及直接拨打电话和发送短信给指定的联系人。 ### 第一章 设计概述 1.1 设计目的及要求 此应用的主要目的是提供一个...
ADN记录包含了联系人的姓名(name)和电话号码(number)。 - `getNumberOfAdnRecords`: 获取SIM卡上ADN记录的数量。 - `loadAdnRecord`: 加载特定索引位置的ADN记录。 这些方法通常由`IccPhoneBookInterfaceManager`类...
SQLite提供了一种轻量级、高效的本地数据存储方式,使得应用可以离线存储和处理用户数据,如联系人的姓名、电话号码、电子邮件等。创建SQLite数据库通常包括以下几个步骤:定义SQLite数据库版本,创建SQL语句来建立...