Vamos a intentar explicar este pequeño
trozo de código de la función Fbuscar. Lo primero es coger el texto del municipio a buscar y cambiarlo a mayúsculas . miclave=Mclave.getText().toString(); miclave=miclave.toUpperCase(); Mclave.setText(miclave); Utilizamos try para manejar los error de abrir ficheros. Abrimos el fichero y utilizamos un buffer para aumentar la velocidad de acceso al fichero. ISentrada=getResources().openRawResource(R.raw.municipios0); BFentrada=new BufferedReader(new InputStreamReader(ISentrada)); Leemos una por una todas las líneas del fichero. Troceamos cada línea separando por el carácter ":" . Si la segunda cadena que ha salido del troceo contiene la cadena a buscar miclave , se para la busqueda y se muestra. while ((Sentrada=BFentrada.readLine()) != null) { String SentradaT[]= Sentrada.split(":"); if(SentradaT[2].contains(miclave)) {Mostrar(); break;} } |
public void
Fbuscar(View view) { miclave=Mclave.getText().toString(); miclave=miclave.toUpperCase(); Mclave.setText(miclave); Contar(); try { if(ISentrada != null) ISentrada.close(); ISentrada=getResources().openRawResource(R.raw.municipios0); BFentrada=new BufferedReader(new InputStreamReader(ISentrada)); while ((Sentrada=BFentrada.readLine()) != null) { String SentradaT[]= Sentrada.split(":"); if(SentradaT[2].contains(miclave)) {Mostrar(); break;} } } catch (IOException e) { Log.e("Municipios->",e.getMessage(),e); } } |