ListView используя залп - PullRequest
       15

ListView используя залп

0 голосов
/ 01 июня 2018

Я пытаюсь подключить SQL Server к Android Studio с помощью JSON вот мой код.У меня нет ошибок на Android Studio, но при тестировании я получил сообщение об ошибке «Ошибка подключения» на моем телефоне.Как я могу решить эту проблему?

MainActivity

List<RowItem> rowItems=new ArrayList<RowItem>();
ListView mylistview;
private CustomAdapter adapter;
JSONArray peoples = null;

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

public void subject(){
    String url = "http://myIP-Here/MSSQL/client.php";
    StringRequest stringRequest = new StringRequest(Request.Method.GET, url,new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {

                    Log.d("************", response);
                    Toast.makeText(MainActivity.this, response, Toast.LENGTH_SHORT).show();
                    Log.d("response",response);

                    try {

                        JSONObject jsonObj = new JSONObject(response);
                        peoples = jsonObj.getJSONArray("json");
                        mylistview = (ListView)findViewById(R.id.list);

                        adapter = new CustomAdapter(MainActivity.this, rowItems);

                        mylistview.setAdapter(adapter);
                        for(int i=0;i<peoples.length();i++) {
                            JSONObject c = peoples.getJSONObject(i);

                            RowItem goodsItems = new  RowItem();
                            goodsItems.setItem_id(c.getInt("item_id"));
                           goodsItems.setItem_name(c.getString("item_name"));



                            rowItems.add(goodsItems);

                            mylistview.setOnItemClickListener(MainActivity.this);
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            },
            new Response.ErrorListener() {
                public void onErrorResponse(VolleyError error) {
                    Toast.makeText(MainActivity.this, "Error in connection", Toast.LENGTH_SHORT).show();
                    Log.i("response","error");
                }
            }){
        @Override
        protected Map<String, String> getParams() {
            Map<String, String> params = new HashMap<>();
            //params.put("UserEmail", get_email);
            return params;
        }
    };

    RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
    requestQueue.add(stringRequest);
}

CustomAdapter

public class CustomAdapter extends BaseAdapter {

private Activity activity;
private LayoutInflater inflater;
private  List<RowItem> rowItems;
Typeface font;


public CustomAdapter(Activity activity, List<RowItem> rowItems) {
    this.activity = activity;
    this.rowItems =rowItems;
}

Context context;
public CustomAdapter(Context context){
    this.context=context;
}

@Override
public int getCount() {
    return rowItems.size();
}

@Override
public Object getItem(int location) {
    return rowItems.get(location);
}

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

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    if (inflater == null)
        inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    if (convertView == null)
        convertView = inflater.inflate(R.layout.list_item, null);

    TextView item_id = (TextView) convertView.findViewById(R.id.item_id);
    TextView item_name = (TextView) convertView.findViewById(R.id.item_name);
 //   ImageView image = (ImageView) convertView.findViewById(R.id.imView);

    final RowItem m = rowItems.get(position);

   // Picasso.with(activity)
     //       .load(m.get_image())
       //     .resize(300, 300)
         //   .into(image);
  item_id.setText(m.getItem_id());
    item_name.setText(m.getItem_name());
    return convertView;
}
public void clearAdapter()
{
    rowItems.clear();
    notifyDataSetChanged();
}

}

RowItem

public class RowItem {
public int  item_id;
public String  item_name;
public int img;

public RowItem(){
   this.item_id=item_id;
    this.item_name=item_name;}
  public int   getItem_id() {return item_id;}
public void setItem_id(int item_id) { this.item_id=item_id; }

public String  getItem_name() {return item_name;}
public void setItem_name(String item_name) { this.item_name=item_name; }

У меня также есть фотографии в моей базе данных sql, хранящиеся в виде varbinary (MAX), которые я хочу отобразить в моем listView, мне действительно нужна ваша помощь.

1 Ответ

0 голосов
/ 01 июня 2018

Попробуйте!

  1. Убедитесь, что ваше устройство подключено к Интернету, который отправляет запрос на сервер и в ту же сеть при тестировании в сети LAN.

  2. Убедитесь, что вы отключили брандмауэр сервера, если вы подключены к локальной сети.

  3. Проверьте URL-адрес, на который вы отправляете запрос.

...