Android获取json并形成一个列表
我是一个新的安卓用户。我有一个mysql数据库,带有返回json的php脚本 我想获取上述数据,并在一个片段中形成一个列表,如下所示:-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
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响应
在此,我提供截击样本和改装样本的链接
Logan Square
,gson
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;
}
}