Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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
Java 从webservice android studio获取数据_Java_Android_Json_Listview - Fatal编程技术网

Java 从webservice android studio获取数据

Java 从webservice android studio获取数据,java,android,json,listview,Java,Android,Json,Listview,我正在开发一个android应用程序。在这个应用程序中,我必须从web服务检索数据并将其放在listview中,但它没有检索任何内容。我不知道我做错了什么。也许有人能帮我 网络服务: 主要活动: ` public class MainActivity extends AppCompatActivity { ListView listView; ArrayAdapter<String> adapter; String[] data; @Override protected voi

我正在开发一个android应用程序。在这个应用程序中,我必须从web服务检索数据并将其放在listview中,但它没有检索任何内容。我不知道我做错了什么。也许有人能帮我

网络服务:

主要活动: `

public class MainActivity extends AppCompatActivity {

ListView listView;
ArrayAdapter<String> adapter;
String[] data;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    listView = findViewById(R.id.listview);

    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitNetwork().build());

    getData();

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Intent intent = new Intent(MainActivity.this, Showdata.class);
        intent.putExtra("teeltbed", listView.getItemAtPosition(position).toString());
        startActivity(intent);
        }
    });

}

private void getData()
{
    String getData = null;
    String dbResult = "empty";
    dbConnect database = new dbConnect(this);

    try{
        String query = "SELECT * FROM Lamp";
        getData = "?query=" + URLEncoder.encode(query, "UTF-8");
        String link = "http://10.247.240.53/kas/lampen.php";
        dbResult = database.execute(link).get();
    }
    catch (Exception e){

    }

    try{
        JSONArray ja = new JSONArray(dbResult);
        JSONObject jo = null;
        data = new String[ja.length()];
        for (int i = 0; i < ja.length(); i++)
        {
            jo = ja.getJSONObject(i);
            data[i] = jo.getString("teeltbed");
        }
        adapter = new ArrayAdapter<String>(this, R.layout.layout_list, R.id.list_item, data);
        listView.setAdapter(adapter);
    }

    catch (Exception e)
    {
        e.printStackTrace();
    }
}
  }`
public类MainActivity扩展了AppCompatActivity{
列表视图列表视图;
阵列适配器;
字符串[]数据;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=findViewById(R.id.listView);
StrictMode.setThreadPolicy(新的StrictMode.ThreadPolicy.Builder().permitNetwork().build());
getData();
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
意向意向=新意向(MainActivity.this、Showdata.class);
intent.putExtra(“teeltbed”,listView.getItemAtPosition(position.toString());
星触觉(意向);
}
});
}
私有void getData()
{
字符串getData=null;
字符串dbResult=“empty”;
dbConnect数据库=新的dbConnect(此);
试一试{
String query=“从灯中选择*”;
getData=“?query=“+urlcoder.encode(查询,“UTF-8”);
字符串链接=”http://10.247.240.53/kas/lampen.php";
dbResult=database.execute(link.get();
}
捕获(例外e){
}
试一试{
JSONArray ja=新的JSONArray(dbResult);
JSONObject jo=null;
数据=新字符串[ja.length()];
对于(int i=0;i
Hi,访问数据库的密码和用户名如何?请尝试查看此文档:@jevgenijkonov此web服务不需要密码,它作为PHP文件托管。不检索任何内容意味着没有响应?它是否返回任何错误消息?如果返回数据,则在添加数据后,需要在UImethod中刷新listview。尝试创建您自己的适配器类,该类将处理所有问题。如果数据库查询后没有数据,则-可能是数据库有问题…或其他任何问题…将数据填充到适配器并不复杂…正确收集数据是一个技巧。另一件事..您的db请求应该在独立线程内,以便在发生问题时不锁定主UIthread