Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.myapplication;
- import android.annotation.SuppressLint;
- import android.app.ProgressDialog;
- import android.content.Context;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.*;
- import androidx.appcompat.app.AppCompatActivity;
- import java.io.PrintWriter;
- import java.io.StringWriter;
- import java.io.Writer;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.List;
- public class MainActivity extends AppCompatActivity {
- private ArrayList<ClassListItems> itemArrayList; //List items Array
- private MyAppAdapter myAppAdapter; //Array Adapter
- private GridView gridView; // GridView
- private boolean success = false; // boolean
- private ConnectionClass connectionClass; //Connection Class Variable
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- gridView = (GridView) findViewById(R.id.gridView); //GridView Declaration
- connectionClass = new ConnectionClass(); // Connection Class Initialization
- itemArrayList = new ArrayList<ClassListItems>(); // Arraylist Initialization
- // Calling Async Task
- SyncData orderData = new SyncData();
- orderData.execute("");
- }
- // Async Task has three overrided methods,
- private class SyncData extends AsyncTask<String, String, String>
- {
- String msg = "Internet/DB_Credentials/Windows_FireWall_TurnOn Error, See Android Monitor in the bottom For details!";
- ProgressDialog progress;
- @Override
- protected void onPreExecute() //Starts the progress dailog
- {
- progress = ProgressDialog.show(MainActivity.this, "Подключение к серверу",
- "Тыг тыгыдык тыгыдык", true);
- }
- @Override
- protected String doInBackground(String... strings) // Connect to the database, write query and add items to array list
- {
- try
- {
- Connection conn = connectionClass.CONN(); //Connection Object
- if (conn == null)
- {
- success = false;
- }
- else {
- // Change below query according to your own database.
- String query = "SELECT Параметры, Цена2 FROM Товар";
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(query);
- if (rs != null) // if resultset not null, I add items to itemArraylist using class created
- {
- while (rs.next())
- {
- try {
- itemArrayList.add(new ClassListItems(rs.getString("Параметры"),rs.getString("Цена2")));
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- msg = "Готово!";
- success = true;
- } else {
- msg = "Нет соединение";
- success = false;
- }
- }
- } catch (Exception e)
- {
- e.printStackTrace();
- Writer writer = new StringWriter();
- e.printStackTrace(new PrintWriter(writer));
- msg = writer.toString();
- success = false;
- }
- return msg;
- }
- @Override
- protected void onPostExecute(String msg) // disimissing progress dialoge, showing error and setting up my GridView
- {
- progress.dismiss();
- Toast.makeText(MainActivity.this, msg + "", Toast.LENGTH_LONG).show();
- if (success == false)
- {
- }
- else {
- try {
- myAppAdapter = new MyAppAdapter(itemArrayList, MainActivity.this);
- gridView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE);
- gridView.setAdapter(myAppAdapter);
- } catch (Exception ex)
- {
- }
- }
- }
- }
- public class MyAppAdapter extends BaseAdapter //has a class viewholder which holds
- {
- public class ViewHolder
- {
- TextView textName;
- ImageView imageView;
- }
- public List<ClassListItems> parkingList;
- public Context context;
- ArrayList<ClassListItems> arraylist;
- private MyAppAdapter(List<ClassListItems> apps, Context context)
- {
- this.parkingList = apps;
- this.context = context;
- arraylist = new ArrayList<ClassListItems>();
- arraylist.addAll(parkingList);
- }
- @Override
- public int getCount() {
- return parkingList.size();
- }
- @Override
- public Object getItem(int position) {
- return position;
- }
- @Override
- public long getItemId(int position) {
- return position;
- }
- @SuppressLint("SetTextI18n")
- @Override
- public View getView(final int position, View convertView, ViewGroup parent) // inflating the layout and initializing widgets
- {
- View rowView = convertView;
- ViewHolder viewHolder= null;
- if (rowView == null)
- {
- LayoutInflater inflater = getLayoutInflater();
- rowView = inflater.inflate(R.layout.list_content, parent, false);
- viewHolder = new ViewHolder();
- viewHolder.textName = (TextView) rowView.findViewById(R.id.textName);
- viewHolder.imageView = (ImageView) rowView.findViewById(R.id.imageView);
- rowView.setTag(viewHolder);
- }
- else
- {
- viewHolder = (ViewHolder) convertView.getTag();
- }
- // here setting up names and images
- viewHolder.textName.setText(parkingList.get(position).getName()+"");
- return rowView;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement