0

Android SQLiteデータベースからデータを取得するために次のものがあります

アンドロイドでの私の機能

public List<String> getMyDetails()
    {
            List<String> dataList = new ArrayList<String>();
    Cursor cursor = myDataBase.rawQuery("SELECT * FROM pic_details WHERE _id=1",null);

if (cursor .moveToFirst()) {

        do {
                String name = cursor.getString(cursor.getColumnIndex("name"));
                dataList.add(name);
        } while (cursor.moveToNext());
    }

return dataList;

}

このような活動呼び出しで

List<String> piclist= dbHelper. getMyDetails();

候補者の名前を返します。しかし、PHP、MySQLでこのようなテーブルの列全体を返したい

$sql=mysql_query("SELECT * FROM pic_details WHERE _id=1");
$i=0;
$out=array();

while($t=mysql_fetch_array($sql)){

$out[$i]['name']=$t['name'];
$out[$i]['file']=$t['file'];
$out[$i]['age']=$t['age'];
$out[$i]['date_time']=$t['date_time'];

$i++;
}

return $out;

必要に応じて $out を取得できるようにします。

誰でも私を助けてもらえますか?前もって感謝します

4

2 に答える 2

2

質問で提供したようphp codeに、それは単一ではありませんcolumn。それはrow dataです。したがって、基本的に必要なのは行情報全体です。行の詳細全体を取得するには、次のようにする必要があります。

 String name = cursor.getString(cursor.getColumnIndex("name"));
 String address = cursor.getString(cursor.getColumnIndex("address"));

したがって、次のgenericようになります。

datatype fetchedData = cursor.getterofthatparticulardatatype(cursor.getColumnIndex(columnName));

編集:

POJO class他の回答者が言ったように使用するか、次のいずれかを使用します。

public List<HashMap<String, String>> getMyDetails()
    {

 List<HashMap<String, String>> datalist = new  ArrayList<HashMap<String, String>>();

    Cursor cursor = myDataBase.rawQuery("SELECT * FROM pic_details WHERE _id=1",null);

if (cursor.moveToFirst()) {

        do {
                HashMap<String, String> hashmap = new HashMap<String, String>();

                String name = cursor.getString(cursor.getColumnIndex("name"));
                String story = cursor.getString(cursor.getColumnIndex("story"));

                hashmap.put("nameKey",name);
                hashmap.put("storyKey",story);

                dataList.add(hashmap);
        } while (cursor.moveToNext());
    }

return dataList;

}

取得する方法:

List<HashMap<String, String>> piclist= dbHelper. getMyDetails();

for(HashMap hashmap : piclist)
{
         String name = hashmap.get("nameKey");
         String story = hashmap.get("storyKey");
         Log.d("name,story",name+", "+story);
}
于 2013-05-16T10:12:33.397 に答える
0

まず、Java クラスを作成します。

public class Person {
    private String image;
    private String name;

    public Person(String image, String name) {
        super();
        this.image = image;
        this.name = name;

    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Then create ArrayList of person class

Public List<Person> getMyDetails()
    {
            List<Person> dataList = new ArrayList<Person>();

    Cursor cursor = myDataBase.rawQuery("SELECT * FROM pic_details WHERE _id=1",null);

if (cursor .moveToFirst()) {

        do {
                String name = cursor.getString(cursor.getColumnIndex("name"));
              person = new Person(image, name)
                dataList.add(person);
        } while (cursor.moveToNext());
    }

return dataList;

}

Then use this arraylist in you activity class.
于 2013-05-16T08:32:12.763 に答える