PDA

Prikaži potpunu verziju : android programiranje - pomoc


Pumbaa
25.2.2015, 22:10
drugari, nedavno sam poceo da ucim (prvo)javu i programiranje u androidu tako da sam poprilicno pocetnik...

radio sam neke vezbice i tutoriale, pa sam se zakocio na jednom zadatku;

dakle, radi se o MediaStore content provajder-u... ubacio sam neke pesme na emulator tj na sd karticu emulatora i probao da napravim aplikaciju koja ce da mi pokaze listu tih pesama... evo sta sam uradio:


Main Activity:
import java.util.ArrayList;

import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;

public class MainActivity extends ListActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Media list:");
ArrayList<String> songs = new ArrayList<String>();
Cursor c = getContentResolver().query(MediaStore.Audio.Media. EXTERNAL_CONTENT_URI, new String[] { MediaStore.Audio.Media.TITLE }, null, null, null);
c.moveToFirst();
while(!c.isAfterLast()){
songs.add(c.getString(0));
c.moveToNext();
}
setListAdapter(new ArrayAdapter<String>(this, R.layout.activity_main,songs));
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}

activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.contentproviderstest.MainActivity" >

<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:padding="10dp"
android:textSize="20sp" />

</RelativeLayout>

i u manifest sam ubacio:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

eclipse ne prijavljuje nikakvu gresku i kad pokrenem aplikaciju u emulatoru dobijem samo praznu stranu...

pa ako neko zna gde gresim, pa da me uputi.

pocetnik sam, tako da ne zamerite ako je pitanje glupo i hvala u napred na odgovorima.

prozor_xp
28.2.2015, 15:01
Koliko vidim ovde nema nijedna metoda za ispis pesama. Pokusaj da da ubacis ovo ispod onog while loop-a:
while(!c.isAfterLast()){
Log.i("", c.getString(0));

..................................