Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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 Blank ListView-从外部SQL数据库中提取_Android_Listview_Arraylist_Adapter - Fatal编程技术网

Android Blank ListView-从外部SQL数据库中提取

Android Blank ListView-从外部SQL数据库中提取,android,listview,arraylist,adapter,Android,Listview,Arraylist,Adapter,我正在开发一个Android Studio应用程序,需要使用php从外部SQL数据库的表中提取信息,并将其显示在ListView中。代码没有显示任何错误,但运行时ListView在屏幕上没有显示任何内容 这就是我所指的: Java(这是应用程序的主屏幕,这是ListView所在的屏幕) home_page_no_mood.php(这是连接到数据库的php文件) 多谢各位 8:16使用模拟链接logcat运行: 03-22 08:16:20.2263277-3277/?I/art:未延迟启用-

我正在开发一个Android Studio应用程序,需要使用php从外部SQL数据库的表中提取信息,并将其显示在ListView中。代码没有显示任何错误,但运行时ListView在屏幕上没有显示任何内容

这就是我所指的:

Java(这是应用程序的主屏幕,这是ListView所在的屏幕)

home_page_no_mood.php(这是连接到数据库的php文件)


多谢各位

8:16使用模拟链接logcat运行:

03-22 08:16:20.2263277-3277/?I/art:未延迟启用-Xcheck:jni (已打开)03-22 08:16:20.2263277-3277/?W/art:意外的CPU 使用默认值的X86变体:X86 03-22 08:16:20.245 3277-3284/? I/art:调试器不再处于活动状态03-22 08:16:20.245 3277-3284/? I/art:启动阻塞GC仪表03-22 08:16:20.344 3277-3277/? W/系统:类加载器引用的未知路径: /data/app/com.example.marlo.myapplication-2/lib/x86 03-22 08:16:20.349 3277-3277/? I/InstantRun:启动的即时运行服务器 com.example.marlo.myapplication 03-22 08:16:20.896 3277-3305/? I/OpenGLRenderer:初始化EGL,版本1.4 03-22 08:16:20.896 3277-3305/? D/OpenGLRenderer:交换行为103-22 08:16:20.897 3277-3305/? W/OpenGLRenderer:无法使用选择配置 EGL\u交换\u行为\u保留,重试时没有。。。03-22 08:16:20.897 3277-3305/? D/OpenGLRenderer:交换行为0 03-22 08:16:28.309 3277-3277/com.example.marlo.myapplication W/IInputConnectionWrapper: 非活动输入连接上的finishComposingText 03-22 08:16:36.409 3277-3277/com.example.marlo.myapplication W/IInputConnectionWrapper: 非活动InputConnection上的finishComposingText


加载数据的异步任务被注释掉,因此不会执行

     //new HomePageActivity(this).execute();

注意:您应该将HomePageActivity重命名为LoadDataTask

首先检查此链接上方的任何数据?不工作您可以通过转到mockable.io并为您的请求设置模拟响应来为该webservice api创建模拟,只需创建一个帐户,使用json响应设置url运行它,然后您可以粘贴url并将其替换为“cgi.soic.indiana.edu/~team19/home\u page\u no\u mood.php”我们尝试用这个可模拟的链接替换php链接,但没有显示任何错误。在上面添加logcat。谢谢!我在后面添加了一个变体,并将其移动到正确的位置。新建HomePageActivity().execute();现在,我的代码运行完毕,显示一个空白列表视图,但屏幕上显示else错误:“无法从服务器获取json。请检查LogCat以了解可能的错误!”
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="@dimen/activity_horizontal_margin">

        <TextView
            android:id="@+id/username"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="@color/colorPrimaryDark"
            android:textSize="16sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/email"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:textColor="@color/colorAccent" />

        <TextView
            android:id="@+id/age"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#5d5d5d"
            android:textStyle="bold" />
    </LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <include layout="@layout/app_bar"

        />


    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:theme="?attr/actionBarTheme"
        android:minHeight="?attr/actionBarSize"
        android:id="@+id/bottomMenu"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/ic_facilities"
        android:id="@+id/facilitiesIcon"
        android:background="@null"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_alignTop="@+id/bottomMenu"
        android:onClick="facilitiesHome" />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/ic_trackers"
        android:layout_marginLeft="34dp"
        android:layout_marginStart="34dp"
        android:id="@+id/trackersIcon"
        android:background="@null"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignTop="@+id/bottomMenu"
        android:onClick="trackersHome" />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/ic_activities"
        android:layout_marginRight="34dp"
        android:layout_marginEnd="34dp"
        android:id="@+id/activitiesIcon"
        android:background="@null"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignTop="@+id/bottomMenu"
        android:onClick="activitiesHome" />

    <Button
        android:text="NEW ENTRY"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/bNewEntry"
        android:backgroundTint="#69f0ae"
        android:onClick="newEntry"
        android:layout_above="@+id/bottomMenu"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <Button
        android:text="recommended activities"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button2"
        android:layout_above="@+id/bNewEntry"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />



    <ListView
        android:id="@+id/databaseItems"
        android:inputType="textNoSuggestions"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/button2"
        android:layout_centerHorizontal="true" />


</RelativeLayout>
package com.example.marlo.myapplication;

import android.util.Log;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;

/**
 * Created by MARLO on 3/21/17.
 */

public class HttpHandler {

    private static final String TAG = HttpHandler.class.getSimpleName();

    public HttpHandler() {
    }

    public String makeServiceCall(String reqUrl) {
        String response = null;
        try {
            URL url = new URL(reqUrl);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            // read the response
            InputStream in = new BufferedInputStream(conn.getInputStream());
            response = convertStreamToString(in);
        } catch (MalformedURLException e) {
            Log.e(TAG, "MalformedURLException: " + e.getMessage());
        } catch (ProtocolException e) {
            Log.e(TAG, "ProtocolException: " + e.getMessage());
        } catch (IOException e) {
            Log.e(TAG, "IOException: " + e.getMessage());
        } catch (Exception e) {
            Log.e(TAG, "Exception: " + e.getMessage());
        }
        return response;
    }

    private String convertStreamToString(InputStream is) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();

        String line;
        try {
            while ((line = reader.readLine()) != null) {
                sb.append(line).append('\n');
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return sb.toString();
    }
}
<?php

    $con = mysqli_connect("db.soic.indiana.edu", "caps16_team19", "capstoneteam19", "caps16_team19");
    if (mysqli_connect_errno($con))
{
    echo '{"query_result":"ERROR"}';
}

    $accountid = $_GET["acid"]

    $statement = mysqli_query($con, "SELECT a.username, a.email, a.dob, a.sex, a.hobbies, a.interests FROM account AS a WHERE a.acid = (SELECT max(a.acid))");

    $rows = '{"userdata": "["}';
    if($statement->num_rows > 0) {
    while($row = mysqli_fetch_array($statement))
    {
        $rows = $row;
    }
    } else {
        echo '{"query_result":"FAILURE"}';
    }
    $rows = '{"]"}';

    echo json_encode($rows);

?>
     //new HomePageActivity(this).execute();