title: java.lang.IllegalArgumentException: Unknown URI content
body: <p>I tried running the program code soundclouddroid <a href="https://code.google.com/p/soundclouddroid/source/browse/" rel="nofollow">https://code.google.com/p/soundclouddroid/source/browse/</a> 1.2.2. I had another problem before I settled on Stackoverflow but now I have one and can not understand why it happens.
  My problem is: </p>
  
  <pre><code>java.lang.RuntimeException: Unable to start activity ComponentInfo {es.manu.sd122.soundCloudDroid/es.manu.sd122.soundCloudDroid.CustomTrackListsActivity}: java.lang.IllegalArgumentException: Unknown URI content :/ / is .manu.sd122.provider.soundCloudDroid/tracklists
  </code></pre>
  
  <p>The program tries to pull Souncloud data. In Souncloud page I created an app, I have obtained the client id and client secret and I've also added the Redirect URI field I have set for Authentication: <a href="http://es.manu.sd122.provider.soundCloudDroid" rel="nofollow">http://es.manu.sd122.provider.soundCloudDroid</a>. The adds http:// Souncloud website.</p>
  
  <p>Can you help me? Thanks</p>
  
  <p>Logcat:</p>
  
  <pre><code>10-18 09:07:45.839: E/AndroidRuntime(400): FATAL EXCEPTION: main
  10-18 09:07:45.839: E/AndroidRuntime(400): java.lang.RuntimeException: Unable to start activity ComponentInfo{es.manu.sd122.soundCloudDroid/es.manu.sd122.soundCloudDroid.CustomTrackListsActivity}: java.lang.IllegalArgumentException: Unknown URI content://es.manu.sd122.provider.soundCloudDroid/tracklists
  10-18 09:07:45.839: E/AndroidRuntime(400):  at  android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at android.os.Handler.dispatchMessage(Handler.java:99)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at android.os.Looper.loop(Looper.java:123)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at android.app.ActivityThread.main(ActivityThread.java:3683)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at java.lang.reflect.Method.invokeNative(Native Method)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at java.lang.reflect.Method.invoke(Method.java:507)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at dalvik.system.NativeStart.main(Native Method)
  10-18 09:07:45.839: E/AndroidRuntime(400): Caused by: java.lang.IllegalArgumentException: Unknown URI content://es.manu.sd122.provider.soundCloudDroid/tracklists
  10-18 09:07:45.839: E/AndroidRuntime(400):  at es.manu.sd122.soundCloudBase.SoundCloudData.query(SoundCloudData.java:244)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at android.content.ContentProvider$Transport.query(ContentProvider.java:187)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at android.content.ContentResolver.query(ContentResolver.java:262)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at es.manu.sd122.soundCloudDroid.CustomTrackListsActivity.onCreate(CustomTrackListsActivity.java:28)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
  10-18 09:07:45.839: E/AndroidRuntime(400):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
  10-18 09:07:45.839: E/AndroidRuntime(400):  ... 11 more
  </code></pre>
  
  <p>Manifest:</p>
  
  <pre><code>&lt;provider android:name="es.manu.sd122.soundCloudBase.SoundCloudData" android:authorities="es.manu.sd122.provider.soundCloudDroid"&gt;
          &lt;/provider&gt;
  </code></pre>
  
  <p>DB of souncCloudDroid</p>
  
  <pre><code>import android.net.Uri;
  import android.provider.BaseColumns;
  
  public class DB extends es.manu.sd122.soundCloudBase.DB
  {
      protected DB()
      {
          super();
      }
  
      public static final class TrackLists implements BaseColumns
      {
          // This class cannot be instantiated
          private TrackLists() {}
  
          public static final String TABLE_NAME = "tracklists";
  
          /**
           * The content:// style URL for this table
           */
          public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/tracklists");
  
          /**
           * The MIME type of {@link #CONTENT_URI} providing a directory of entries.
           */
          public static final String CONTENT_TYPE = "vnd.android.cursor.dir/" + PACKAGE + ".tracklists";
  
          /**
           * The MIME type of a {@link #CONTENT_URI} sub-directory of a single entry.
           */
          public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/" + PACKAGE + ".tracklists";
  
          public static final String RESOURCE = "resource";
  
          public static final String TITLE = "title";
  
          public static final String DEFAULT_SORT_ORDER = _ID + " ASC";
      }
  }
  </code></pre>
  
  <p>DB of soundCloudBase</p>
  
  <pre><code>import android.net.Uri;
  import android.provider.BaseColumns;
  import es.manu.sd122.soundCloudBase.Config;
  
  public class DB
  {
      public static final String AUTHORITY = Config.AUTHORITY;
      public static final String PACKAGE = Config.PACKAGE;
  
      // This class cannot be instantiated
      protected DB() {}
  
      public static final class Uploads implements BaseColumns
      {
          // This class cannot be instantiated
          private Uploads() {}
  
          public static final String TABLE_NAME = "uploads";
  
          /**
           * The content:// style URL for this table
           */
          public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/uploads");
  
          /**
           * The MIME type of {@link #CONTENT_URI} providing a directory of app data entries.
           */
          public static final String CONTENT_TYPE = "vnd.android.cursor.dir/" + PACKAGE + ".uploads";
  
          /**
           * The MIME type of a {@link #CONTENT_URI} sub-directory of a single app data entry.
           */
          public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/" + PACKAGE + ".uploads";
  
          public static final String TITLE = "title";
          public static final String PATH = "path";
          public static final String STATUS = "status";
          public static final String SHARING = "sharing";
          public static final String DESCRIPTION = "description";
          public static final String GENRE = "genre";
          public static final String TRACK_TYPE = "track_type";
  
          public static final String DEFAULT_SORT_ORDER = _ID + " DESC";
      }
  
      public static final class Tracks implements BaseColumns
      {
          // This class cannot be instantiated
          private Tracks() {}
  
          public static final String TABLE_NAME = "tracks";
  
          /**
           * The content:// style URL for this table
           */
          public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/tracks");
  
          /**
           * The MIME type of {@link #CONTENT_URI} providing a directory of app data entries.
           */
          public static final String CONTENT_TYPE = "vnd.android.cursor.dir/" + PACKAGE + ".tracks";
  
          /**
           * The MIME type of a {@link #CONTENT_URI} sub-directory of a single app data entry.
           */
          public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/" + PACKAGE + ".tracks";
  
          public static final String TITLE = "title";
          public static final String ID = "id";
          public static final String STREAM_URL = "stream_url";
          public static final String DURATION = "duration";
          public static final String CLASS = "class";
  
  
          public static final String DEFAULT_SORT_ORDER = ID + " DESC";
      }
  }
  </code></pre>
  
  <p>Config</p>
  
  <pre><code>public class Config
  {
  
  
  
     public static final String AUTHORITY =   "es.manu.sd122.provider.soundCloudDroid";
          public static final String PACKAGE = "es.manu.sd122.soundCloudDroid";
  
      private Config()
      {}
  }
  </code></pre>
  
  <p>CustomTrackListsActivity</p>
  
  <pre><code>import es.manu.sd122.soundCloudDroid.DB;
  import android.app.ListActivity;
  import android.content.Intent;
  import android.database.Cursor;
  import android.os.Bundle;
  import android.view.Menu;
  import android.view.MenuItem;
  import android.view.View;
  import android.widget.ListView;
  import android.widget.SimpleCursorAdapter;
  
  public class CustomTrackListsActivity extends ListActivity
  {
      /**
       * The method called when the Activity is created.
       * &lt;p&gt;
       * Initializes the user interface.
       */
      public void onCreate(Bundle savedInstanceState)
      {
          super.onCreate(savedInstanceState);
          this.setContentView(R.layout.custom_track_lists);
  
          // Read uploads
          mCursor = getContentResolver().query(DB.TrackLists.CONTENT_URI, null, DB.TrackLists.RESOURCE + "&lt;&gt;\"\"", null, null);
  
          SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.track_list_item, mCursor,
                  new String[] { DB.TrackLists.TITLE }, new int[] { android.R.id.text1 });
          setListAdapter(adapter);
  
          findViewById(R.id.use_menu).setVisibility(mCursor.getCount()&lt;=2 ? View.VISIBLE : View.INVISIBLE);
      }
  
      public void onDestroy()
      {
          super.onDestroy();
          mCursor.close();
      }
  
      public boolean onCreateOptionsMenu(Menu menu)
      {
          super.onCreateOptionsMenu(menu);
  
          mArtistTracksMenuItem = menu.add("Search for Artists").setIcon(android.R.drawable.ic_menu_add);
          return true;
      }
  
      public boolean onOptionsItemSelected(MenuItem item) 
      {
          if(item == mArtistTracksMenuItem)
          {
              startActivity(new Intent(getApplication(), NewArtistTracksActivity.class));
              return true;
          }
          else return super.onOptionsItemSelected(item);
      }
  
      public void onListItemClick(ListView parent, View v, int position, long id)
      {
          mCursor.moveToPosition(position);
          Intent intent;
          if(id == 0)
              intent = new Intent(getApplication(), ViewTracksActivity.class);
          else
          {
              intent = new Intent(getApplication(), ViewOtherTracksActivity.class);
              intent.putExtra(DB.TrackLists.RESOURCE, mCursor.getString(1));
              intent.putExtra(DB.TrackLists.TITLE, mCursor.getString(2));
              intent.putExtra(DB.TrackLists._ID, id);
          }
  
          startActivity(intent);
      }
  
      private MenuItem mArtistTracksMenuItem;
      private Cursor mCursor;
  
  
  }
  </code></pre>
  
  <p>I've been looking at various issues related to the error Unkown Uri Content on Stackoverflow but I still can move .</p>
  
  <p>Thanks</p>