Android开发中遇到的问题及小知识总结【二】

版权声明:本文为博主原创文章,转载请标明出处 https://blog.csdn.net/qq_30993595/article/details/82593110

URL转码

关于url下载链接中包含中文导致下载失败的问题处理方法

先用URLEncoder将整个url进行转码,但是转码后还需要将url中的 / ,: ,空格等再转回来

downUrl = URLEncoder.encode(downUrl, "utf-8");
downUrl = downUrl.replace("\\+", "%20");
downUrl = downUrl.replace("%2F", "/");
downUrl = downUrl.replace("%3A", ":");

获取手机信息

平时开发中可能需要获取手机相关信息,比如IMEI,IMSI号,手机号等

  • IMEI(International Mobile Equipment Identity,国际移动身份识别码):是由15位数字组成的”电子串号”,其组成结构为TAC(6位数字)+FAC(两位数字)+SNR(6位数字)+SP (1位数字)。它与每台手机一一对应,而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。 IMEI码贴在手机背面的标志上,并且读写于手机内存中。它也是该手机在厂家的”档案”和”身份证号”
  • IMSI(International Mobile Subscriber Identification Number,国际移动用户识别码):是区别移动用户的标志,储存在SIM卡中。可用于区别移动用户的有效信息;IMSI由MCC、MNC、MSIN组成。其中MCC为移动国家号码,由3位数字组成, 唯一地识别移动客户所属的国家,我国为460;MNC为网络id,由2位数字组成,用于识别移动客户所归属的移动网络,中国移动为00,中国联通为01,中国电信为03;MSIN为移动客户识别码,采用等长11位数字构成,唯一地识别国内GSM移动通信网中移动客户
String imei = "";
String imsi = "";
String phoneNum = "";

TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
imei = manager.getDeviceId();
imsi = manager.getSubscriberId();
phoneNum = manager.getLine1Number();

记得加上权限

< uses-permission android:name=”android.permission.READ_PHONE_STATE”/>


Sqlite查询错误

Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.

这种问题是由下面这句话导致

cursor.getColumnIndex("xxx"))

这个xxx是表里面的一个字段,报这个错是因为表里没有这个字段,然后通过cursor查询就找不到

猜你喜欢

转载自blog.csdn.net/qq_30993595/article/details/82593110
今日推荐