[android] 手机卫士号码归属地查询完成

前端之家收集整理的这篇文章主要介绍了[android] 手机卫士号码归属地查询完成前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

 

正则表达式完成号码验证,

^以某开头,[] 字符集(匹配中括号里面的任意字符),\d是任意一个数字,{n}表示出现了多少次,$结尾

 

手机号的正则 ^1[34568]\d{9}$,以1开头,第二个数字是34568,剩下九个都是数字,数字结尾

 

调用String对象的match()方法,参数:正则(里面的斜杠\需要转义)

        if (phone.matches("^1[34568]\\d{9}$")) {
            sqliteDatabase db = sqliteDatabase.openDatabase(path,null,sqliteDatabase.OPEN_READONLY);
            Cursor cursor = db
                    .rawQuery(
                            "select location from data2 where id=(select outkey from data1 where id=?)"new String[] { phone.substring(0,7) });
            while (cursor.moveToNext()) {
                String address = cursor.getString(0);
                return address;
            }
            cursor.close();
        }

 

 

文本输入直接查询

调用EditText对象的addTextChangedListener()方法添加监听器,参数:TextWatcher对象

匿名内部类实现TextWatcher接口,重写onTextChanged方法,传递进来CharSequence对象

查询数据库,并展示出结果

 

//自动完成
        et_phone.addTextChangedListener(new TextWatcher() {
            
            @Override
            public void onTextChanged(CharSequence s,1)">int arg1,1)">int arg2,1)">int arg3) {
                phone = et_phone.getText().toString().trim();
                String result = NumberQueryAddressUtil.queryAddress(phone);
                tv_address.setText(result);
            }
            
            @Override
            void beforeTextChanged(CharSequence arg0,1)"> arg2,1)"> arg3) {
                 TODO Auto-generated method stub
                
            }
            
            @Override
            void afterTextChanged(Editable arg0) {
                                
            }
        });

 

猜你在找的Android相关文章