Php 需要一些帮助来为多级listview编写json^^

Php 需要一些帮助来为多级listview编写json^^,php,android,mysql,json,Php,Android,Mysql,Json,我正在尝试在我的应用程序中实现一个多级列表视图(基于android)。我正在与eclipse一起使用php和mysql 对于第一级listview,这是json(文件名:test1.php): 现在,对于第二级listview,其中引用的url将是test2.php?id=1(或任何其他id号)-如何在test2.php中编写json 是否必须为上一个listview中的每个项目写入所有listview数据?或者我必须创建几个与前一个listview中的每个项目对应的test2.php文件吗 欢

我正在尝试在我的应用程序中实现一个多级列表视图(基于android)。我正在与eclipse一起使用phpmysql

对于第一级listview,这是json(文件名:test1.php):

现在,对于第二级listview,其中引用的url将是
test2.php?id=1
(或任何其他id号)-如何在
test2.php
中编写json

是否必须为上一个listview中的每个项目写入所有listview数据?或者我必须创建几个与前一个listview中的每个项目对应的
test2.php
文件吗


欢迎您提供建议、建议和教程链接。

您的标题使用简单列表视图是ListActivity的一部分。为了用数据填充此列表,他们使用SimpleAdapter,并从服务器用JSON响应填充

 ListAdapter adapter = new SimpleAdapter(
       AlbumsActivity.this, albumsList,
        R.layout.list_item_albums, new String[] { TAG_ID,
        TAG_NAME, TAG_SONGS_COUNT }, new int[] {
        R.id.album_id, R.id.album_name, R.id.songs_count });
适配器中的所有数据都取自

albumsList = new ArrayList<HashMap<String, String>>();
我认为在这个活动中,他们再次从服务器执行AsyncTask查询,并获得另一个JSON,其解析方式与第一个活动相同

如果您单击TrackerActivity中的歌曲,您将启动带有该歌曲双标题的新活动

更新2:

在服务器端,您需要为以下对象组织JSON Oblect生成器:

  • 相册列表()
  • 专辑歌曲()
  • 宋迪泰()

  • 您是否在Java上编写应用程序?是本地android应用程序,还是使用基于php的android自定义框架?哦,是的,我使用的是JAVA。我刚才提到了很多。实际上,我以前已经成功地完成了教程。然后我想在listview中输出我自己的数据。上面提到的test.php文件在第一级listview中运行良好。现在我需要帮助为第二级listview制作test2.php。我不知道我应该写json对象。是的,你需要写和第一级几乎相同的json对象。但是这个JSON将只包含歌曲列表,而不是专辑。您应该根据相册id生成不同的对象。(我不理解您的问题,我想您问的是客户端,而不是服务器端)很抱歉进一步打扰您,但您能给我一些建议吗?您是否必须将这样的代码放入album_tracks.php(教程中的文件)中?{“id”:1,“专辑”:“127小时”,“歌曲”:[{“id”:1,“名字”:“再也听不到冲浪音乐”,“持续时间”:“5:52”},{“id”:2,“名字”:“峡谷”,“持续时间”:“3:01”}]}{“id”:2,“专辑”:“阿黛勒21”,“歌曲”:[{“id”:1,“名字”:“在深渊里打滚”,“持续时间”:“03:48”},{“id”:2,“名字”:“谣言已经存在”,“持续时间”:“03:43”}不,这段代码应该是这样的URI:album_tracks.php?id=1,在这里传递album的id。然后返回这个JSON对象:哦,我明白了。好啊非常感谢你的洞察力。帮了我很多忙。
    albumsList = new ArrayList<HashMap<String, String>>();
    
            // getting JSON string from URL
            String json = jsonParser.makeHttpRequest(URL_ALBUMS, "GET",
                    params);
    
            // Check your log cat for JSON reponse
            Log.d("Albums JSON: ", "> " + json);
    
            try {               
                albums = new JSONArray(json);
    
                if (albums != null) {
                    // looping through All albums
                    for (int i = 0; i < albums.length(); i++) {
                        JSONObject c = albums.getJSONObject(i);
    
                        // Storing each json item values in variable
                        String id = c.getString(TAG_ID);
                        String name = c.getString(TAG_NAME);
                        String songs_count = c.getString(TAG_SONGS_COUNT);
    
                        // creating new HashMap
                        HashMap<String, String> map = new HashMap<String, String>();
    
                        // adding each child node to HashMap key => value
                        map.put(TAG_ID, id);
                        map.put(TAG_NAME, name);
                        map.put(TAG_SONGS_COUNT, songs_count);
    
                        // adding HashList to ArrayList
                        albumsList.add(map);
                    }
                }else{
                    Log.d("Albums: ", "null");
                }
    
            } catch (JSONException e) {
                e.printStackTrace();
            }
    
            return null;
        }
    
                if (albums != null) {
                    // looping through All albums
                    for (int i = 0; i < albums.length(); i++) {
                        JSONObject c = albums.getJSONObject(i);
    
                        // Storing each json item values in variable
                        String id = c.getString(TAG_ID);
                        String name = c.getString(TAG_NAME);
                        String songs_count = c.getString(TAG_SONGS_COUNT);
    
                        // creating new HashMap
                        HashMap<String, String> map = new HashMap<String, String>();
    
                        // adding each child node to HashMap key => value
                        map.put(TAG_ID, id);
                        map.put(TAG_NAME, name);
                        map.put(TAG_SONGS_COUNT, songs_count);
    
                        // adding HashList to ArrayList
                        albumsList.add(map);
                    }
                }else{
                    Log.d("Albums: ", "null");
                }
    
        Intent i = new Intent(getApplicationContext(), TrackListActivity.class);
            // send album id to tracklist activity to get list of songs under that album
            String album_id = ((TextView) view.findViewById(R.id.album_id)).getText().toString();
            i.putExtra("album_id", album_id);               
            startActivity(i);