Java 从webservice android studio获取数据
我正在开发一个android应用程序。在这个应用程序中,我必须从web服务检索数据并将其放在listview中,但它没有检索任何内容。我不知道我做错了什么。也许有人能帮我 网络服务: 主要活动: `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
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