Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.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 在Android应用程序上访问外部数据库_Java_Android_Json_Listview - Fatal编程技术网

Java 在Android应用程序上访问外部数据库

Java 在Android应用程序上访问外部数据库,java,android,json,listview,Java,Android,Json,Listview,我正在访问一个外部数据库(000webhost),用于获取应用程序中的电子邮件地址并将其打印到列表视图中。我从正在logcat中打印的服务器得到正确的响应,但我得到了空指针异常。 这就是我的logcat的样子: 05-11 16:00:39.891 24149-24914/info.androidhive.loginandregistration E/Entity Response:﹕ {"email":[{"email":"adeel@gmail.com"},{"email":"yamini

我正在访问一个外部数据库(000webhost),用于获取应用程序中的电子邮件地址并将其打印到
列表视图中。我从正在logcat中打印的服务器得到正确的响应,但我得到了
空指针异常
。 这就是我的logcat的样子:

05-11 16:00:39.891  24149-24914/info.androidhive.loginandregistration E/Entity Response:﹕ {"email":[{"email":"adeel@gmail.com"},{"email":"yamini@gmail.com"},{"email":"mona@gmail.com"}]}{"tag":"DisplayFriends","error":true,"error_msg":"Unknown 'tag' value. It should be either 'login' or 'register'"}
<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->
 05-11 16:00:39.895  24149-24149/info.androidhive.loginandregistration    D/AndroidRuntime﹕ Shutting down VM
 05-11 16:00:39.898  24149-24149/info.androidhive.loginandregistration  E/AndroidRuntime﹕ FATAL EXCEPTION: main
   Process: info.androidhive.loginandregistration, PID: 24149
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference
            at info.androidhive.loginandregistration.FriendsList.setListAdapter(FriendsList.java:55)
        at info.androidhive.loginandregistration.FriendsList$GetAllCustomerTask.onPostExecute(FriendsList.java:74)
        at info.androidhive.loginandregistration.FriendsList$GetAllCustomerTask.onPostExecute(FriendsList.java:60)
        at android.os.AsyncTask.finish(AsyncTask.java:636)
        at android.os.AsyncTask.access$500(AsyncTask.java:177)
        at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5254)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
我是Android新手。如果有人能帮我找到代码中的错误,那就太好了

每当程序运行时,都会引发NullPointerException 尝试将null用作真实引用

因此,错误不在于从任何托管数据的地方获取数据。这是因为您试图使用的变量为空。
您已经完成了这个
私有JSONArray JSONArrayvariable=newvariable-type()也可以分配内存<请检查上面的部分并用谷歌搜索一下。获取数据时没有错误,当您尝试对数据进行处理时会发生错误。

您只需声明如下所示的变量

private ListView listViewFriends;
 private JSONArray jsonArray;
但这还不够。
您还需要在代码中定义它们。

谢谢您的回复。!!我的问题解决了,我在setContentView()中传递了一个错误的参数。
   public class FriendsList extends Activity {

 private ListView listViewFriends;
 private JSONArray jsonArray;



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

    this.listViewFriends=(ListView)this.findViewById(R.id.listViewFriends);

    new GetAllCustomerTask().execute(new ApiConnector());




 }
void setListAdapter(JSONArray jsonArray)
 {
 //this.jsonArray=jsonArray;
  this.listViewFriends.setAdapter(new GetAllFriendsListViewAdapter(jsonArray,this));
}



private class GetAllCustomerTask extends AsyncTask<ApiConnector,Long,JSONArray>
{
    @Override
    protected JSONArray doInBackground(ApiConnector... params) {

        // it is executed on Background thread

        return params[0].GetAllCustomers();
    }

    @Override
    protected void onPostExecute(JSONArray jsonArray)
    {

        setListAdapter(jsonArray);

    }
    }
    }
  public class GetAllFriendsListViewAdapter extends BaseAdapter
 {
   private JSONArray dataArray;
   private Activity activity;
  private static LayoutInflater inflater= null;


  public GetAllFriendsListViewAdapter(JSONArray jsonArray, Activity a)
  {
    this.activity=a;
    this.dataArray=jsonArray;
    inflater=     (LayoutInflater)this.activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

   }
   @Override
  public int getCount()
   {
    return this.dataArray.length();

   }

   @Override
   public Object getItem(int position)
  {
    return position;

    }

    @Override
   public long getItemId(int position) {
      return position;
   }

   @Override
   public View getView(int position, View convertView, ViewGroup parent)
    {
    ListCell cell;
    if(convertView==null)
    {
        convertView=inflater.inflate(R.layout.item_layout,null);
        cell=new ListCell();
        cell.email=(TextView)convertView.findViewById(R.id.textViewFriends);

       convertView.setTag(cell);

    }
    else
    {
            cell=(ListCell)convertView.getTag();
    }
    try
    {
        JSONObject jsonObject = this.dataArray.getJSONObject(position);
        cell.email.setText(" "+jsonObject.getString("email"));
    }
    catch(JSONException e)
    {
       e.printStackTrace();
    }
    return convertView;
}


private class ListCell
{
    private TextView email;
}

}
private ListView listViewFriends;
 private JSONArray jsonArray;