Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.mytask;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.os.Environment;
- import android.util.Log;
- import android.view.ContextMenu;
- import android.view.Menu;
- import android.view.MenuInflater;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.EditText;
- import android.widget.ListView;
- import android.widget.Toast;
- import com.mytask.model.Task;
- import org.apache.http.HttpResponse;
- import org.apache.http.NameValuePair;
- import org.apache.http.client.HttpClient;
- import org.apache.http.client.entity.UrlEncodedFormEntity;
- import org.apache.http.client.methods.HttpPut;
- import org.apache.http.impl.client.DefaultHttpClient;
- import org.apache.http.message.BasicNameValuePair;
- import org.apache.http.util.EntityUtils;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.UnsupportedEncodingException;
- import java.util.ArrayList;
- import java.util.List;
- public class TaskActivity extends Activity {
- protected static final int EDITAR = 0;
- private TaskAdapter adaptadorLista;
- private Task taskLogado;
- private List<Task> listTask;
- private TaskBD taskBD;
- ListView lista;
- // private String taskTexto;
- private EditText taskText;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_task);
- taskText = (EditText) findViewById(R.id.textoTask);
- Intent intent = getIntent();
- taskLogado = (Task) intent.getSerializableExtra(Task.TASK_INFO);
- //taskBD = TaskBD.getInstance(this);
- lista = (ListView) findViewById(R.id.listaTasks);
- //adaptadorLista = new TaskAdapter(this, taskBD.getCache());
- //lista.setAdapter(adaptadorLista);
- new ListagemTask().execute();
- //Log.v("taskActivity", String.valueOf(listTask));
- //for (Task tasks : listTask) {
- // adaptadorLista.add(tasks);
- //}
- // carregarTasks();
- registerForContextMenu(lista);
- lista.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
- Task tweetSelecionado = (Task) adapter .getItemAtPosition(position);
- Intent acao = new Intent("exercicios.task.DETALHES");
- acao.putExtra(Task.TASK_INFO, tweetSelecionado);
- startActivityForResult(acao, EDITAR);
- }
- });
- }
- private class ListagemTask extends AsyncTask<Void, Void, List<Task>> {
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- }
- @Override
- protected List<Task> doInBackground(Void... urls) {
- Task taskListar = new Task();
- String tasks = TaskRESTClient.AllTasks();
- List<Task> taskslista = taskListar.gerarTaskFromJson(tasks);
- return taskslista;
- }
- @Override
- protected void onPostExecute(List<Task> result) {
- super.onPostExecute(result);
- adaptadorLista = new TaskAdapter(TaskActivity.this, result);
- lista.setAdapter(adaptadorLista);
- }
- }
- private class addTask extends AsyncTask<Task, Void, String> {
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- }
- @Override
- protected String doInBackground(Task ... task) {
- // Task task = new Task();
- String tasks = TaskRESTClient.add(task);
- return tasks;
- }
- @Override
- protected void onPostExecute(String result) {
- super.onPostExecute(result);
- // adaptadorLista = new TaskAdapter(TaskActivity.this, result);
- // lista.setAdapter(adaptadorLista);
- }
- }
- /*
- public List<Task> gerarTaskFromJson(String dados) {
- List<Task> resultado = new ArrayList<Task>();
- try {
- JSONArray ja = new JSONArray(dados);
- for(int i = 0; i < ja.length(); i++) {
- JSONObject jo = ja.getJSONObject(i);
- Task t = new Task();
- t.setId(jo.getLong("id"));
- t.setTitulo(jo.getString("titulo"));
- t.setTexto(jo.getString("texto"));
- resultado.add(t);
- }
- return resultado;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return resultado;
- }
- */
- private void carregarTasks() {
- taskBD.getAll(taskLogado);
- adaptadorLista.notifyDataSetChanged();
- }
- public void Adicionar(View v) {
- String taskTexto = taskText.getText().toString();
- //substring add titulo a partir da parte inicial da task
- StringBuffer tempString = new StringBuffer(taskTexto);
- if(Integer.parseInt(String.valueOf(tempString.length())) <5){
- tempString.append(" ");
- tempString.delete(5, Integer.parseInt(String.valueOf(tempString.length())));
- }else{
- tempString.delete(5, Integer.parseInt(String.valueOf(tempString.length())));
- }
- Toast.makeText(this, taskTexto + " / " + tempString.toString(),
- Toast.LENGTH_LONG).show();
- Task task = new Task(tempString.toString(), taskTexto);
- new addTask().execute(task);
- // TaskRESTClient.add(task);
- // Log.v("postObj", postObj);
- // taskBD.insert(task);
- taskText.setText("");
- adaptadorLista.notifyDataSetChanged();
- /*
- @Rest(converters = {MappingJackson2HttpMessageConverter.class})
- public interface TweetRest {
- @Put("http://{url}/rest/tweet")
- void cadastrar(String url, Usuario usuario);
- }
- */
- }
- //ex:2
- public static String put(String url, String usuario) throws UnsupportedEncodingException {
- HttpClient httpClient = new DefaultHttpClient();
- HttpPut httpPut = new HttpPut(url);
- List<NameValuePair> pairs = new ArrayList<NameValuePair>();
- pairs.add(new BasicNameValuePair("usaurio", usuario));
- httpPut.setEntity(new UrlEncodedFormEntity(pairs));
- String resposta = "";
- try {
- HttpResponse response = httpClient.execute(httpPut);
- resposta = EntityUtils.toString(response.getEntity());
- } catch (IOException e) {
- e.printStackTrace();
- }
- return resposta;
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (resultCode == RESULT_OK) {
- Task tweet = (Task) data.getSerializableExtra(Task.TASK_INFO);
- taskBD.update(tweet);
- adaptadorLista.notifyDataSetChanged();
- }
- super.onActivityResult(requestCode, resultCode, data);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.menu_task, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.menu_exit:
- finish();
- break;
- case R.id.menu_export:
- exportar();
- break;
- case R.id.menu_refresh:
- Toast toast = Toast.makeText(this, "Atualizando os task...",
- Toast.LENGTH_LONG);
- toast.show();
- break;
- default:
- break;
- }
- return super.onOptionsItemSelected(item);
- }
- @Override
- public void onCreateContextMenu(ContextMenu menu, View v,
- ContextMenu.ContextMenuInfo menuInfo) {
- super.onCreateContextMenu(menu, v, menuInfo);
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.menu_task_actions, menu);
- }
- @Override
- public boolean onContextItemSelected(MenuItem item) {
- AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item
- .getMenuInfo();
- Task task = adaptadorLista.getItem(info.position);
- switch (item.getItemId()) {
- case R.id.tweet_edit:
- // Intent acao = new Intent(TaskActivity.this,TaskEditActivity.class);
- Intent acao = new Intent("exercicios.task.EDITAR");
- acao.putExtra(Task.TASK_INFO, task);
- startActivityForResult(acao, EDITAR);
- break;
- case R.id.tweet_remove:
- taskBD.delete(task);
- adaptadorLista.notifyDataSetChanged();
- break;
- default:
- break;
- }
- return super.onContextItemSelected(item);
- }
- private void exportar() {
- StringBuffer exportFormat = new StringBuffer();
- for (Task task : taskBD.getAll(taskLogado)) {
- String taskText = task.toString() + "\n";
- exportFormat.append(taskText);
- }
- escrever(exportFormat.toString());
- }
- private void escrever(String texto) {
- String state = Environment.getExternalStorageState();
- if (Environment.MEDIA_MOUNTED.equals(state)) {
- String FILENAME = "tasks_file_export.txt";
- // Environment.getExternalStorageDirectory()
- // File externalRoot = Environment.getExternalStorageDirectory();
- // File externalRoot = getExternalFilesDir("teste");
- File externalRoot = Environment
- .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
- try {
- FileOutputStream fos = new FileOutputStream(new File(
- externalRoot, FILENAME));
- fos.write(texto.getBytes());
- fos.close();
- } catch (Exception e) {
- Log.e("Internal", "Error", e);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement