From 7385f0a1c197beda06e9fe801d750aca37aa2766 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 12 Dec 2012 19:52:56 -0600 Subject: [PATCH 1/2] Implementacion captura foto --- .settings/org.eclipse.jdt.core.prefs | 4 ++ AndroidManifest.xml | 6 ++ project.properties | 2 +- res/layout/activity_home.xml | 16 ++++- .../androidtitlan/GDGHackup/HomeActivity.java | 68 ++++++++++++++++++- 5 files changed, 90 insertions(+), 6 deletions(-) create mode 100644 .settings/org.eclipse.jdt.core.prefs diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..b080d2d --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/AndroidManifest.xml b/AndroidManifest.xml index d387deb..e1db156 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -4,6 +4,12 @@ android:versionCode="1" android:versionName="1.0" > + + + + + + diff --git a/project.properties b/project.properties index a3ee5ab..8937e94 100644 --- a/project.properties +++ b/project.properties @@ -11,4 +11,4 @@ #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. -target=android-17 +target=android-14 diff --git a/res/layout/activity_home.xml b/res/layout/activity_home.xml index 8250e4e..e09e7c0 100644 --- a/res/layout/activity_home.xml +++ b/res/layout/activity_home.xml @@ -4,11 +4,21 @@ android:layout_height="match_parent" tools:context=".HomeActivity" > - + android:text="Foto" /> + + \ No newline at end of file diff --git a/src/mx/androidtitlan/GDGHackup/HomeActivity.java b/src/mx/androidtitlan/GDGHackup/HomeActivity.java index 60f3375..6b209a5 100644 --- a/src/mx/androidtitlan/GDGHackup/HomeActivity.java +++ b/src/mx/androidtitlan/GDGHackup/HomeActivity.java @@ -1,22 +1,86 @@ package mx.androidtitlan.GDGHackup; -import android.os.Bundle; import android.app.Activity; +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.Intent; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.provider.MediaStore; +import android.util.Log; import android.view.Menu; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.ImageView; public class HomeActivity extends Activity { + private Button button; + private final int flag = 1; + private ImageView imageView; + private Bitmap imagenCapturada; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); + + this.button = (Button) findViewById(R.id.tomar_foto); + imageView = (ImageView) findViewById(R.id.imagen_capturada); + + button.setOnClickListener(new OnClickListener() { + + @Override + public void onClick(View arg0) { + tomarFoto(flag); + } + }); } @Override public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_home, menu); return true; } + private void tomarFoto(int flag) { + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + startActivityForResult(intent, flag); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + + AlertDialog dialog; + + if (resultCode == RESULT_CANCELED) { + + dialog = crearDialogo("FOTO", "Fallo al tomar la foto", "OK"); + + } else { + imagenCapturada = (Bitmap) data.getExtras().get("data"); + dialog = crearDialogo("FOTO", "Éxito al tomar la foto", "OK"); + + } + dialog.show(); + } + + private AlertDialog crearDialogo(String title, String msg, String buttonText) { + AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); + AlertDialog msgDialog = dialogBuilder.create(); + msgDialog.setTitle(title); + msgDialog.setMessage(msg); + msgDialog.setButton(buttonText, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int idx) { + dialog.dismiss(); + imageView.setImageBitmap(imagenCapturada); + + } + }); + + return msgDialog; + } + } From 1aaa0b3791d577171bec6b928e4434b5bf02cb82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Wed, 12 Dec 2012 20:04:37 -0600 Subject: [PATCH 2/2] WIP: Saving --- server/.gitignore | 2 ++ server/app.js | 5 +++-- server/views/index.jade | 7 +++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/server/.gitignore b/server/.gitignore index c2658d7..73c032e 100644 --- a/server/.gitignore +++ b/server/.gitignore @@ -1 +1,3 @@ node_modules/ +uploads/ +log.txt diff --git a/server/app.js b/server/app.js index ce8dfe8..6699109 100644 --- a/server/app.js +++ b/server/app.js @@ -1,3 +1,4 @@ +var fs = require("fs"); var express = require("express"); var app = express(); @@ -7,7 +8,7 @@ app.set('view engine', 'jade') var saveReport = function(report){ // Saves the report - fs.appendFile('log.txt', report, function(err){ + fs.appendFile('log.txt', JSON.stringify(report), function(err){ console.log(err); }); return 0; @@ -18,7 +19,7 @@ app.get('/', function(req, res){ }) // POST Datos -app.get('/newreport', function(req, res){ +app.post('/newreport', function(req, res){ try { var report = { image: req.files.image, diff --git a/server/views/index.jade b/server/views/index.jade index c40637a..f407978 100644 --- a/server/views/index.jade +++ b/server/views/index.jade @@ -1,6 +1,9 @@ html body h1 Hello - form(method='post',action='/newreport') - input(type='file') + form(method='post', action='/newreport', enctype="multipart/form-data") + input(name='image', type='file') + input(name='location', type='hidden') + input(name='time', type='hidden') + input(name='type', type='hidden') input(type='submit') Subir