Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android获取json并形成一个列表_Android - Fatal编程技术网

Android获取json并形成一个列表

Android获取json并形成一个列表,android,Android,我是一个新的安卓用户。我有一个mysql数据库,带有返回json的php脚本 我想获取上述数据,并在一个片段中形成一个列表,如下所示:- package com.example.kenneth.lostfound; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view

我是一个新的安卓用户。我有一个mysql数据库,带有返回json的php脚本

我想获取上述数据,并在一个片段中形成一个列表,如下所示:-

    package com.example.kenneth.lostfound;

    import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;

    public class Fragment2 extends Fragment {

        /**
         * Use this factory method to create a new instance of
         * this fragment using the provided parameters.
         *
         * @return A new instance of fragment Fragment2.
         */
        public static Fragment2 newInstance() {
            return new Fragment2();
        }

        public Fragment2() {
            // Required empty public constructor
        }

        @Override
        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);
            setHasOptionsMenu(true);
        }

        @Override
        public void onCreateOptionsMenu (Menu menu, MenuInflater inflater){
            inflater.inflate(R.menu.fragment2, menu);
        }

        @Override
        public boolean onOptionsItemSelected (MenuItem item){
            int id = item.getItemId();
            if (id == R.id.action_refresh){
                return true;
            }
            return super.onOptionsItemSelected(item);
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            View view = inflater.inflate(R.layout.fragment_fragment2, container, false);

            String[] lostItemArray = {
                    "National ID - UCU Main Gate - 20/2/2016",
                    "UACE Results slip - Kampala Rd Taxi - 23/2/2016",
                    "Driving Permit - Ham Towers Makerere- 10/2/2016",

            };

            List<String> lost_items = new ArrayList<String>(
                    Arrays.asList(lostItemArray)
            );

            ArrayAdapter<String> mLostFoundAdapter = new ArrayAdapter<String>(
                    getActivity(),
                    R.layout.list_item_lostfound,
                    R.id.list_item_lostfound,
                    lost_items
            );

            ListView listView = (ListView) view.findViewById(
                    R.id.listview_lostfound
            );
            listView.setAdapter(mLostFoundAdapter);

            return view;
        }
    }
package com.example.kenneth.lostfound;
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.view.LayoutInflater;
导入android.view.Menu;
导入android.view.MenuInflater;
导入android.view.MenuItem;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入java.util.ArrayList;
导入java.util.array;
导入java.util.List;
公共类Fragment2扩展了Fragment{
/**
*使用此工厂方法创建的新实例
*使用提供的参数创建此片段。
*
*@返回Fragment2的新实例。
*/
公共静态碎片2 newInstance(){
返回新碎片2();
}
公共碎片2(){
//必需的空公共构造函数
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
设置选项菜单(真);
}
@凌驾
创建选项菜单(菜单菜单,菜单充气机){
充气机。充气(右菜单。碎片2,菜单);
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
int id=item.getItemId();
if(id==R.id.action\u刷新){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
视图=充气机。充气(R.layout.fragment2,容器,假);
字符串[]lostItemArray={
“国家ID-UCU大门-20/2/2016”,
“UACE结果表-坎帕拉路出租车-2016年2月23日”,
“驾驶许可证-汉城塔楼制造厂-10/2/2016”,
};
列出丢失的项目=新建阵列列表(
Arrays.asList(lostItemArray)
);
ArrayAdapter mLostFoundAdapter=新的ArrayAdapter(
getActivity(),
R.layout.list\u item\u lostfound,
R.id.列表\u项目\u丢失,
遗失物品
);
ListView ListView=(ListView)view.findViewById(
R.id.listview\u lostfound
);
setAdapter(mLostFoundAdapter);
返回视图;
}
}

我希望从
json
获取数据以更新列表,或将其填充到列表视图元素中。我使用的是AndroidStudio 2.3

您可以使用任何网络库,如
Volley
改装
,从服务器获取json响应

在此,我提供截击样本和改装样本的链接

  • 截击

  • 改造

  • 谈到json解析,还有一些库用于快速解析
    Logan Square
    gson

  • 二,

  • 希望这是有帮助的:)

    首先使用或任何其他方式通过Http与服务器通信,如,并进行异步调用以防止出现
    NetworkOnMainThreadException
    。然后使用任何转换器,如将Json转换为Pojo类
        package com.example.kenneth.lostfound;
    
        import android.os.Bundle;
        import android.support.v4.app.Fragment;
        import android.view.LayoutInflater;
        import android.view.Menu;
        import android.view.MenuInflater;
        import android.view.MenuItem;
        import android.view.View;
        import android.view.ViewGroup;
        import android.widget.ArrayAdapter;
        import android.widget.ListView;
    
        import java.util.ArrayList;
        import java.util.Arrays;
        import java.util.List;
    
        public class Fragment2 extends Fragment {
    
            /**
             * Use this factory method to create a new instance of
             * this fragment using the provided parameters.
             *
             * @return A new instance of fragment Fragment2.
             */
            public static Fragment2 newInstance() {
                return new Fragment2();
            }
    
            public Fragment2() {
                // Required empty public constructor
            }
    
            @Override
            public void onCreate(Bundle savedInstanceState) {
    
                super.onCreate(savedInstanceState);
                setHasOptionsMenu(true);
            }
    
            @Override
            public void onCreateOptionsMenu (Menu menu, MenuInflater inflater){
                inflater.inflate(R.menu.fragment2, menu);
            }
    
            @Override
            public boolean onOptionsItemSelected (MenuItem item){
                int id = item.getItemId();
                if (id == R.id.action_refresh){
                    return true;
                }
                return super.onOptionsItemSelected(item);
            }
    
            @Override
            public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                     Bundle savedInstanceState) {
                // Inflate the layout for this fragment
                View view = inflater.inflate(R.layout.fragment_fragment2, container, false);
    
                String[] lostItemArray = {
                        "National ID - UCU Main Gate - 20/2/2016",
                        "UACE Results slip - Kampala Rd Taxi - 23/2/2016",
                        "Driving Permit - Ham Towers Makerere- 10/2/2016",
    
                };
    
                List<String> lost_items = new ArrayList<String>(
                        Arrays.asList(lostItemArray)
                );
    
                ArrayAdapter<String> mLostFoundAdapter = new ArrayAdapter<String>(
                        getActivity(),
                        R.layout.list_item_lostfound,
                        R.id.list_item_lostfound,
                        lost_items
                );
    
                ListView listView = (ListView) view.findViewById(
                        R.id.listview_lostfound
                );
                listView.setAdapter(mLostFoundAdapter);
    
                return view;
            }
        }