Ravi Prabakaran
- Forum posts: 3
Aug 19, 2013, 6:58:43 PM via Website
Aug 19, 2013 6:58:43 PM via Website
Hi, I'm new to android development. I'm developing in eclipse and java. I'm trying to read contacts and do some string manupulation like substring() or contains (). i did the following steps,
1. Permission added ( <uses-permission android:name="android.permission.READ_CONTACTS"/> )
2. Code to read contacts :
Cursor people=getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while(people.moveToNext())
{
int id=people.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String name= people.getString(id);
if(name!="")
{
edittext1.setText(name.substring(2,3));
}
}
Here i'm getting error because of substring. I'm getting error if i use any string class methods. But if assign some hardcoded value in name,then i'm not getting any error. ie.
String name= "John"; // people.getString(id);
Error messages :
08-19 22:13:03.467: E/AndroidRuntime(4265): FATAL EXCEPTION: main
08-19 22:13:03.467: E/AndroidRuntime(4265): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1111, result=-1, data=Intent { (has extras) }} to activity {com.ravi.vrs/com.ravi.vrs.Voice}: java.lang.NullPointerException
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.ActivityThread.deliverResults(ActivityThread.java:2553)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.ActivityThread.handleSendResult(ActivityThread.java:2595)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.ActivityThread.access$2000(ActivityThread.java:121)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:973)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.os.Handler.dispatchMessage(Handler.java:99)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.os.Looper.loop(Looper.java:130)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.ActivityThread.main(ActivityThread.java:3701)
08-19 22:13:03.467: E/AndroidRuntime(4265): at java.lang.reflect.Method.invokeNative(Native Method)
08-19 22:13:03.467: E/AndroidRuntime(4265): at java.lang.reflect.Method.invoke(Method.java:507)
08-19 22:13:03.467: E/AndroidRuntime(4265): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
08-19 22:13:03.467: E/AndroidRuntime(4265): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
08-19 22:13:03.467: E/AndroidRuntime(4265): at dalvik.system.NativeStart.main(Native Method)
08-19 22:13:03.467: E/AndroidRuntime(4265): Caused by: java.lang.NullPointerException
08-19 22:13:03.467: E/AndroidRuntime(4265): at com.ravi.vrs.Voice.onActivityResult(Voice.java:71)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.Activity.dispatchActivityResult(Activity.java:3908)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.ActivityThread.deliverResults(ActivityThread.java:2549)
08-19 22:13:03.467: E/AndroidRuntime(4265): ... 11 more
Could anyone please guide me how to fix this issue ?
Thanks
Ravi.
1. Permission added ( <uses-permission android:name="android.permission.READ_CONTACTS"/> )
2. Code to read contacts :
Cursor people=getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while(people.moveToNext())
{
int id=people.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String name= people.getString(id);
if(name!="")
{
edittext1.setText(name.substring(2,3));
}
}
Here i'm getting error because of substring. I'm getting error if i use any string class methods. But if assign some hardcoded value in name,then i'm not getting any error. ie.
String name= "John"; // people.getString(id);
Error messages :
08-19 22:13:03.467: E/AndroidRuntime(4265): FATAL EXCEPTION: main
08-19 22:13:03.467: E/AndroidRuntime(4265): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1111, result=-1, data=Intent { (has extras) }} to activity {com.ravi.vrs/com.ravi.vrs.Voice}: java.lang.NullPointerException
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.ActivityThread.deliverResults(ActivityThread.java:2553)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.ActivityThread.handleSendResult(ActivityThread.java:2595)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.ActivityThread.access$2000(ActivityThread.java:121)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:973)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.os.Handler.dispatchMessage(Handler.java:99)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.os.Looper.loop(Looper.java:130)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.ActivityThread.main(ActivityThread.java:3701)
08-19 22:13:03.467: E/AndroidRuntime(4265): at java.lang.reflect.Method.invokeNative(Native Method)
08-19 22:13:03.467: E/AndroidRuntime(4265): at java.lang.reflect.Method.invoke(Method.java:507)
08-19 22:13:03.467: E/AndroidRuntime(4265): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
08-19 22:13:03.467: E/AndroidRuntime(4265): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
08-19 22:13:03.467: E/AndroidRuntime(4265): at dalvik.system.NativeStart.main(Native Method)
08-19 22:13:03.467: E/AndroidRuntime(4265): Caused by: java.lang.NullPointerException
08-19 22:13:03.467: E/AndroidRuntime(4265): at com.ravi.vrs.Voice.onActivityResult(Voice.java:71)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.Activity.dispatchActivityResult(Activity.java:3908)
08-19 22:13:03.467: E/AndroidRuntime(4265): at android.app.ActivityThread.deliverResults(ActivityThread.java:2549)
08-19 22:13:03.467: E/AndroidRuntime(4265): ... 11 more
Could anyone please guide me how to fix this issue ?
Thanks
Ravi.
Recommended editorial content
With your consent, external content is loaded here.
By clicking on the button above, you agree that external content may be displayed to you. Personal data may be transmitted to third-party providers in the process. You can find more information about this in our Privacy Policy.