Guest User

Untitled

a guest
Feb 10th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.08 KB | None | 0 0
  1. Main Activity
  2.  
  3. <?xml version="1.0" encoding="utf-8"?>
  4. <RelativeLayout
  5. xmlns:android="http://schemas.android.com/apk/res/android"
  6. xmlns:app="http://schemas.android.com/apk/res-auto"
  7. xmlns:tools="http://schemas.android.com/tools"
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent"
  10. android:orientation="vertical"
  11. android:background="#d1d1d1d1"
  12. tools:context="com.prueba.Buscador_Por_Fechas">
  13. <android.support.design.widget.AppBarLayout
  14. android:layout_width="match_parent"
  15. android:layout_height="wrap_content"
  16. android:theme="@style/AppTheme.AppBarOverlay"
  17. android:id="@+id/appBarLayout3">
  18. <android.support.v7.widget.Toolbar
  19. android:id="@+id/toolbar"
  20. android:layout_width="match_parent"
  21. android:layout_height="?attr/actionBarSize"
  22. android:background="?attr/colorPrimary"
  23. app:popupTheme="@style/AppTheme.PopupOverlay"
  24. />
  25. </android.support.design.widget.AppBarLayout>
  26.  
  27. <GridView
  28. android:id="@+id/txtGrid"
  29. android:layout_width="fill_parent"
  30. android:layout_height="357dp"
  31. android:layout_gravity="center"
  32. android:animationCache="true"
  33. android:isScrollContainer="false"
  34. android:numColumns="1"
  35. android:paddingBottom="6dp"
  36. android:paddingLeft="6dp"
  37. android:paddingRight="6dp"
  38. android:paddingTop="6dp"
  39. android:stretchMode="columnWidth"
  40. android:textFilterEnabled="false"
  41. android:verticalSpacing="6dp"
  42. tools:layout_editor_absoluteX="8dp"
  43. tools:layout_editor_absoluteY="8dp"
  44. android:layout_alignParentLeft="true"
  45. android:layout_alignParentStart="true"
  46. android:layout_alignParentBottom="true"
  47. android:layout_below="@+id/txtFec"></GridView>
  48.  
  49. <EditText
  50. android:id="@+id/txtFec"
  51. android:layout_width="match_parent"
  52. android:layout_height="40dp"
  53. android:layout_alignParentLeft="true"
  54. android:layout_alignParentStart="true"
  55. android:layout_below="@+id/appBarLayout3"
  56. android:hint="Ingrese Fecha de Búsqueda"
  57. android:onClick="mostrarCalendario"
  58. android:singleLine="true" />
  59. </RelativeLayout>
  60.  
  61. Items
  62.  
  63. <?xml version="1.0" encoding="utf-8"?>
  64. <RelativeLayout
  65. xmlns:android="http://schemas.android.com/apk/res/android"
  66. xmlns:app="http://schemas.android.com/apk/res-auto"
  67. xmlns:tools="http://schemas.android.com/tools"
  68. android:orientation="vertical"
  69. android:layout_width="match_parent"
  70. android:layout_height="match_parent"
  71. android:gravity="center"
  72. android:background="@color/colorTexto"
  73. android:paddingBottom="4dp"
  74. android:paddingLeft="4dp"
  75. android:paddingRight="4dp"
  76. android:paddingTop="4dp"
  77. android:weightSum="1">
  78.  
  79. <TextView
  80. android:id="@+id/txtHs_Salida"
  81. android:layout_width="fill_parent"
  82. android:layout_height="30dp"
  83. android:background="@android:color/holo_green_light"
  84. android:gravity="center"
  85. android:text="Sorteo 00:00 XX"
  86. android:textAppearance="@style/TextAppearance.AppCompat"
  87. android:textColor="@color/colorTexto"
  88. android:textSize="22dp"
  89. android:textStyle="bold"
  90. tools:ignore="HardcodedText,SpUsage"
  91. android:layout_below="@+id/txtFecha"
  92. android:layout_alignParentLeft="true"
  93. android:layout_alignParentStart="true" />
  94.  
  95. <TextView
  96. android:id="@+id/txtRs_Bus"
  97. android:layout_width="fill_parent"
  98. android:layout_height="100dp"
  99. android:gravity="center"
  100. android:text="Resultado"
  101. android:textAppearance="@style/TextAppearance.AppCompat"
  102. android:textSize="22dp"
  103. tools:ignore="HardcodedText,SpUsage"
  104. android:layout_alignTop="@+id/txtImg"
  105. android:layout_alignParentLeft="true"
  106. android:layout_alignParentStart="true"
  107. android:layout_toLeftOf="@+id/txtImg"
  108. android:layout_toStartOf="@+id/txtImg" />
  109.  
  110. <ImageView
  111. android:id="@+id/txtImg"
  112. android:layout_width="100dp"
  113. android:layout_height="100dp"
  114. app:srcCompat="@drawable/icon"
  115. tools:ignore="ContentDescription,RtlHardcoded"
  116. android:layout_marginTop="13dp"
  117. android:layout_below="@+id/txtHs_Salida"
  118. android:layout_alignParentRight="true"
  119. android:layout_alignParentEnd="true"
  120. android:layout_marginRight="15dp"
  121. android:layout_marginEnd="15dp" />
  122.  
  123. <TextView
  124. android:id="@+id/txtFecha"
  125. android:layout_width="fill_parent"
  126. android:layout_height="30dp"
  127. android:gravity="center"
  128. android:text="00/00/0000"
  129. android:textAppearance="@style/TextAppearance.AppCompat"
  130. android:textSize="16dp"
  131. android:layout_alignParentTop="true"
  132. android:layout_alignParentLeft="true"
  133. android:layout_alignParentStart="true" />
  134. </RelativeLayout>
  135.  
  136. Java
  137.  
  138.  
  139. import android.app.AlertDialog;
  140. import android.app.DatePickerDialog;
  141. import android.app.Dialog;
  142. import android.app.DialogFragment;
  143. import android.app.ProgressDialog;
  144. import android.content.Context;
  145. import android.os.AsyncTask;
  146. import android.os.Bundle;
  147. import android.support.v7.app.ActionBar;
  148. import android.support.v7.app.AppCompatActivity;
  149. import android.support.v7.widget.Toolbar;
  150. import android.view.LayoutInflater;
  151. import android.view.View;
  152. import android.view.ViewGroup;
  153. import android.widget.BaseAdapter;
  154. import android.widget.DatePicker;
  155. import android.widget.EditText;
  156. import android.widget.GridView;
  157. import android.widget.ImageView;
  158. import android.widget.TextView;
  159. import android.widget.Toast;
  160. import com.squareup.picasso.Picasso;
  161. import java.io.PrintWriter;
  162. import java.io.StringWriter;
  163. import java.io.Writer;
  164. import java.sql.Connection;
  165. import java.sql.DriverManager;
  166. import java.sql.ResultSet;
  167. import java.sql.Statement;
  168. import java.text.DateFormat;
  169. import java.text.SimpleDateFormat;
  170. import java.util.ArrayList;
  171. import java.util.Calendar;
  172. import java.util.Date;
  173. import java.util.List;
  174. import java.util.Locale;
  175.  
  176. public class Buscador_Por_Fechas extends AppCompatActivity {
  177.  
  178. private int año;
  179. private int mes;
  180. private int dia;
  181. EditText txtFec;
  182. private static final int TIPO_DIALOGO =0;
  183. private static DatePickerDialog.OnDateSetListener sFecha;
  184.  
  185. private ArrayList<E2_Lista> itemArrayList;
  186. private Buscador_Por_Fechas.MyAppAdapter myAppAdapter;
  187. private GridView txtGrid;
  188. private boolean success= false;
  189.  
  190. private static final String DB_URL = "jdbc:mysql:// ";
  191. private static final String USER = "";
  192. private static final String PASS = "";
  193.  
  194. @Override
  195. protected void onCreate(Bundle savedInstanceState) {
  196. super.onCreate(savedInstanceState);
  197. setContentView(R.layout.buscador_por_fechas);
  198. txtGrid = (GridView) findViewById(R.id.txtGrid);
  199.  
  200. txtFec = (EditText) findViewById(R.id.txtFec);
  201.  
  202. Calendar calendario = Calendar.getInstance();
  203. año = calendario.get(Calendar.YEAR);
  204. mes = calendario.get(Calendar.MONTH);
  205. dia = calendario.get(Calendar.DAY_OF_MONTH);
  206.  
  207. sFecha= new DatePickerDialog.OnDateSetListener(){
  208. @Override
  209. public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
  210. año = year;
  211. mes = monthOfYear;
  212. dia = dayOfMonth;
  213. mostrarFecha();
  214. }
  215. };
  216.  
  217. itemArrayList = new ArrayList<E2_Lista>();
  218. Buscador_Por_Fechas.SyncData orderData = new Buscador_Por_Fechas.SyncData();
  219. orderData.execute("");
  220. Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  221. setSupportActionBar(toolbar);
  222. ActionBar actionBar = getSupportActionBar();
  223. actionBar.setDisplayHomeAsUpEnabled(true);
  224. }
  225.  
  226. @Override
  227. protected Dialog onCreateDialog(int id){
  228. switch (id){
  229. case 0:
  230. return new DatePickerDialog(this, sFecha, año, mes, dia);
  231. }
  232. return null;
  233. }
  234.  
  235. public void mostrarCalendario(View control){
  236. showDialog(TIPO_DIALOGO);
  237. }
  238.  
  239. public void mostrarFecha(){
  240. txtFec.setText(año+"-"+twoDigits(mes+1)+"-"+twoDigits(dia));
  241. Buscador_Por_Fechas.SyncData orderData = new Buscador_Por_Fechas.SyncData();
  242. orderData.execute("");
  243. }
  244.  
  245. private String twoDigits(int n) {
  246. return (n<=9) ? ("0"+n) : String.valueOf(n);
  247. }
  248.  
  249. private class SyncData extends AsyncTask<String, String, String>
  250. {
  251. String msg = "Internet/DB Credentials/Windows FireWall, Error!";
  252. ProgressDialog progress;
  253.  
  254. @Override
  255. protected void onPreExecute()
  256. {
  257. progress = ProgressDialog.show(Buscador_Por_Fechas.this, "Cargando Resultados!","Por Favor Esperen...", true);
  258. }
  259.  
  260. @Override
  261. protected String doInBackground(String... strings)
  262. {
  263. try
  264. {
  265. Class.forName("com.mysql.jdbc.Driver");
  266. Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); //Connection Object
  267. if (conn == null) {
  268. success = false;
  269. }
  270. else{
  271. final String txtFec=getIntent().getStringExtra("C.res_fec");
  272. String query = " select hora, bus, imgurl, fecha from rutas where fecha = '"+txtFec+" ' ";
  273. Statement stmt = conn.createStatement();
  274. ResultSet rs = stmt.executeQuery(query);
  275. if (rs != null)
  276. {
  277. while (rs.next())
  278. {
  279. try{
  280. itemArrayList.add(
  281. new E2_Lista(
  282. rs.getString("hora"),
  283. rs.getString("bus"),
  284. rs.getString("imgurl"),
  285. rs.getString("fecha")));
  286. }catch (Exception ex){
  287. ex.printStackTrace();
  288. }
  289. }
  290. msg = "";
  291. success = true;
  292. }else{
  293. msg ="";
  294. success = false;
  295. }
  296. rs.close();
  297. stmt.close();
  298. conn.close();
  299. }
  300. conn.close();
  301. }catch (Exception e)
  302. {
  303. e.printStackTrace();
  304. Writer writer = new StringWriter();
  305. e.printStackTrace(new PrintWriter(writer));
  306. msg = writer.toString();
  307. success = false;
  308. }
  309. return msg;
  310. }
  311.  
  312. @Override
  313. protected void onPostExecute(String msg)
  314. {
  315. progress.dismiss();
  316. Toast.makeText(Buscador_Por_Fechas.this, msg + "", Toast.LENGTH_LONG).show();
  317. if(success == false)
  318. {
  319. }
  320. else{
  321. try{
  322. myAppAdapter = new Buscador_Por_Fechas.MyAppAdapter(itemArrayList, Buscador_Por_Fechas.this);
  323. txtGrid.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE);
  324. txtGrid.setAdapter(myAppAdapter);
  325. }catch (Exception ex)
  326. {
  327. }
  328. }
  329. }
  330. }
  331.  
  332. public class MyAppAdapter extends BaseAdapter
  333. {
  334. public class ViewHolder
  335. {
  336. TextView txtHs_Salida;
  337. TextView txtRs_Bus;
  338. ImageView txtImg;
  339. TextView txtFecha;
  340.  
  341. }
  342. public List<E2_Lista> rutList;
  343.  
  344. public Context contex;
  345. ArrayList<E2_Lista> arrayList;
  346.  
  347. private MyAppAdapter(List<E2_Lista> apps, Context context)
  348. {
  349. this. rutList = apps;
  350. this.contex = context;
  351. arrayList = new ArrayList<E2_Lista>();
  352. arrayList.addAll(rutList);
  353. }
  354.  
  355. @Override
  356. public int getCount(){return rutList.size();}
  357.  
  358. @Override
  359. public Object getItem(int position){return animtradList.get(position);}
  360.  
  361. @Override
  362. public long getItemId(int position){return 0;}
  363.  
  364. @Override
  365. public View getView(final int position, View convertView, ViewGroup parent)
  366. {
  367. View rowView = convertView;
  368. Buscador_Por_Fechas.MyAppAdapter.ViewHolder viewHolder= null;
  369. if (rowView == null)
  370. {
  371. LayoutInflater inflater = getLayoutInflater();
  372. rowView = inflater.inflate(R.layout.items, parent, false);
  373. viewHolder = new Buscador_Por_Fechas.MyAppAdapter.ViewHolder();
  374. viewHolder.txtHs_Salida= (TextView) rowView.findViewById(R.id.txtHs_Salida);
  375. viewHolder.txtRs_Bus= (TextView) rowView.findViewById(R.id.txtRs_Bus);
  376. viewHolder.txtImg= (ImageView) rowView.findViewById(R.id.txtImg);
  377. viewHolder.txtFecha= (TextView) rowView.findViewById(R.id.txtFecha);
  378. rowView.setTag(viewHolder);
  379. }
  380. else
  381. {
  382. viewHolder = (Buscador_Por_Fechas.MyAppAdapter.ViewHolder) convertView.getTag();
  383. }
  384. viewHolder.txtHs_Salida.setText(animtradList.get(position).getHs_Salida());
  385. viewHolder.txtRs_Bus.setText(animtradList.get(position).getRs_Bus());
  386. Picasso.with(contex).load("http://"+ rutList.get(position).getImgUrl()).into(viewHolder.txtImg);
  387. Picasso.with(contex).load("http://"+ rutList.get(position).getImgUrl()).error(R.drawable.error).into(viewHolder.txtImg);
  388. viewHolder.txtFecha.setText(rutList.get(position).getFecha());
  389. return rowView;
  390. }
  391. }
  392. }
  393.  
  394. Clase E2_Lista
  395.  
  396. public class E2_Lista {
  397. public String txtHs_Salida;
  398. public String txtRs_Bus;
  399. public String txtImg;
  400. public String txtFecha;
  401.  
  402. public E2_Lista() {
  403. }
  404.  
  405. public E2_Lista(
  406. String Hs_Salida,
  407. String Rs_Bus,
  408. String ImgUrl,
  409. String Fecha
  410. ) {
  411.  
  412. this.txtHs_Salida = Hs_Salida;
  413. this.txtRs_Bus = Rs_Bus;
  414. this.txtImg = ImgUrl;
  415. this.txtFecha = Fecha;
  416. }
  417.  
  418. public String getHs_Salida () {return txtHs_Salida;}
  419.  
  420.  
  421. public String getRs_Bus() {return txtRs_Bus;}
  422.  
  423.  
  424. public String getImgUrl() {return txtImg;}
  425.  
  426.  
  427. public String getFecha() {return txtFecha;}
  428.  
  429. }
Add Comment
Please, Sign In to add comment