This workshop will be retired on May 1, 2025.
Heads up! To view this whole video, sign in with your Courses Plus account or enroll in your free 7-day trial. Sign In Enroll
Preview
Video Player
00:00
00:00
00:00
- 2x 2x
- 1.75x 1.75x
- 1.5x 1.5x
- 1.25x 1.25x
- 1.1x 1.1x
- 1x 1x
- 0.75x 0.75x
- 0.5x 0.5x
In this video we'll finish setting up our ContentProvider and finally see it in action!
This video doesn't have any notes.
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
We just finished getting our cursor, and
0:00
now that we've got it let's loop through
it and add each contact to our list.
0:02
But first we'll need to make sure that
our cursor both exists and isn't empty.
0:07
So let's type if (cursor != to
null to make sure it exists,
0:12
and then add && cursor.moveToFirst
to make sure there is a first row.
0:19
MoveToFirst returns false if there
is not a first row to move to.
0:28
Inside the if statement we can use the do
while loop to loop through our cursor.
0:33
So do and then brackets.
0:39
And we'll leave the inside blank for
now and at the end add
0:43
while(cursor.moveToNext.
0:47
And add a semicolon.
0:54
This way, as long as there's
another row we'll keep looping.
0:56
Inside the loop, we just need to get
the ID and name of our contact and
1:01
then use that to create a new
text view for a linear layout.
1:06
Let's create a new string
variable named id and
1:10
set it equal to cursor.getString.
1:15
And then for the column index,
1:19
let's pass in Cursor.getColumnIndex.
1:23
And then that requires the column name, so
1:29
let's pass in DatabaseHelper.COLUMN_ID and
there we go.
1:32
And now that we've got our ID,
let's use command or
1:38
control D to duplicate this line.
1:41
And then let's just change
1:43
id to name and ID to NAME.
1:48
Then let's create a new TextView.
1:53
TextView textView = getNewTextView, and
1:57
parse in id and name, and
2:02
then let's add that text
view to our linear layout.
2:05
Linear Layout.addView textView.
2:10
And finally after the loop we need to
close our cursor, cursor.close and
2:16
that's it, we're now using a content
provider to serve up our data.
2:23
But before we run the app,
there's one more thing we should do.
2:27
Over in the manifest, we need to declare
our provider inside the application tags.
2:32
Let's add a couple lines at the bottom.
2:39
And then, add a provider tag and
let it auto complete.
2:42
Next, for the authorities, let's pass
in our authority, which remember,
2:47
is just the package name, plus provider.
2:51
So for me it's going to be
2:55
com.teamtreehouse.contentproviders.provi-
der.
2:57
And for the name,
let's give it our content provider.
3:04
Then let's close our provider tag and
run the app.
3:09
Looks good so far.
3:19
Now let's see what happens when we type in
a name like Stan and then hit the button.
3:21
Sweet.
3:28
It added the name to the list and we got a
toast of the URI where the name is stored.
3:29
Let's add another name to get
a better look at that URI.
3:35
Let's type Maddy and
then click the button.
3:38
And we've got the URI of the new row as
the content URI plus the ID of the row.
3:43
Awesome our content provider is
all set up, and it works great.
3:50
But, so
far it's only being used by one app, so
3:55
we're not getting much benefit
from our content provider.
3:58
In the next video we'll
create another app and
4:01
see how we can access our content
provider from the outside.
4:03
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up