<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont

本文涉及的产品
转发路由器TR,750小时连接 100GB跨地域
简介: 获取联系人和电话号码 private void queryContactPhoneNumber() { String[] cols = {ContactsContract.

获取联系人和电话号码

  private void queryContactPhoneNumber() {
        String[] cols = {ContactsContract.PhoneLookup.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER};
        Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                cols, null, null, null);
        for (int i = 0; i < cursor.getCount(); i++) {
            cursor.moveToPosition(i);
            // 取得联系人名字
            int nameFieldColumnIndex = cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);
            int numberFieldColumnIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
            String name = cursor.getString(nameFieldColumnIndex);
            String number = cursor.getString(numberFieldColumnIndex);
            Toast.makeText(this, name + " " + number, Toast.LENGTH_SHORT).show();
        }
    }

 根据电话号码查询联系人姓名的方法:

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);   
        }   
    }   
        
}  


目录
相关文章
|
存储 Web App开发 监控
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
我们以前使用过的对hbase和hdfs进行健康检查,及剩余hdfs容量告警,简单易用 1.针对hadoop2的脚本: #/bin/bashbin=`dirname $0`bin=`cd $bin;pwd`STATE_OK=...
1111 0
|
SQL Web App开发 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
在运行一个group by的sql时,抛出以下错误信息: Task with the most failures(4):  -----Task ID:  task_201411191723_723592_m_000004URL:  http://DDS0204.
1071 0
|
Web App开发 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
异步通信 对于BS(Browser-Server 浏览器)架构,很多情景下server的处理时间较长。 如果浏览器发送请求后,保持跟server的连接,等待server响应,那么一方面会对用户的体验有负面影响; 另一方面,很有可能会由于超时,提示用户服务请求失败。
832 0
|
Web App开发 前端开发 关系型数据库
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
fuser可用于查询文件、目录、socket端口和文件系统的使用进程 1.查询文件和目录使用者 fuser最基本的用法是查询某个文件或目录被哪个进程使用: # fuser -v .
942 0
|
Web App开发 前端开发
|
存储 监控 数据库
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
为首次部署MongoDB做好准备:容量计划和监控 作者Mat Keep ,译者孙镜涛如果你已经完成了自己新的MongoDB应用程序的开发,并且现在正准备将它部署进产品中,那么你和你的运营团队需要讨论一些关键的问题: 最佳部署实践是什么? 为了确保应用程序满足它所必须的服务层次我们需要监控哪些关键指标? 如何能够确定添加分片的时机? 有哪些工具可以对数据库进行备份和恢复? 怎样才能安全地访问所有新的实时大数据? 本文介绍了硬件选择、扩展、HA和监控。
2693 0
|
Web App开发 数据库
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
可伸缩系统的架构经验 Feb 27th, 2013 | Comments 最近,阅读了Will Larson的文章Introduction to Architecting System for Scale,感觉很有价值。
2377 0
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
 Connection reset by peer的常见原因: 1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭;    如果知道实际连接服务器的并发客户数没有超过服务器的承载量,看下有没有网络流量异常。
929 0