1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como usar sharedpreferences no android

Bom dia Pessoal estou com o seguinte problema.... estou criando um app android onde pra usar o mesmo e necessario login e senha que sera verificada em um web service em php segue o seguinte codigo.

<?php

mysql_connect('localhost','aa','aaa');
mysql_select_db('bd') or die (mysql_error());

$username = $_GET['r'];
$password = $_GET['u'];



$result = mysql_query("SELECT * FROM Tab_Config where Login='$username' and Senha='$password'");
$row = mysql_fetch_array($result);

if(mysql_num_rows($result)>0)
{
    echo $row['Cod_Empresa'];


}
else{
echo "";
}

//mysql_close();

?>

dentro desse pho eu queria ja guarda o codigo da empresa que estiver logando

apos a verificacao eu entro no proximo detalhe la no android apos a confirmacao eu entro em uma segunda tela onde existe um listview.. nesse listview tem que ser exibido as empresas que este usuario possui.... e ai que esta o problema.... eu criei um select em php que deveria retornar as empresas para o listView... segue abaixo o php ..

<?php

mysql_connect('localhost','aa','aa');
mysql_select_db('bd') or die (mysql_error());
$username = $_GET['ce'];
echo $_GET['ce'];

$result = mysql_query( "SELECT  UC, Instalacao, Nome_Logo FROM Tab_UC 
where Cod_Empresa = '".$username."'") or die('Could not query');

 for($rows = array(); $row = mysql_fetch_object($result); $rows[] = $row);
 {
    echo json_encode($rows);    
 } 

?>

porem guando esse select retorna ele me retorna todas as empresas cadastradas no banco de dados e não apenas os dados do usuario logado .... sei que tenho que usar no android o sharedpreferences para armazenar o codigo da empresa.. mas não sei como fazer sera que alguem pode me ajudar... segue o programa android

//minha tela primaria 
public class Tela_de_Login extends AppCompatActivity {

    public static final String PREFS = "MinhaPreferencia";
    EditText edtlogin, edtsenha;
    Button btnentrar, btnlimpar, btnsair;


    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        final String TAG = this.getClass().getName();
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tela_de__login);

        edtlogin = (EditText) findViewById(R.id.edtlogin);
        edtsenha = (EditText) findViewById(R.id.edtsenha);
        btnentrar = (Button) findViewById(R.id.btnentrar);
        btnlimpar = (Button) findViewById(R.id.btnlimpar);
        btnsair = (Button) findViewById(R.id.btnsair);


        btnsair.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                AlertDialog.Builder builder = new AlertDialog.Builder(Tela_de_Login.this);
                builder.setTitle("Fechar aplicativo");
                builder.setMessage("Deseja realmente sair");
                builder.setPositiveButton("Sim", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int which) {
                        finish();

                    }
                });
                builder.setNegativeButton("Não", null);
                AlertDialog alertDialog = builder.create();
                alertDialog.show();

            }
        });

        // botao para limpar tela de login
        btnlimpar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                edtlogin.setText("");
                edtsenha.setText("");
            }
        });

    }
    private void salvarSharedPref(String login)
    {        // Declaração de um objeto sharedpreferences da instância de SharedPreferences
        SharedPreferences prefs =
                getSharedPreferences("MinhaPreferencia", Context.MODE_PRIVATE);

        // ulizando um editor para alterar Shared Preferences.
        SharedPreferences.Editor edit = prefs.edit();

        // salvando informações de acordo com o tipo
        edit.putString("USUARIO", edtlogin.getText().toString());
        // Grava efetivamente as alterações.
        edit.commit();
    }

    public void obtervalores (String usuario){
        SharedPreferences prefs = getSharedPreferences(PREFS, MODE_PRIVATE);
        String textoArmazenado = prefs.getString("text", null);
        if (textoArmazenado != null) {
            String username = prefs.getString("USUARIO", " ");
        }
    }

    public void btnentrarclick(View v)
    {
        AcessoLogin ac = new AcessoLogin(Tela_de_Login.this,
                edtlogin.getText().toString(),edtsenha.getText().toString());
        ac.execute("");
    }
}
//minha tela secundaria
public class Selecionar_Unidade extends AppCompatActivity {
    private String jsonResult;
    private String url = "http://192.168.0.116/Lunidades.php?ce=par1";
    private ListView ltsunidades;
    private ArrayList<Tab_UC> lista;
    public static final String PREFS = "MinhaPreferencia";


