Introduction
Xamarin is a platform to develop cross-platform and multi-platform apps (for example, Windows phone, Android, iOS).
In Xamarin platform, the code sharing concept is used. In Xamarin Studio, Visual Studio is also available.
Prerequisites
- Visual Studio 2015 Update 3.
The steps, mentioned below are required to be followed in order to update the contact profile in Xamarin Android app, using Visual Studio 2015.
Step 1
Click File--> select New--> select Project. The project needs to be clicked after opening all the types of projects in Visual Studio or click (Ctrl+Shift+N).
Step 2
After opening the New Project, select Installed-->Templates-->Visual C#-->Android-->choose the Blank app (Android). Now, give your Android app; a name (Ex:sample) and give the path of your project. Afterwards, click OK.
Step 3
Go to Solution Explorer. In Solution Explorer, get all the files and sources in your project.
Select Resource-->Layout-->double click to open main.axml page. To write XAML code, you need to select the source.
You can design your app, if you want to, design and choose the Designer Window.
Step 4
After opening main.axml, file will open the main page designer. In this page, you can design the page as per your wish.
Now, delete the Default hello world button. Go to the source panel and you can see the button coding. You need to delete it.
After deleting XAML code, now delete C# button action code. Go to the MainActivity.cs page and you need to delete the button code.
Step 5
Now, go to the toolbox Window. In the toolbox Window, get all the types of the tools and controls.
You need to go to the toolbox Window. Now, scroll down and you will see all the tools and controls.
You need to drag and drop the two buttons.
Step 6
Now, go to the properties Window. You need to edit the first button's Id value and text value.
(EX:android:id="@+id/getContactsButton"android:text="@string/getContacts" ).
Step 7
Now, go to the properties Window. You need to edit the second button's Id value and text value.
(EX:android:id="@+id/updateProfileButton"android:text="@string/updateProfile").
Step 8
In this step, go to the Main.axml page Source Panel. Note, the button's Id value.
Main.axml
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">
- <Button android:id="@+id/getContactsButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/getContacts" />
- <Button android:id="@+id/updateProfileButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/updateProfile" />
- </LinearLayout>
Step 9
In this step, open the String.xml page. Go to the Solution Explorer-->Resource-->values-->String.xml.
Step 10
After opening String.xml file, write XML code mentioned below.
String.xml - <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="getContacts">Get Contacts</string>
- <string name="updateProfile">Update Profile</string>
- <string name="ApplicationName">contactinfo</string>
- </resources>
Step 11
In this step, go to the MainActivity.cs page from Solution Explorer. Add one Namesapce and its name is called the provider.
MainActivity.cs
Use Android.Provider, as mentioned below.
Step 12
Now, write the code, mentioned below from MainActivity.cs page.
MainActivity.cs - public class MainActivity: Activity {
- protected override void OnCreate(Bundle bundle) {
- base.OnCreate(bundle);
-
- SetContentView(Resource.Layout.Main);
- var getContactsButton = FindViewById < Button > (Resource.Id.getContactsButton);
- getContactsButton.Click += delegate {
- GetContacts();
- };
- var updateProfileButton = FindViewById < Button > (Resource.Id.updateProfileButton);
- updateProfileButton.Click += delegate {
- UpdateProfile();
- };
- }
- void GetContacts() {
- var uri = ContactsContract.Contacts.ContentUri;
- string[] projection = {
- ContactsContract.Contacts.InterfaceConsts.Id,
- ContactsContract.Contacts.InterfaceConsts.DisplayName
- };
- var cursor = ManagedQuery(uri, projection, null, null, null);
- if (cursor.MoveToFirst()) {
- do {
- Console.WriteLine("Contact ID: {0}, Contact Name: {1}",
- cursor.GetString(cursor.GetColumnIndex(projection[0])),
- cursor.GetString(cursor.GetColumnIndex(projection[1])));
- } while (cursor.MoveToNext());
- }
- }
- void UpdateProfile() {
-
- var values = new ContentValues();
- values.Put(ContactsContract.Contacts.InterfaceConsts.DisplayName, "John Doe");
- ContentResolver.Update(ContactsContract.Profile.ContentRawContactsUri, values, null, null);
-
- var uri = ContactsContract.Profile.ContentUri;
- string[] projection = {
- ContactsContract.Contacts.InterfaceConsts.DisplayName
- };
- var cursor = ManagedQuery(uri, projection, null, null, null);
- if (cursor.MoveToFirst()) {
- Console.WriteLine(cursor.GetString(cursor.GetColumnIndex(projection[0])));
- }
-
- var intent = new Intent(Intent.ActionView, ContactsContract.Profile.ContentUri);
- StartActivity(intent);
- }
- }
Step 13
In this step, give the required permissions in your app.
Go to Solution Explorer--> properties-->Right click-->Open.
Step 14
After opening the properties options, select Android Manifest-->Required Permissions-->Check WRITE_CONTACTS and WRITE_PROFILE.
Step 15
Select Android Manifest-->Required Permissions-->Check READ_CONTACTS and READ_PROFILE.
Step 16
If you have Android Virtual device, run the app on it, else connect your Android phone and run the app on it.
Simply, connect your phone and go to Visual Studio. The connected phone will show up in the Run menu.
(Ex:LENOVO A6020a40(Android 5.1-API 22)). Click the Run option.
Output
After few seconds, the app will start running on your phone. You will see Update profile button.
Now, click Update Profile Button. It will show the Contact Profile and you can click edit option.
You will edit the profile and click save.
Summary
This was the process of how to update the contact profile in Xamarin Android app, using Visual Studio 2015.