Android 的getContentResolver()不太会用,求教育,有个代码在扩张了Activity类在运行正确,但是在别的文件中调用出错了

a12huang 2013-04-13 04:20:09


public class Read extends Activity{

String data[] = new String[2];
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.read);
String a[] = new String[2];
a[0] = "张飞";
a[1] = "123456789";
testInsert(a);

}

public void testInsert(String data[]) {
System.out.println("data[0]:"+data[0]);
System.out.println("data[1]:"+data[1]);
ContentValues values = new ContentValues();
//首先向RawContacts.CONTENT_URI执行一个空值插入,目的是获取系统返回的rawContactId
Uri rawContactUri = this.getContentResolver().insert(RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
//往data表入姓名数据
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);//内容类型
values.put(StructuredName.GIVEN_NAME, data[0]);
this.getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
//往data表入电话数据

//往data表入电话数据
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, data[1]);
values.put(Phone.TYPE, Phone.TYPE_MOBILE);
this.getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);

//往data表入电话数据
}
}


以上这段代码是插Android插入联系人的代码,可以运行,但是当我在别的类中调用那个插入函数的时候就出错了。

Read read_contact = new Read();
read_contact.testInsert(arrs);

贴出编译器的提示:
04-13 04:18:08.934: E/AndroidRuntime(10044): FATAL EXCEPTION: main
04-13 04:18:08.934: E/AndroidRuntime(10044): java.lang.NullPointerException
04-13 04:18:08.934: E/AndroidRuntime(10044): at android.content.ContextWrapper.getContentResolver(ContextWrapper.java:91)
04-13 04:18:08.934: E/AndroidRuntime(10044): at org.example.sodoku.Read.testInsert(Read.java:40)
04-13 04:18:08.934: E/AndroidRuntime(10044): at app.udp_connect.udpthread$1.handleMessage(udpthread.java:53)
04-13 04:18:08.934: E/AndroidRuntime(10044): at android.os.Handler.dispatchMessage(Handler.java:99)
04-13 04:18:08.934: E/AndroidRuntime(10044): at android.app.ActivityThread.main(ActivityThread.java:4463)
...全文
273 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdn_2013 2013-04-13
  • 打赏
  • 举报
回复
引用 楼主 a12huang 的回复:
Java code ? 1234567891011121314151617181920212223242526272829303132333435363738394041 public class Read extends Activity{ String data[] = new String[2]; @Override protected voi……
Read read_contact = new Read();//这中new的方式 在java中可以 但是在android中不能这么搞 如果真想用,可以将你的testInsert方法声明为 public static 静态的方法那么 在其他类调用的时候 直接Read.testInsert(arrs); 建议LZ去看看一些android入门书籍
Abyjun 2013-04-13
  • 打赏
  • 举报
回复
彩笔黄,直接问你舍友不就好了~

80,362

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