    Button btnsair;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_selecionar__unidade);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        btnsair = (Button) findViewById(R.id.btnsair);

        SharedPreferences prefs = getSharedPreferences(PREFS, MODE_PRIVATE);
        String username = prefs.getString("USUARIO", " ");


        accessWebService();


        btnsair.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                AlertDialog.Builder builder = new AlertDialog.Builder(Selecionar_Unidade.this);
                builder.setTitle("Fechar aplicativo");
                builder.setMessage("Deseja realmente sair");
                builder.setPositiveButton("Sim", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int which) {
                        finish();
                    }
                });
                builder.setNegativeButton("Não", null);
                AlertDialog alertDialog = builder.create();
                alertDialog.show();
            }
        });

    }

    // Async Task to access the web
    private class JsonReadTask extends AsyncTask<String, Void, String>
    {
        @Override
        protected String doInBackground(String... params)
        {
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost(params[0]);
            try
            {
                HttpResponse response = httpclient.execute(httppost);
                jsonResult = inputStreamToString(
                        response.getEntity().getContent()).toString();
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return jsonResult.toString();
        }

        private StringBuilder inputStreamToString(InputStream is)
        {
            String rLine = "";
            StringBuilder answer = new StringBuilder();
            BufferedReader rd = new BufferedReader(new InputStreamReader(is));

            try
            {
                while ((rLine = rd.readLine()) != null)
                {
                    answer.append(rLine);
                }
            } catch (IOException e)
            {
                //e.printStackTrace();
                Toast.makeText(getApplicationContext(),
                        "Error..." + e.toString(), Toast.LENGTH_LONG).show();
            }
            return answer;
        }// end inputstream

        @Override
        protected void onPostExecute(String result)
        {
           Log.i("TESTE", "" + result);

            //transformando em objeto
            Gson gson = new Gson();
            Type listType = new TypeToken<ArrayList<Tab_UC>>(){}.getType();
            lista = gson.fromJson(result,listType);

            Log.i("QTDE de itens", "" + lista.size());

            ltsunidades = (ListView)findViewById(R.id.ltsunidades);

            ArrayAdapter<Tab_UC> adapter = new ArrayAdapter<Tab_UC>(Selecionar_Unidade.this,android.R.layout.simple_list_item_1, lista);

            ltsunidades.setAdapter(adapter);

        }// end post execute

    }// end async task

    public void accessWebService()
    {
        JsonReadTask task = new JsonReadTask();
        // passes values for the urls string array
        task.execute(new String[]{url});
    }//end acesso web



}//end
//minha conexao 
public class Login {
    private static final String caminho = "http://192.168.0.116/""pagina usada"
    private static final String codempresa = "";
    private Context context;


    public static boolean autenticar(Context c, String usu, String senha)    {
        String caminho2 = caminho;
        caminho2 = caminho2.replace("par1", usu);
        caminho2 = caminho2.replace("par2", senha);

        try {
            URL url = new URL(caminho2);

            Log.i("url Login", url.toString());

            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            try {
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                StringBuilder stringBuilder = new StringBuilder();
                String line;
                while ((line = bufferedReader.readLine()) != null) {
                    stringBuilder.append(line).append("\n");
                }
                bufferedReader.close();

                Log.i("retorno", stringBuilder.toString());
                if(stringBuilder.toString().trim().equals("") ) {
                    return false;
                }
                else {

                    return true;
                }

            } finally {
                urlConnection.disconnect();
            }
        }
        catch(Exception e) {
            Log.e("ERROR", e.getMessage(), e);
            return false;
        }
    }

}
//minha validacao de usuario 
public class AcessoLogin extends AsyncTask<String,String,Boolean> {

    private ProgressDialog dialog;
    private Context context;
    private String usuario,senha;
    public  AcessoLogin(Context context,String usuario, String senha)
    {
        Log.i("usuario", usuario);
        Log.i("senha",senha);
        this.context = context;
        this.usuario = usuario;
        this.senha = senha;
    }


    @Override
    protected Boolean doInBackground(String... params) {

        publishProgress("Aguarde, Realizando autenticação...");
        return Login.autenticar(context, usuario, senha);

    }

    @Override
    protected void onProgressUpdate(String... values) {
        super.onProgressUpdate(values);
        dialog.setMessage(values[0]);
    }

    @Override
    protected void onPostExecute(Boolean retorno) {
        super.onPostExecute(retorno);
        dialog.cancel();
        dialog.dismiss();
        Log.i("retorno", "retorno" + retorno);
        if(retorno)
        {
            Log.i("sucesso", "sucesso");
            Intent i = new Intent(context,Selecionar_Unidade.class);
            context.startActivity(i);
        }
        else
        {
            Log.i("erro","erro");
            AlertDialog.Builder alert = new AlertDialog.Builder(context);
            alert.setMessage("Usuaio ou senha inválido");
            alert.setTitle("Erro");
            alert.setPositiveButton("OK", null);
            alert.show();

        }
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        dialog = new ProgressDialog(context);
        dialog.setMessage("Aguarde...");
        dialog.setCancelable(false);
        dialog.show();
    }
}
// minha listview
public class Tab_UC  {

    private String Nome_Logo;
    private String Instalacao;
    private String UC;
    private String Cod_Empresa;
    private String Tab_UC;


    public String getNome_Logo() {
        return Nome_Logo;
    }

    public void setNome_Logo(String nome_Logo) {
        Nome_Logo = nome_Logo;
    }

    public String getInstalacao() {
        return Instalacao;
    }

    public void setInstalacao(String instalacao) {
        Instalacao = instalacao;
    }

    public String getUC() {
        return UC;
    }

    public void setUC(String UC) {
        this.UC = UC;
    }

    public String getCod_Empresa() {
        return Cod_Empresa;
    }

    public void setCod_Empresa(String cod_Empresa) {
        Cod_Empresa = cod_Empresa;
    }

    public String getTab_UC() {
        return Tab_UC;
    }

    public void setTab_UC(String tab_UC) {
        Tab_UC = tab_UC;
    }

    @Override
    public String toString() {
        return Tab_UC + "  " + Nome_Logo + "  " + Instalacao + "  " + UC + "  " + Cod_Empresa ;
    }
}...

eu preciso que me ajudem por favor

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags php json android ou faça a sua própria pergunta.