使用Android

时间:2017-03-06 18:31:29

标签: php android mysql

我有一个用户登录活动(MainActivity),另一个有服务订单列表(ListarActivity)。

我只需要使用已登录用户ID的工作顺序完成此列表。 列表使用文件listar.php中的JSON完成,使用MYSQL作为Bank登录文件login_user.php。

MainActivity

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.koushikdutta.async.future.FutureCallback;
import com.koushikdutta.ion.Ion;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ShowChat();

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

        BtnLogar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                EditText txtLoginEmail = (EditText) findViewById(R.id.txtLoginEmail);
                EditText txtLoginSenha = (EditText) findViewById(R.id.txtLoginSenha);

                int error = 0;

                if (txtLoginEmail.getText().toString().equals("")) {
                    txtLoginEmail.setError("Preencha o campo PREFIXO.");
                    txtLoginEmail.requestFocus();
                    error = 1;
                } else if (txtLoginSenha.getText().toString().equals("")) {
                    txtLoginSenha.setError("Preencha o campo VIATURA.");
                    txtLoginSenha.requestFocus();
                    error = 1;
                }

                if (error == 0) {
                    String URL = "http://192.168.1.104/login_user.php";

                    SharedPreferences preferences = getBaseContext().getSharedPreferences("USER_INFORMATION", Context.MODE_PRIVATE);
                    String token_user = preferences.getString("token_usuario", "");

                    Ion.with(getBaseContext())
                            .load(URL)
                            .setBodyParameter("email_user", txtLoginEmail.getText().toString())
                            .setBodyParameter("senha_user", txtLoginSenha.getText().toString())
                            .setBodyParameter("token_user", token_user)
                            .asJsonObject()
                            .setCallback(new FutureCallback<JsonObject>() {
                                @Override
                                public void onCompleted(Exception e, JsonObject result) {
                                    if (result.get("retorno").getAsInt() > 0) {

                                        SharedPreferences.Editor preferences = getSharedPreferences("USER_INFORMATION", MODE_PRIVATE).edit();
                                        preferences.putInt("id_usuario", result.get("retorno").getAsInt());
                                        preferences.putString("nome_usuario", result.get("nome_usuario").getAsString());
                                        preferences.putString("email_usuario", result.get("email_usuario").getAsString());
                                        preferences.putString("photo_usuario", result.get("photo_usuario").getAsString());
                                        preferences.commit();

                                        // Abrir a Tela Principal
                                        ShowChat();

                                    } else {
                                        Toast.makeText(getBaseContext(), "Erro", Toast.LENGTH_LONG).show();
                                    }
                                }
                            });
                }
            }
        });
    }

    private void ShowChat() {
        SharedPreferences preferences = getSharedPreferences("USER_INFORMATION", MODE_PRIVATE);

        if (preferences.getInt("id_usuario", 0) > 0) {
            Intent it = new Intent(MainActivity.this, ListarActivity.class);
            startActivity(it);
            finish();
        }
    }
}

ListarActivity

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.koushikdutta.async.future.FutureCallback;
import com.koushikdutta.ion.Ion;

public class ListarActivity extends AppCompatActivity {


    private ArrayAdapter<JsonObject> clientesAd;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_listar);
    }

    @Override
    protected void onResume(){
        super.onResume();

        clientesAd = new ArrayAdapter<JsonObject>(this, 0){
            @Override


            public View getView(int position, View view, ViewGroup viewGroup){
                if (view == null){
                    view = getLayoutInflater().inflate(R.layout.listview_clientes, null);
                }

                JsonObject obj = getItem(position);

                TextView txvID = (TextView) view.findViewById(R.id.txvID);
                txvID.setText(obj.get("id_servico").getAsString());

                TextView txvNome = (TextView) view.findViewById(R.id.txvNome);
                txvNome.setText(obj.get("nome").getAsString());

                TextView txvUc = (TextView) view.findViewById(R.id.txvUc);
                txvUc.setText(obj.get("uc").getAsString());

                TextView txvOs = (TextView) view.findViewById(R.id.txvOs);
                txvOs.setText(obj.get("numero_os").getAsString());

                TextView txvData = (TextView) view.findViewById(R.id.txvData);
                txvData.setText(obj.get("data_hora_entrega").getAsString());

                TextView txvEnd = (TextView) view.findViewById(R.id.txvEnd);
                txvEnd.setText(obj.get("endereco").getAsString());

                TextView txvBairro = (TextView) view.findViewById(R.id.txvBairro);
                txvBairro.setText(obj.get("bairro").getAsString());

                TextView txvComplemento = (TextView) view.findViewById(R.id.txvComplemento);
                txvComplemento.setText(obj.get("complemento").getAsString());

                TextView txvTipo = (TextView) view.findViewById(R.id.txvTipo);
                txvTipo.setText(obj.get("tipo").getAsString());

                TextView txvMedidor = (TextView) view.findViewById(R.id.txvMedidor);
                txvMedidor.setText(obj.get("medidor").getAsString());

                TextView txvObs = (TextView) view.findViewById(R.id.txvObs);
                txvObs.setText(obj.get("obs").getAsString());

                return view;
            }
        };

        Ion.with(getBaseContext()).load("http://192.168.1.104/listar.php")
                .asJsonArray().setCallback(new FutureCallback<JsonArray>() {
            @Override
            public void onCompleted(Exception e, JsonArray result) {
                for(int i = 0; i < result.size(); i++){
                    JsonObject jsonObject = result.get(i).getAsJsonObject();
                    clientesAd.add(jsonObject);
                }




                ListView ltwClientes = (ListView)findViewById(R.id.ltwClientes);
                ltwClientes.setAdapter(clientesAd);

                ltwClientes.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        JsonObject obj = (JsonObject) parent.getItemAtPosition(position);

                        String id_servico = obj.get("id_servico").getAsString();
                        String nome = obj.get("nome").getAsString();
                        String uc = obj.get("uc").getAsString();

                        Intent intent = new Intent(getBaseContext(), EditarActivity.class);
                        intent.putExtra("id_servico", id_servico);
                        intent.putExtra("nome", nome);
                        intent.putExtra("uc", uc);

                        startActivity(intent);
                    }
                });

                //JsonObject retorno = result.get(1).getAsJsonObject();
                //Toast.makeText(getBaseContext(), retorno.get("nome").toString(), Toast.LENGTH_LONG).show();
            }
        });
    }
}

login_user.php

<?php

    include "db.php";

    if (!isset($_POST["email_user"])){
        exit;
    }

    $email_user = $_POST["email_user"];
    $senha_user = $_POST["senha_user"];
    $token_user = $_POST["token_user"];

    $sql_verifica = 'SELECT id_usuario, nome_usuario, email_usuario, photo_usuario FROM usuarios WHERE email_usuario = "'.$email_user.'" and senha_usuario = "'.$senha_user.'"';
    $exec_row = $conn->query($sql_verifica);

    if ($exec_row->num_rows > 0){
            $row = $exec_row->fetch_row();
            $retorno = array("retorno" => $row[0], "nome_usuario" => $row[1], "email_usuario" => $row[2], "photo_usuario" => $row[3]);

            // Atualiza Token
            $id_usuario = $row[0];
            $sql_update = 'UPDATE usuarios SET token_usuario = ? WHERE id_usuario = ?';
            $stm = $conn->prepare($sql_update);
            $stm->bind_param("si", $token_user, $id_usuario);
            $stm->execute();
    } else {
            $retorno = array("retorno" => '0');
    }

    echo json_encode($retorno);

    $conn->close();
?>

listar.php

<?php
        $conn = new mysqli("127.0.0.1", "u645954380_ptc", "bonfim1010", "u645954380_ptc");
        $sql = "SELECT id_servico, nome, uc, numero_os, data_hora_entrega, endereco, bairro, complemento, tipo, medidor, obs FROM app_venda";
        $result = $conn->query($sql);

        $result_json = array();

        while($row = $result->fetch_assoc()){
            $result_json[] = $row;
        }

        echo json_encode($result_json);

        $conn->close();
?>

表格

CREATE TABLE IF NOT EXISTS `app_venda` (
  `id_servico` int(11) NOT NULL AUTO_INCREMENT,
  `id_user` int(11) NOT NULL,
  `tipo` int(11) NOT NULL,
  `uc` int(11) NOT NULL,
  `nome` varchar(150) NOT NULL,
  `setor` int(11) NOT NULL,
  `endereco` varchar(500) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
  `bairro` varchar(50) NOT NULL,
  `complemento` varchar(100) DEFAULT NULL,
  `codigo_baixa` varchar(500) DEFAULT NULL,
  `status` varchar(50) NOT NULL DEFAULT '1',
  `data_hora_entrega` datetime DEFAULT NULL,
  `data_hora_conclusao` datetime NOT NULL,
  `km_inicial` int(11) NOT NULL,
  `km_final` int(11) NOT NULL,
  `motivo` varchar(100) DEFAULT NULL,
  `numero_os` int(15) DEFAULT NULL,
  `medidor` varchar(20) DEFAULT NULL,
  `obs` int(11) DEFAULT NULL,
  `valorTotal` double NOT NULL,
  `apr1` int(11) DEFAULT '1',
  `apr2` int(11) DEFAULT '1',
  `apr3` int(11) DEFAULT '1',
  `apr4` int(11) DEFAULT '1',
  `apr5` int(11) DEFAULT '1',
  PRIMARY KEY (`id_servico`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;


CREATE TABLE IF NOT EXISTS `usuarios` (
  `id_usuario` int(11) NOT NULL AUTO_INCREMENT,
  `nome_usuario` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `email_usuario` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `senha_usuario` int(11) NOT NULL,
  `data_usuario` date NOT NULL,
  `photo_user` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `photo_usuario` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `token_usuario` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id_usuario`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;

0 个答案:

没有答案