Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
zloyel
0 / 0 / 0
Регистрация: 02.03.2014
Сообщений: 4
#1

Как сохранить контакт из моей БД в телефонные контакты? - Программирование Android

05.03.2014, 15:42. Просмотров 882. Ответов 2
Метки нет (Все метки)

У меня есть приложение, в которое заносятся клиенты и сохраняются в мою базу данных. Нужно, чтобы при нажатии на кнопку, выбранный контакт сохранялся в контактах телефона. Помогите пожалуйста. Этот код не работает с БД, заносит только написанные в коде данные.

Java
1
2
3
4
5
6
7
8
9
10
case R.id.addContTelefonItem:  // добавление контакта в телефон
 
            Intent intent = new Intent(
                    ContactsContract.Intents.SHOW_OR_CREATE_CONTACT,
                    ContactsContract.Contacts.CONTENT_URI);
            intent.setData(Uri.parse());
            intent.putExtra(ContactsContract.Intents.Insert.NAME, ContactDBmoy.COLUMN_NAME);
            intent.putExtra(ContactsContract.Intents.Insert.COMPANY, "Моя");
            intent.putExtra(ContactsContract.Intents.Insert.PHONE, ContactDBmoy.COLUMN_PHONE);
            startActivity(intent);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2014, 15:42     Как сохранить контакт из моей БД в телефонные контакты?
Посмотрите здесь:

Как получить контакты? - Программирование Android
вот мой код package com.example.app; import android.app.ListActivity; import android.database.Cursor; import...

Как выбрать контакт? - Программирование Android
Как выбрать контакт и поместить его в textview Intent pickIntent = new Intent(Intent.ACTION_GET_CONTENT); ...

Как можно отловить событие что все дочерние вьюхи для моей загружены? - Программирование Android
Привет. есть xml вида: <myView .....> <myView1 ..... /> <myView2 ..... /> </myView> собсно когда myView и дочерние...

Читаются ли контакты с Viber - Программирование Android
Есть контент провайдер content://com.viber.provider.vibercontacts но ясно без пермишена не работает, есть ли пермишен в интернете или они...

Контакты с гугл аккаунта - Программирование Android
Используя контент провайдер получаю список контактов у которых есть дни рождения. Этот список вывожу в виджет. Получаю 5, 10 строк не...

Если контакты сохранены на сим карте,то не отображается - Программирование Android
Здравствуйте! Собственно по сабжу: как сделать, что бы приложение видело контакты и с сим карты? Заранее спс!

Получить контакт из телефонной книги - Программирование Android
Домашнее задание. Помогите решить, уже 3 сутки не могу понять putExtra и getExtra. Условие: Получить контакт из телефонной книги в...

Добавление номера телефона в существующий контакт - Программирование Android
Подскажите, пожалуйста, где моя ошибка? Добавляю номер телефона так: Intent intent = new Intent(Intent.ACTION_EDIT); ...

Вывести контакт(его имя) на textview - Программирование Android
Как вывести имя первого попавшегося контакта (и, возможно, его номера телефонов) в textview? нашел код как получить контакты: Cursor...

Как сохранить ArrayList - Программирование Android
Знаю,вопрос наверное глупый,но как? У меня приложение "Телефонная книга". Если б я просто писал на джаве, то просто добавлял бы контакты в...

Как сохранить все Exception - Программирование Android
Привет. Наверное все знают о NullPointerException и о том что код идеальным не бывает. Есть ли какие логгеры чтобы хотябы сохранить...

Как и где сохранить данные игры - Программирование Android
И например,я вышел из игры,или вырубился мобильный..Где я могу сохранить данные ,если я хочу потом вернуться и снова играть с того...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1567 / 1309 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
05.03.2014, 16:30     Как сохранить контакт из моей БД в телефонные контакты? #2
zloyel, в чём собственно проблема? Запись/чтение БД, контактной книги?
zloyel
0 / 0 / 0
Регистрация: 02.03.2014
Сообщений: 4
05.03.2014, 20:04  [ТС]     Как сохранить контакт из моей БД в телефонные контакты? #3
Цитата Сообщение от YuraAAA Посмотреть сообщение
zloyel, в чём собственно проблема? Запись/чтение БД, контактной книги?
Проблема, в том что из базы читает только название столбцов и их и передает, а мне нужно, находясь в просмотре отдельного контакта, нажав на кнопку - сохранить этот контакт в телефонной книге.

