Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.49 KB | None | 0 0
  1. package com.example.myapplication;
  2.  
  3. import android.annotation.SuppressLint;
  4. import android.app.ProgressDialog;
  5. import android.content.Context;
  6. import android.os.AsyncTask;
  7. import android.os.Bundle;
  8. import android.view.LayoutInflater;
  9. import android.view.View;
  10. import android.view.ViewGroup;
  11. import android.widget.*;
  12. import androidx.appcompat.app.AppCompatActivity;
  13.  
  14. import java.io.PrintWriter;
  15. import java.io.StringWriter;
  16. import java.io.Writer;
  17. import java.sql.Connection;
  18. import java.sql.ResultSet;
  19. import java.sql.Statement;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22.  
  23. public class MainActivity extends AppCompatActivity {
  24.  
  25. private ArrayList<ClassListItems> itemArrayList; //List items Array
  26. private MyAppAdapter myAppAdapter; //Array Adapter
  27. private GridView gridView; // GridView
  28. private boolean success = false; // boolean
  29. private ConnectionClass connectionClass; //Connection Class Variable
  30. @Override
  31. protected void onCreate(Bundle savedInstanceState) {
  32. super.onCreate(savedInstanceState);
  33. setContentView(R.layout.activity_main);
  34.  
  35. gridView = (GridView) findViewById(R.id.gridView); //GridView Declaration
  36. connectionClass = new ConnectionClass(); // Connection Class Initialization
  37. itemArrayList = new ArrayList<ClassListItems>(); // Arraylist Initialization
  38.  
  39. // Calling Async Task
  40. SyncData orderData = new SyncData();
  41. orderData.execute("");
  42. }
  43.  
  44. // Async Task has three overrided methods,
  45. private class SyncData extends AsyncTask<String, String, String>
  46. {
  47. String msg = "Internet/DB_Credentials/Windows_FireWall_TurnOn Error, See Android Monitor in the bottom For details!";
  48. ProgressDialog progress;
  49.  
  50. @Override
  51. protected void onPreExecute() //Starts the progress dailog
  52. {
  53. progress = ProgressDialog.show(MainActivity.this, "Подключение к серверу",
  54. "Тыг тыгыдык тыгыдык", true);
  55. }
  56.  
  57. @Override
  58. protected String doInBackground(String... strings) // Connect to the database, write query and add items to array list
  59. {
  60. try
  61. {
  62. Connection conn = connectionClass.CONN(); //Connection Object
  63. if (conn == null)
  64. {
  65. success = false;
  66. }
  67. else {
  68. // Change below query according to your own database.
  69. String query = "SELECT Параметры, Цена2 FROM Товар";
  70. Statement stmt = conn.createStatement();
  71. ResultSet rs = stmt.executeQuery(query);
  72. if (rs != null) // if resultset not null, I add items to itemArraylist using class created
  73. {
  74. while (rs.next())
  75. {
  76. try {
  77. itemArrayList.add(new ClassListItems(rs.getString("Параметры"),rs.getString("Цена2")));
  78. } catch (Exception ex) {
  79. ex.printStackTrace();
  80. }
  81. }
  82. msg = "Готово!";
  83. success = true;
  84. } else {
  85. msg = "Нет соединение";
  86. success = false;
  87. }
  88. }
  89. } catch (Exception e)
  90. {
  91. e.printStackTrace();
  92. Writer writer = new StringWriter();
  93. e.printStackTrace(new PrintWriter(writer));
  94. msg = writer.toString();
  95. success = false;
  96. }
  97. return msg;
  98. }
  99.  
  100. @Override
  101. protected void onPostExecute(String msg) // disimissing progress dialoge, showing error and setting up my GridView
  102. {
  103. progress.dismiss();
  104. Toast.makeText(MainActivity.this, msg + "", Toast.LENGTH_LONG).show();
  105. if (success == false)
  106. {
  107. }
  108. else {
  109. try {
  110. myAppAdapter = new MyAppAdapter(itemArrayList, MainActivity.this);
  111. gridView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE);
  112. gridView.setAdapter(myAppAdapter);
  113. } catch (Exception ex)
  114. {
  115.  
  116. }
  117.  
  118. }
  119. }
  120. }
  121.  
  122. public class MyAppAdapter extends BaseAdapter //has a class viewholder which holds
  123. {
  124. public class ViewHolder
  125. {
  126. TextView textName;
  127. ImageView imageView;
  128. }
  129.  
  130. public List<ClassListItems> parkingList;
  131.  
  132. public Context context;
  133. ArrayList<ClassListItems> arraylist;
  134.  
  135. private MyAppAdapter(List<ClassListItems> apps, Context context)
  136. {
  137. this.parkingList = apps;
  138. this.context = context;
  139. arraylist = new ArrayList<ClassListItems>();
  140. arraylist.addAll(parkingList);
  141. }
  142.  
  143. @Override
  144. public int getCount() {
  145. return parkingList.size();
  146. }
  147.  
  148. @Override
  149. public Object getItem(int position) {
  150. return position;
  151. }
  152.  
  153. @Override
  154. public long getItemId(int position) {
  155. return position;
  156. }
  157.  
  158. @SuppressLint("SetTextI18n")
  159. @Override
  160. public View getView(final int position, View convertView, ViewGroup parent) // inflating the layout and initializing widgets
  161. {
  162.  
  163. View rowView = convertView;
  164. ViewHolder viewHolder= null;
  165. if (rowView == null)
  166. {
  167. LayoutInflater inflater = getLayoutInflater();
  168. rowView = inflater.inflate(R.layout.list_content, parent, false);
  169. viewHolder = new ViewHolder();
  170. viewHolder.textName = (TextView) rowView.findViewById(R.id.textName);
  171. viewHolder.imageView = (ImageView) rowView.findViewById(R.id.imageView);
  172. rowView.setTag(viewHolder);
  173. }
  174. else
  175. {
  176. viewHolder = (ViewHolder) convertView.getTag();
  177. }
  178. // here setting up names and images
  179. viewHolder.textName.setText(parkingList.get(position).getName()+"");
  180.  
  181. return rowView;
  182. }
  183. }
  184.  
  185. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement