Sie sind auf Seite 1von 11

public class LoginActivity extends Activity{

private EditText nameView;


private EditText mPasswordView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().setTitle("Helpdesk WorldNet");
setContentView(R.layout.activity_login);
nameView=(EditText)findViewById(R.id.name);
mPasswordView=(EditText)findViewById(R.id.password);
nameView.setText("Cliente");
mPasswordView.setText("1234");
findViewById(R.id.sign_in_button).setOnclickListener(newView.OnClickList
ener(){
@Override
public void onClick(View view){
Servidor tomcat=new ServidorTomcat();
String nomUsuario=nameView.getText().toString();
String contrasena=mPasswordView.getText().toString();
boolean successfullogin=tomcat.login(nomUsuario,contrasena);
if (successfullogin) {
Controller controller = new Controller();
controller.guardarUsuario(LoginActivity.this, nomUsuario);
startActivity(newIntent(LoginActivity.this, ListaIncidencias
Activity.class));
}else{
AlertDialog.Builder(LoginActivity.this);
alerLogin.setTitle("Error")
.setMessage("Las credenciales no son correctas.")
.setCancelable(false)
.setNeutralButton("Aceptar",newDialogInterface.OnCli
ckListener(){
public void onClick(DialogInterface dialog,int id){
dialog.cancel();
}
});
AlertDialog alert=alertLogin.create();
alertLogin.show();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
getMenuInflater().inflater(R.menu.activity_login, menu);
}
}
public class Control{
public static final String PREFS_NAME="Users";
public void guardarUsuario(Context context,String nUsuario){
SharedPreferences settings=context.getSharedPreferences(PREFS_NAME,0);
SharedPreferences.Editor editor=settings.edit();
editor.putString("Usuario",nUsuario);

editor.commit();
}
public String recuperarUsuario(Context context){
SharedPreferences settings=context.getSharedPreferences(PREFS_NAME,0);
String nUsuario=settings.getString("Usuario",null);
return nUsuario;
}
}
public class ListaIncidenciasActivity extends Activity {
@Override
protected void onCreated(Bundle savedInstancestate) {
setContentView(R.layout.activity_lista_incidencias);
configurarListView();
getActionBar().setTitle("Lista incidencias");
}
private void configurarListView
{
ListView listView = (ListView)
findViewById(R.id.listView1);
final List<Incidencia> incidencias = getIncidenciasDelServidor();
listView.setAdapter(new ListIncidenciasAdapter(this, incidencias));
listView.setOnClickListener(new View.OnClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int positi
on, long id) {
abrirDetalleDeIncidencia( int position);
}
private void abrirDetalleDeIncidencia(int position) {
incidencia incidencia =
incidencias.get(position);
long id = incidencia.getId();
Intent(ListaIncidenciasActivity.this,
DetalleIncidenciaActivity.class);
intent.putEextra(DetalleIncidenciaActivity.PARAM_INCIDENCIA_ID,
id);
startActivity();
}
});
}
private List<Incidencia> getIncidenciasDelServidor() {
Servidor tomcat = new ServidorTomcat();
List<Incidencia> incidencias = tomcat.obtenerIncidencias();
return incidencias;
}
@Override
public boolean onOptionsMenu(MenuItem item) {
getMenuInflater().inflate(R.menu.activity_lista_incidencia, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.faq:
abrirFAQActivity();
return true;

case R.id.guia:
abrirGuiaActivity;
return true;
case R.id.nueva:
abrirNuevaIncidenciaActivity();
return true;
case R.id.Salir:
salirActivity();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private void salirActivity() {
ListaIncidenciasActivity.this.finish();
}
private void abrirNuevaIncidenciaActivity() {
Intent intent = new Intent(ListaIncidenciasActivity.this, NuevaIncidenci
aActivity.class);
startActivity(intent);
}
private void abrirGuiaActivity(){
Intent intent = new Intent(ListaIncidenciasActivity.this, GuiaActivity.c
lass);
startActivity(intent);
}
private void abrirFAQActivity() {
Intent intent = new Intent(ListaIncidenciasActivity.this, GuiaActivity.c
lass);
startActivity(intent);
}
}
public class DetalleIncidenciaActivity extends Activity{
public final static String PARAM_INCIDENCIA_ID="incidencia_id";
private Incidencia incidencia;
TextView asuntoValor;
TextView clienteValor;
TextView tipoValor;
TextView comentarioValor;
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detalle_incidencia);
getActionBar().setTitle("Detalle incidencia");
asuntoValor=(TextView) findViewById(R.id.detAsunto);
clienteValor=(TextView) findViewById(R.id.detCliente);
tipoValor=(TextView) findViewById(R.id.detTipoSpin);
comentarioValor=(TextView)
findViewById(R.id.detDescripcion);
obtenirIPintarIncidencia();
}
private void obtenerIPintarIncidencia(){
Bundle extras=this.getIntent().getExtras();
if(extras !=null) {
long id = extras.getLong(PARAM_INCIDENCIA_ID);
incidencia = obtenerIncidenciaPerId(id);

pintarIncidencia(incidencia);
}else{
mostrarNoEsPosibleEncontrarIncidencia();
}
}
private void pintarIncidencia(Incidencia incidencia){
asuntoValorValor.setText(incidencia.getAsunto());
clienteValor.setText(incidencia.getCreada());
tipoValor.setText(incidencia.getTipo);
}
private void Incidencia obtenerIncidenciaPerId(Long id){
Control control=new Control();
String nomUsuario=control.recuperarUsuario(this);
Servidor servidor=new ServidorTomcat;
Incidencia incidencia=
servidor.obtenerIncidencia(nomUsuario,id);
return; incidencia;
}
private void mostrarNoEsPosibleEncontrarIncidencia(){
AlertDialog.Builder alertaInc=new
AlertDialog.Builder(DetalleIncidenciaActivity.this);
alertaInc.setTitle("Error").setMessage("No se ha encontrado la incidenci
a.").setCancelable(false)
.setNegativeButton("Aceptar", new DialogInterface.OnCancelListen
er(){
public void onClick(DialogInterface dialogo,int id){
dialogo.cancel();
}
});
alertaInc.show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.activity_detalle_incidencia, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
if (item.getItemId()==android.R.id.home){
NavUtils.navigateUpFromSameTask(this);}else if (item.getItemId()){
CharSequence[]estats={"Nueva","Pendiente",Resuelta};
AlertDialog.Builder builder=new
builder.setTitle("Escoge el estado");
builder.setItems(estats,new
DialogInterface.OnClickListener(DetalleIncidenciaActivity.th
is);
builder.setTitle("Introduce tu comentario");
LayoutInflater inflater=this.getLayoutInflater();
builder.setView(inflater.inflate(R.layout.agregar_comentario,null))
.setPositiveButton("Agregar",new
DialogInterface.OnClickListener()){
Servidor toncat=new ServidorToncat();
Control control=new Control();
String nomUsuario=control.recuperarUsuario(DetalleIncidenciaActi
vity.this);
String comentario= agregarComentario.getText().toString();
boolean comentarioAgregar= toncat.agregarComentario(incidencia.g

etId(),nomUsuario, comentario);
if (comentarioAgregar){
Toast.makeText(DetalleIncidenciaActivity.this, "Comentario a
gregado correctamente",
Toast.LENGTH_LONG).show();
}
}
})
.setNegativeButton("Cancelar",new DialogInterface.OnClickListener() {
dialog.dismiss();
}
});
builder.create().show();
}
return true;
}
}
public class NuevaIncidenciaActvity extends Activity {
TextView crearValor;
protected void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nueva_incidencia);
spinnerCreate();
getActionBar().hide();
Control control = new Control();
String nomCreador =
control.recuperarUsuario(NuevaIncidenciaActvity.this);
crearValor = (TextView) findViewById(R.id.editClient);
crearValor.setText(nomCreador);
findViewById(R.id.bCan).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast cancelar =
Toast.makeText(getApplicationContext(), "Has cancelado l
a creacion",
Toast.LENGTH_SHORT);
cancelar.show();
NuevaIncidenciaActvity.this.finish();
}
});
findViewById(R.id.Base).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast aceptar =
Toast.makeText(getApplicationContext(), "Se ha crado cor
rectamente",
Toast.LENGTH_SHORT);
aceptar.show();
NuevaIncidenciaActvity.this.finish();
}
});
}
private void spinnerCreate() {
Spinner spinner = (Spinner) findViewById(R.id.editTipos);
ArrayAdapter<CharSequence> adapter =
ArrayAdapter.createFromResource(this, android.R.array.array_Tipo
,

android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
spinner.setAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_nueva_incidencia, menu);
return true;
}
}
public class FAQactivity extends Activity{
private WebView mWebview;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(android.R.layout.activity_faq);
getActionBar().setTitle("FAQ");
mWebview= (WebView) findViewById(R.id.webFAQ);
mWebview.getSettings().setJavaScriptEnabled(true);
mWebview.loadUrl("file:///android_activo/FAQ.html");
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(android.R.menu.activity_faq, menu);
return true;
}
}
public class GuiaActivity extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(android.R.layout.activity_guia);
getActionBar().setTitle("Guia");
mWebview = (WebView) findViewById(R.id.webGuia);
mWebview.getSettings().setJavaScriptEnabled(true);
mWebview.loadUrl("file:///android_activo/Guia.html");
}
@Override
public void onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_guia, menu);
return true;
}
}
public class ListaIncidenciasAdapter extends ArrayAdapter<Incidencia> {
private static class IncidenciaListViewHolder {
View stadoView;

TextView asuntoView;
TextView dataView;
TextView tipoView;
}
public ListaIncidenciasActivity(Context context, Lista<Incidencia> objets) {
super(context, 0, objets);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View elementView = convertView;
IncidenciaListViewHolder holder = null;
if (elementView == null) {
LayoutInflater inflater = (LayoutInflater)
getContext().getSystemService(Context.LAYOUT_INFLATER_SERVIC
E);
elementView =
inflater.inflate(R.layout.elementos_lista_incidencia, null);
holder = new IncidenciaListViewHolder();
holder.estadoView =
elementView.findViewById(R.id.estado);
holder.asuntoView = (TextView)
elementView.findViewById(R.id.asunto);
holder.dataView = (TextView)
elementView.findViewById(R.id.data);
holder.tipoView = (TextView)
elementView.findViewById(R.id.tipo);
elementView.setTag(holder);
} else {
holder = (IncidenciaListViewHolder)
convertView.getTag();
}
pintarViewHolder(holder, position);
return elementView;
}
private void pintarViewHolder(IncidenciaListViewHolder holder,
int position) {
Incidencia incidencia = getItem(position);
getContext().getResources().getColor(incidencia.getAsunto().getColorId()
);
String asunto = incidencia.getAsunto();
String data = incidencia.incidencia.getData().toStrin();
String tipo = incidencia.getTipo();
holder.estadoView.setBackGoundColor(color);
holder.asuntoView.setText(asunto);
holder.dataView.setText(data);
holder.tipoView.setText(tipo);
}
}
public class Comentario{
private String nomUsuario;
private String cmentario;
public Comentario(String nomUsuario, String comentario){
super();
this.nomUsuario=nomUsuario;
this.comentario=comentario;

}
public String getNomUsuario(){
return nomUsuario;
}
public String getCmentario(){
return cmentario;
}
}
public enum Estado{
Nueva(R.id.estado_nueva),
EN_PROGRESO(R.id.estado_en_progreso),
CERRADO(R.id.estado_cerrado);
private int colorId;
Estado(int colorId){
this.colorId=colorId
}
public int getColorId(){
return colorId;
};
}
public class Incidencia{
private
private
private
private
private
private
private
private

long id;
Estado estado;
String asunto;
Date data;
String tipo;
String creador;
String asignacion;
List<Comentarios> comentarios;

public Incidencia (long id, String creador, Estado estado, String


asunto, Date data,
String tipo) {
super();
this.id = id;
this.creador = creador;
this.estado = estado;
this.asunto = asunto;
this.data = data;
this.tipo = tipo;
this.comentarios = new ArrayList<Comentarios>();
}
public long getId(){
return id;
}
public String getCreador(){
return creador;
}
public Estado getEstado(){
return estado;
}
public void setEstado(Estado estado){
this.estado= estado;
}
public String getAsunto(){
return asunto;

}
public Date getData(){
return data;
}
public String getTipo(){
return tipo:
}
public String getAsignacion(){
this.asignacion=asignacion;
}
public List<Comentarios> getComentarios(){
return comentarios;
}
}
ublic interface Servidor{
public boolean login(String nomUsuario, String contrasea);
public Incidencia obtenerIncidencias(String nomUsuario, long id);
public List<Incidencia> obtenerIncidencias();
public boolean agregarComentarios(long Incidencia, String nomUsuario, String
comentario);
boolean agregarIncidencia(String creador, String asunto, String tipo);
boolean cerrarIncidencia (long incidencia);
}
public class ServidorTomcat implements Servidor{
private static final String PASSWORD="1234";
private static final String USER_CLIENTE="Cliente";
private static final String USER_HELP_DESK="Helpdesk";
private List<Incidencia>incidencias;
public ServidorTomcat(){
incidencias=new ArrayList<Incidencia>();
incidencias.add(new Incidencia(1L,"Cliente 1",Estado.Nueva,"Asunto 1",ne
w Date(),"Hardware"));
incidencias.add(new Incidencia(2L, "Cliente 2",Estado.EN_PROGRESO, "Asun
to 2",new Date(),"Software"));
incidencias.add(new Incidencia(3L,"Cliente 1",Estado.CERRADO, "Asunto 3"
,new Date(),"Hardware"));
incidencias.add(new Incidencia(4L,"Cliente 2",Estado.EN_PROGRESO, "Asunt
o 4",new Date(),"Software"));
incidencias.add(new Incidencia(5L,"Cliente 3",Estado.Nueva, "Asunto 5",n
ew Date(),"Hardware"));
incidencias.add(new Incidencia(6L,"Cliente 1",Estado.Nueva, "Asunto 1",n
ew Date(),"Software"));
incidencias.add(new Incidencia(7L,"Cliente 1",Estado.EN_PROGRESO, "Asunt
o 2",new Date(),"Hardware"));
incidencias.add(new Incidencia(8L,"Cliente 5",Estado.CERRADO, "Asunto 3"
,new Date(),"Software"));
incidencias.add(new Incidencia(9L,"Cliente 1",Estado.EN_PROGRESO, "Asunt
o 4",new Date(),"Hardware"));
incidencias.add(new Incidencia(10L,"Cliente 1",Estado.Nueva, "Asunto 5",
new Date(),"Software"));
incidencias.add(new Incidencia(11L,"Cliente 1",Estado.Nueva, "Asunto 1",
new Date(),"Hardware"));
incidencias.add(new Incidencia(12L,"Cliente 1",Estado.EN_PROGRESO, "Asun
to 1",new Date(),"Software"));
incidencias.add(new Incidencia(13L,"Cliente 2",Estado.CERRADO, "Asunto 3
",new Date(),"Hardware"));
incidencias.add(new Incidencia(14L,"Cliente 4",Estado.EN_PROGRESO, "Asun
to 4",new Date(),"Sofware"));
incidencias.add(new Incidencia(15L,"Cliente 5",Estado.Nueva, "Asunto 5",

new Date(),"Hardware"));
}
@Override
public boolean login(String nomUsuario, String contrasea){
if (nomUsuario.equals(USER_HELP_DESK))&&(contrasea.equals(PASSWORD))){
return true;
}else if (nomUsuario.equals (USER_CLIENTE)&&(contrasea.equals(PASSWORD)))
{
return true;
}
return false;
}
@Override
public List<Incidencia> obtenerIncidencias(){
return incidencias;
}
@Override
public boolean agregarComentario(long IdIncidencia, String nomUsuario, Strin
g comentario) {
IdIncidencia incidencia = obtenerIncidenciasPerId(IdIncidencia);
if (incidencia == null) {
return false;
}
if (nomUsuario == null) {
return false;
}
if (comentario == null) {
return false;
}
Comentario nuevoComentario = new Comentario(nomUsuario, comentario);
incidencia.getComentarios().add(nuevoComentario);
return true;
}
@Override
public boolean agregarIncidencia(String creador, String asunto, asunto, Stri
ng tipo){
long id= incidencias.size();
Estado estado= Estado.Nueva;
Date data= new Date();
Incidencia incidencia= new Incidencia(id, creador, estado, asunto, data,
tipo);
incidencias.add(incidencia);
return true;
}
private Incidencia obtenerIncidenciasPerId(long id){
Incidencia incidencia= null;
for (Incidencia IncidenciaDeLista:incidencias){
if(incidenciaDeLista.getId)==id){
incidencia = incidenciaDeLista;
}
}
return incidencia;
}

Das könnte Ihnen auch gefallen