Пробую вот этот код:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
case R.id.addContTelefonItem: // добавление контакта в телефон
            
            addContact(ContactDBmoy.COLUMN_NAME, ContactDBmoy.COLUMN_PHONE);
 
            return true;
 
        default:
            return super.onOptionsItemSelected(item);
 
        }
 
    }
 
    public void addContact(String name, String phone) {
     
         SQLiteDatabase sdb = cqh.getWritableDatabase();
         
        ArrayList<ContentProviderOperation> op = new ArrayList<ContentProviderOperation>(); 
      
          
      Cursor cursor = sdb.query(true, ContactDBmoy.TABLE_NAME,
                new String[] { ContactDBmoy.COLUMN_NAME, ContactDBmoy.COLUMN_PHONE }, ContactDBmoy._ID + "=" + rowId, null,
                null, null, null, null);
    
      
      
      while (cursor.moveToNext()) {
            String nameI = cursor.getString(cursor.getColumnIndex(ContactDBmoy.COLUMN_NAME));
            String phoneI = cursor.getString(cursor.getColumnIndex(ContactDBmoy.COLUMN_PHONE));
      
      
      /* Добавляем пустой контакт */ 
      op.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI) 
           .withValue(RawContacts.ACCOUNT_TYPE, null) 
           .withValue(RawContacts.ACCOUNT_NAME, null) 
           .build()); 
      /* Добавляем данные имени */ 
      op.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) 
           .withValueBackReference(Data.RAW_CONTACT_ID, 0) 
           .withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE) 
           .withValue(StructuredName.DISPLAY_NAME, nameI) 
           .build()); 
      /* Добавляем данные телефона */ 
      op.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) 
           .withValueBackReference(Data.RAW_CONTACT_ID, 0) 
           .withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE) 
           .withValue(Phone.NUMBER, phoneI) 
           .withValue(Phone.TYPE, Phone.TYPE_MOBILE) 
           .build()); 
 
      try { 
          getContentResolver().applyBatch(ContactsContract.AUTHORITY, op); 
          Toast.makeText(this, "Добавлен контакт: " + ContactDBmoy.COLUMN_NAME, Toast.LENGTH_SHORT).show();
      } catch (Exception e) { 
          Log.e("Exception: ", e.getMessage()); 
      }
  }
    }
но все равно не работает, при нажатии - выдает ошибку:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
03-05 13:54:21.403: E/AndroidRuntime(4477): FATAL EXCEPTION: main
03-05 13:54:21.403: E/AndroidRuntime(4477): java.lang.NullPointerException
03-05 13:54:21.403: E/AndroidRuntime(4477):     at ru.zloyel.manager_sutochnoy_arendy_1.ViewContactMoy.addContact(ViewContactMoy.java:185)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at ru.zloyel.manager_sutochnoy_arendy_1.ViewContactMoy.onOptionsItemSelected(ViewContactMoy.java:161)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.app.Activity.onMenuItemSelected(Activity.java:2534)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:958)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.view.menu.ListMenuPresenter.onItemClick(ListMenuPresenter.java:166)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.widget.AdapterView.performItemClick(AdapterView.java:298)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.widget.AbsListView.performItemClick(AbsListView.java:1086)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:2859)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.widget.AbsListView$1.run(AbsListView.java:3533)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.os.Handler.handleCallback(Handler.java:615)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.os.Handler.dispatchMessage(Handler.java:92)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.os.Looper.loop(Looper.java:137)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.app.ActivityThread.main(ActivityThread.java:4745)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at java.lang.reflect.Method.invokeNative(Native Method)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at java.lang.reflect.Method.invoke(Method.java:511)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at dalvik.system.NativeStart.main(Native Method)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru