Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
Ear recognition
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
3
Issues
3
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Boston University
Ear recognition
Commits
7fb34e79
Commit
7fb34e79
authored
Sep 17, 2015
by
Marco Antonio Freyre Zumbardo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
manejo de la camara
parent
7b2fc4a5
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
439 additions
and
8 deletions
+439
-8
.name
.idea/.name
+1
-1
gradle.xml
.idea/gradle.xml
+1
-1
misc.xml
.idea/misc.xml
+60
-1
modules.xml
.idea/modules.xml
+1
-1
vcs.xml
.idea/vcs.xml
+1
-1
app.iml
app/app.iml
+2
-2
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+8
-0
CameraActivity.java
.../main/java/com/aluxoft/earrecognition/CameraActivity.java
+291
-0
MainActivity.java
...rc/main/java/com/aluxoft/earrecognition/MainActivity.java
+11
-0
activity_camera.xml
app/src/main/res/layout/activity_camera.xml
+32
-0
activity_main.xml
app/src/main/res/layout/activity_main.xml
+11
-1
strings.xml
app/src/main/res/values/strings.xml
+1
-0
ear-recognition.iml
ear-recognition.iml
+19
-0
No files found.
.idea/.name
View file @
7fb34e79
Ear Recognition
\ No newline at end of file
ear-recognition
\ No newline at end of file
.idea/gradle.xml
View file @
7fb34e79
...
...
@@ -6,7 +6,7 @@
<option
name=
"distributionType"
value=
"LOCAL"
/>
<option
name=
"externalProjectPath"
value=
"$PROJECT_DIR$"
/>
<option
name=
"gradleHome"
value=
"$APPLICATION_HOME_DIR$/gradle/gradle-2.4"
/>
<option
name=
"gradleJvm"
value=
"1.
7
"
/>
<option
name=
"gradleJvm"
value=
"1.
8
"
/>
<option
name=
"modules"
>
<set>
<option
value=
"$PROJECT_DIR$"
/>
...
...
.idea/misc.xml
View file @
7fb34e79
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"EntryPointsManager"
>
<entry_points
version=
"2.0"
/>
</component>
<component
name=
"NullableNotNullManager"
>
<option
name=
"myDefaultNullable"
value=
"android.support.annotation.Nullable"
/>
<option
name=
"myDefaultNotNull"
value=
"android.support.annotation.NonNull"
/>
<option
name=
"myNullables"
>
<value>
<list
size=
"4"
>
<item
index=
"0"
class=
"java.lang.String"
itemvalue=
"org.jetbrains.annotations.Nullable"
/>
<item
index=
"1"
class=
"java.lang.String"
itemvalue=
"javax.annotation.Nullable"
/>
<item
index=
"2"
class=
"java.lang.String"
itemvalue=
"edu.umd.cs.findbugs.annotations.Nullable"
/>
<item
index=
"3"
class=
"java.lang.String"
itemvalue=
"android.support.annotation.Nullable"
/>
</list>
</value>
</option>
<option
name=
"myNotNulls"
>
<value>
<list
size=
"4"
>
<item
index=
"0"
class=
"java.lang.String"
itemvalue=
"org.jetbrains.annotations.NotNull"
/>
<item
index=
"1"
class=
"java.lang.String"
itemvalue=
"javax.annotation.Nonnull"
/>
<item
index=
"2"
class=
"java.lang.String"
itemvalue=
"edu.umd.cs.findbugs.annotations.NonNull"
/>
<item
index=
"3"
class=
"java.lang.String"
itemvalue=
"android.support.annotation.NonNull"
/>
</list>
</value>
</option>
</component>
<component
name=
"ProjectInspectionProfilesVisibleTreeState"
>
<entry
key=
"Project Default"
>
<profile-state>
<expanded-state>
<State>
<id
/>
</State>
<State>
<id>
Android
</id>
</State>
<State>
<id>
Android Lint
</id>
</State>
</expanded-state>
</profile-state>
</entry>
</component>
<component
name=
"ProjectLevelVcsManager"
settingsEditedManually=
"false"
>
<OptionsSetting
value=
"true"
id=
"Add"
/>
<OptionsSetting
value=
"true"
id=
"Remove"
/>
...
...
@@ -10,10 +54,25 @@
<ConfirmationsSetting
value=
"0"
id=
"Add"
/>
<ConfirmationsSetting
value=
"0"
id=
"Remove"
/>
</component>
<component
name=
"ProjectRootManager"
version=
"2"
languageLevel=
"JDK_1_7"
assert-keyword=
"true"
jdk-15=
"true"
project-jdk-name=
"1.
7
"
project-jdk-type=
"JavaSDK"
>
<component
name=
"ProjectRootManager"
version=
"2"
languageLevel=
"JDK_1_7"
assert-keyword=
"true"
jdk-15=
"true"
project-jdk-name=
"1.
8
"
project-jdk-type=
"JavaSDK"
>
<output
url=
"file://$PROJECT_DIR$/build/classes"
/>
</component>
<component
name=
"ProjectType"
>
<option
name=
"id"
value=
"Android"
/>
</component>
<component
name=
"masterDetails"
>
<states>
<state
key=
"ScopeChooserConfigurable.UI"
>
<settings>
<splitter-proportions>
<option
name=
"proportions"
>
<list>
<option
value=
"0.2"
/>
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>
\ No newline at end of file
.idea/modules.xml
View file @
7fb34e79
...
...
@@ -2,8 +2,8 @@
<project
version=
"4"
>
<component
name=
"ProjectModuleManager"
>
<modules>
<module
fileurl=
"file://$PROJECT_DIR$/EarRecognition.iml"
filepath=
"$PROJECT_DIR$/EarRecognition.iml"
/>
<module
fileurl=
"file://$PROJECT_DIR$/app/app.iml"
filepath=
"$PROJECT_DIR$/app/app.iml"
/>
<module
fileurl=
"file://$PROJECT_DIR$/ear-recognition.iml"
filepath=
"$PROJECT_DIR$/ear-recognition.iml"
/>
</modules>
</component>
</project>
\ No newline at end of file
.idea/vcs.xml
View file @
7fb34e79
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"VcsDirectoryMappings"
>
<mapping
directory=
""
vcs=
""
/>
<mapping
directory=
""
vcs=
"
Git
"
/>
</component>
</project>
\ No newline at end of file
app/app.iml
View file @
7fb34e79
<?xml version="1.0" encoding="UTF-8"?>
<module
external.linked.project.id=
":app"
external.linked.project.path=
"$MODULE_DIR$"
external.root.project.path=
"$MODULE_DIR$/.."
external.system.id=
"GRADLE"
external.system.module.group=
"
EarR
ecognition"
external.system.module.version=
"unspecified"
type=
"JAVA_MODULE"
version=
"4"
>
<module
external.linked.project.id=
":app"
external.linked.project.path=
"$MODULE_DIR$"
external.root.project.path=
"$MODULE_DIR$/.."
external.system.id=
"GRADLE"
external.system.module.group=
"
ear-r
ecognition"
external.system.module.version=
"unspecified"
type=
"JAVA_MODULE"
version=
"4"
>
<component
name=
"FacetManager"
>
<facet
type=
"android-gradle"
name=
"Android-Gradle"
>
<configuration>
...
...
@@ -88,7 +88,7 @@
<excludeFolder
url=
"file://$MODULE_DIR$/build/outputs"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/tmp"
/>
</content>
<orderEntry
type=
"jdk"
jdkName=
"Android API 21 Platform"
jdkType=
"Android SDK"
/>
<orderEntry
type=
"jdk"
jdkName=
"Android API 21 Platform
(1)
"
jdkType=
"Android SDK"
/>
<orderEntry
type=
"sourceFolder"
forTests=
"false"
/>
<orderEntry
type=
"library"
exported=
""
name=
"support-v4-22.0.0"
level=
"project"
/>
<orderEntry
type=
"library"
exported=
""
name=
"support-annotations-22.0.0"
level=
"project"
/>
...
...
app/src/main/AndroidManifest.xml
View file @
7fb34e79
...
...
@@ -2,6 +2,10 @@
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"com.aluxoft.earrecognition"
>
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<application
android:allowBackup=
"true"
android:icon=
"@mipmap/ic_launcher"
...
...
@@ -16,6 +20,10 @@
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<activity
android:name=
".CameraActivity"
android:label=
"@string/title_activity_camera"
>
</activity>
</application>
</manifest>
app/src/main/java/com/aluxoft/earrecognition/CameraActivity.java
0 → 100644
View file @
7fb34e79
package
com
.
aluxoft
.
earrecognition
;
import
android.annotation.SuppressLint
;
import
android.app.AlertDialog
;
import
android.content.Context
;
import
android.content.DialogInterface
;
import
android.content.Intent
;
import
android.content.res.Resources
;
import
android.database.Cursor
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
android.net.Uri
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Environment
;
import
android.provider.BaseColumns
;
import
android.provider.DocumentsContract
;
import
android.provider.MediaStore
;
import
android.support.v7.app.ActionBarActivity
;
import
android.util.DisplayMetrics
;
import
android.util.Log
;
import
android.view.View
;
import
android.widget.Button
;
import
android.widget.ImageView
;
import
java.io.File
;
import
java.io.IOException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
public
class
CameraActivity
extends
ActionBarActivity
{
private
static
final
int
REQUEST_IMAGE_CAPTURE
=
1
;
private
static
final
int
SELECT_PICTURE
=
0
;
private
String
mCurrentPhotoPath
;
private
int
previewWidth
=
200
;
private
int
previewHeight
=
200
;
private
ImageView
previewImage
;
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_camera
);
previewImage
=
(
ImageView
)
findViewById
(
R
.
id
.
imageView
);
final
Button
takeButton
=
(
Button
)
findViewById
(
R
.
id
.
button
);
takeButton
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
takePhoto
(
takeButton
);
}
});
final
Button
pickButton
=
(
Button
)
findViewById
(
R
.
id
.
button2
);
pickButton
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
pickPhoto
(
pickButton
);
}
});
}
public
void
pickPhoto
(
View
view
)
{
Intent
intent
=
new
Intent
();
intent
.
setType
(
"image/*"
);
intent
.
setAction
(
Intent
.
ACTION_GET_CONTENT
);
startActivityForResult
(
Intent
.
createChooser
(
intent
,
"Select Picture"
),
SELECT_PICTURE
);
}
public
void
takePhoto
(
View
view
)
{
Intent
takePictureIntent
=
new
Intent
(
MediaStore
.
ACTION_IMAGE_CAPTURE
);
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
FROYO
)
{
if
(
takePictureIntent
.
resolveActivity
(
getPackageManager
())
!=
null
)
{
File
photoFile
=
null
;
try
{
photoFile
=
createImageFile
();
}
catch
(
IOException
ex
)
{
// Error occurred while creating the File
}
// Continue only if the File was successfully created
if
(
photoFile
!=
null
)
{
takePictureIntent
.
putExtra
(
MediaStore
.
EXTRA_OUTPUT
,
Uri
.
fromFile
(
photoFile
));
startActivityForResult
(
takePictureIntent
,
REQUEST_IMAGE_CAPTURE
);
}
}
}
}
private
File
createImageFile
()
throws
IOException
{
// Create an image file name
String
timeStamp
=
new
SimpleDateFormat
(
"yyyyMMdd_HHmmss"
).
format
(
new
Date
());
String
imageFileName
=
"JPEG_"
+
timeStamp
+
"_"
;
File
storageDir
=
Environment
.
getExternalStoragePublicDirectory
(
Environment
.
DIRECTORY_PICTURES
);
File
image
=
File
.
createTempFile
(
imageFileName
,
/* prefix */
".jpg"
,
/* suffix */
storageDir
/* directory */
);
// Save a file: path for use with ACTION_VIEW intents
mCurrentPhotoPath
=
image
.
getAbsolutePath
();
return
image
;
}
@SuppressLint
(
"NewApi"
)
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
requestCode
==
REQUEST_IMAGE_CAPTURE
)
{
if
(
resultCode
==
RESULT_OK
)
{
if
(
mCurrentPhotoPath
!=
null
)
{
/*
* añadimos la imagen a la galeria
*/
Intent
mediaScanIntent
=
new
Intent
(
Intent
.
ACTION_MEDIA_SCANNER_SCAN_FILE
);
File
f
=
new
File
(
mCurrentPhotoPath
);
Uri
contentUri
=
Uri
.
fromFile
(
f
);
mediaScanIntent
.
setData
(
contentUri
);
this
.
sendBroadcast
(
mediaScanIntent
);
String
path
=
f
.
getAbsolutePath
();
Log
.
e
(
""
,
path
);
Bitmap
galleryImage
=
getBitMapForPreview
(
path
,
previewWidth
,
previewHeight
);
previewImage
.
setImageBitmap
(
galleryImage
);
}
}
}
if
(
requestCode
==
SELECT_PICTURE
)
{
if
(
resultCode
==
RESULT_OK
)
{
int
currentapiVersion
=
android
.
os
.
Build
.
VERSION
.
SDK_INT
;
if
(
currentapiVersion
>=
android
.
os
.
Build
.
VERSION_CODES
.
KITKAT
)
{
Uri
uri
=
data
.
getData
();
String
IMAGE_FILEPATH
=
""
;
try
{
if
(
uri
==
null
)
{
IMAGE_FILEPATH
=
uri
.
getPath
();
}
else
{
// get the id of the image selected by the user
String
wholeID
=
DocumentsContract
.
getDocumentId
(
data
.
getData
());
String
id
=
wholeID
.
split
(
":"
)[
1
];
String
[]
projection
=
{
MediaStore
.
MediaColumns
.
DATA
};
String
whereClause
=
BaseColumns
.
_ID
+
"=?"
;
Cursor
cursor
=
getContentResolver
().
query
(
getUri
(),
projection
,
whereClause
,
new
String
[]
{
id
},
null
);
if
(
cursor
!=
null
)
{
int
column_index
=
cursor
.
getColumnIndexOrThrow
(
MediaStore
.
MediaColumns
.
DATA
);
if
(
cursor
.
moveToFirst
())
{
IMAGE_FILEPATH
=
cursor
.
getString
(
column_index
);
Bitmap
galleryImage
=
getBitMapForPreview
(
IMAGE_FILEPATH
,
previewWidth
,
previewHeight
);
previewImage
.
setImageBitmap
(
galleryImage
);
}
cursor
.
close
();
}
else
{
IMAGE_FILEPATH
=
uri
.
getPath
();
Bitmap
galleryImage
=
getBitMapForPreview
(
IMAGE_FILEPATH
,
previewWidth
,
previewHeight
);
previewImage
.
setImageBitmap
(
galleryImage
);
}
}
}
catch
(
Exception
e
)
{
try
{
Uri
selectedImageUri
=
data
.
getData
();
String
[]
projection
=
{
MediaStore
.
MediaColumns
.
DATA
};
Cursor
cursor
=
managedQuery
(
selectedImageUri
,
projection
,
null
,
null
,
null
);
int
column_index_data
=
cursor
.
getColumnIndexOrThrow
(
MediaStore
.
MediaColumns
.
DATA
);
cursor
.
moveToFirst
();
String
selectedImagePath
=
cursor
.
getString
(
column_index_data
);
Bitmap
galleryImage
=
getBitMapForPreview
(
selectedImagePath
,
previewWidth
,
previewHeight
);
previewImage
.
setImageBitmap
(
galleryImage
);
}
catch
(
Exception
ex
)
{
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
CameraActivity
.
this
);
builder
.
setMessage
(
"El elemento seleccionado no es una imágen válida"
).
setTitle
(
"Información"
);
builder
.
setNegativeButton
(
"Aceptar"
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
id
)
{
// User cancelled the dialog
}
});
AlertDialog
dialog
=
builder
.
create
();
dialog
.
show
();
}
}
}
else
{
try
{
Uri
selectedImageUri
=
data
.
getData
();
String
[]
projection
=
{
MediaStore
.
MediaColumns
.
DATA
};
Cursor
cursor
=
managedQuery
(
selectedImageUri
,
projection
,
null
,
null
,
null
);
int
column_index_data
=
cursor
.
getColumnIndexOrThrow
(
MediaStore
.
MediaColumns
.
DATA
);
cursor
.
moveToFirst
();
String
selectedImagePath
=
cursor
.
getString
(
column_index_data
);
Bitmap
galleryImage
=
getBitMapForPreview
(
selectedImagePath
,
previewWidth
,
previewHeight
);
}
catch
(
Exception
e
)
{
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
CameraActivity
.
this
);
builder
.
setMessage
(
"El elemento seleccionado no es una imágen válida"
).
setTitle
(
"Información"
);
builder
.
setNegativeButton
(
"Aceptar"
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
id
)
{
// User cancelled the dialog
}
});
AlertDialog
dialog
=
builder
.
create
();
dialog
.
show
();
}
}
}
}
}
private
Bitmap
getBitMapForPreview
(
String
path
,
int
width
,
int
height
)
{
BitmapFactory
.
Options
options
=
new
BitmapFactory
.
Options
();
// solo se usa para calcular el samplesize
options
.
inJustDecodeBounds
=
true
;
BitmapFactory
.
decodeFile
(
path
,
options
);
options
.
inSampleSize
=
calculateInSampleSize
(
options
,
(
int
)
convertDpToPixel
((
float
)
width
,
this
),
(
int
)
convertDpToPixel
((
float
)
height
,
this
));
options
.
inJustDecodeBounds
=
false
;
Bitmap
galleryImage
=
BitmapFactory
.
decodeFile
(
path
,
options
);
return
galleryImage
;
}
/**
* esto se utiliza para reducir la carga en memoria de la imagen, android es muy
* ineficiente para cargar imagenes y si no se reduce el tamaño de acuerdo a la resolucion
* del dispositivo, se crean errores de memoria insuficiente, se tienen que obtener el calculo de
* los pixieles en base a los dp de la interfaz y generarlos de acuerdo a la densidad del dispositivo
*
* @param options
* @param reqWidth ancho del imageView donde se metera la imagen en pixeles
* @param reqHeight alto del imageView donde se metera la imagen en pixeles
* @return
*/
private
int
calculateInSampleSize
(
BitmapFactory
.
Options
options
,
int
reqWidth
,
int
reqHeight
)
{
// Raw height and width of image
final
int
height
=
options
.
outHeight
;
final
int
width
=
options
.
outWidth
;
int
inSampleSize
=
1
;
if
(
height
>
reqHeight
||
width
>
reqWidth
)
{
final
int
halfHeight
=
height
/
2
;
final
int
halfWidth
=
width
/
2
;
// Calculate the largest inSampleSize value that is a power of 2 and
// keeps both
// height and width larger than the requested height and width.
while
((
halfHeight
/
inSampleSize
)
>
reqHeight
&&
(
halfWidth
/
inSampleSize
)
>
reqWidth
)
{
inSampleSize
*=
2
;
}
}
return
inSampleSize
;
}
/**
* This method converts dp unit to equivalent pixels, depending on device density.
*
* @param dp A value in dp (density independent pixels) unit. Which we need to convert into pixels
* @param context Context to get resources and device specific display metrics
* @return A float value to represent px equivalent to dp depending on device density
*/
public
static
float
convertDpToPixel
(
float
dp
,
Context
context
){
Resources
resources
=
context
.
getResources
();
DisplayMetrics
metrics
=
resources
.
getDisplayMetrics
();
/**
*
* formulas de android developers:
*
* px = dp * (dpi / 160)
*
* dp = px / (dpi / 160)
*
*/
float
px
=
dp
*
(
metrics
.
densityDpi
/
160
f
);
return
px
;
}
private
Uri
getUri
()
{
String
state
=
Environment
.
getExternalStorageState
();
if
(!
state
.
equalsIgnoreCase
(
Environment
.
MEDIA_MOUNTED
))
return
MediaStore
.
Images
.
Media
.
INTERNAL_CONTENT_URI
;
return
MediaStore
.
Images
.
Media
.
EXTERNAL_CONTENT_URI
;
}
}
app/src/main/java/com/aluxoft/earrecognition/MainActivity.java
View file @
7fb34e79
package
com
.
aluxoft
.
earrecognition
;
import
android.content.Intent
;
import
android.support.v7.app.ActionBarActivity
;
import
android.os.Bundle
;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
android.view.View
;
import
android.widget.Button
;
public
class
MainActivity
extends
ActionBarActivity
{
...
...
@@ -11,6 +14,14 @@ public class MainActivity extends ActionBarActivity {
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_main
);
Button
camara
=
(
Button
)
findViewById
(
R
.
id
.
button3
);
camara
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
Intent
intent
=
new
Intent
(
MainActivity
.
this
,
CameraActivity
.
class
);
startActivity
(
intent
);
}
});
}
@Override
...
...
app/src/main/res/layout/activity_camera.xml
0 → 100644
View file @
7fb34e79
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:paddingLeft=
"@dimen/activity_horizontal_margin"
android:paddingRight=
"@dimen/activity_horizontal_margin"
android:paddingTop=
"@dimen/activity_vertical_margin"
android:paddingBottom=
"@dimen/activity_vertical_margin"
tools:context=
"com.aluxoft.earrecognition.CameraActivity"
>
<Button
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Take button"
android:id=
"@+id/button"
android:layout_centerHorizontal=
"true"
/>
<ImageView
android:layout_width=
"200dp"
android:layout_height=
"200dp"
android:id=
"@+id/imageView"
android:layout_centerVertical=
"true"
android:layout_centerHorizontal=
"true"
/>
<Button
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Pick Button"
android:id=
"@+id/button2"
android:layout_below=
"@+id/button"
android:layout_centerHorizontal=
"true"
/>
</RelativeLayout>
app/src/main/res/layout/activity_main.xml
View file @
7fb34e79
...
...
@@ -6,6 +6,16 @@
android:paddingBottom=
"@dimen/activity_vertical_margin"
tools:context=
".MainActivity"
>
<TextView
android:text=
"@string/hello_world"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
android:layout_height=
"wrap_content"
android:id=
"@+id/textView"
/>
<Button
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Ir a manejo de camara"
android:id=
"@+id/button3"
android:layout_below=
"@+id/textView"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"86dp"
/>
</RelativeLayout>
app/src/main/res/values/strings.xml
View file @
7fb34e79
...
...
@@ -3,4 +3,5 @@
<string
name=
"hello_world"
>
Hello world!
</string>
<string
name=
"action_settings"
>
Settings
</string>
<string
name=
"title_activity_camera"
>
CameraActivity
</string>
</resources>
ear-recognition.iml
0 → 100644
View file @
7fb34e79
<?xml version="1.0" encoding="UTF-8"?>
<module
external.linked.project.id=
"ear-recognition"
external.linked.project.path=
"$MODULE_DIR$"
external.root.project.path=
"$MODULE_DIR$"
external.system.id=
"GRADLE"
external.system.module.group=
""
external.system.module.version=
"unspecified"
type=
"JAVA_MODULE"
version=
"4"
>
<component
name=
"FacetManager"
>
<facet
type=
"java-gradle"
name=
"Java-Gradle"
>
<configuration>
<option
name=
"BUILD_FOLDER_PATH"
value=
"$MODULE_DIR$/build"
/>
<option
name=
"BUILDABLE"
value=
"false"
/>
</configuration>
</facet>
</component>
<component
name=
"NewModuleRootManager"
LANGUAGE_LEVEL=
"JDK_1_7"
inherit-compiler-output=
"true"
>
<exclude-output
/>
<content
url=
"file://$MODULE_DIR$"
>
<excludeFolder
url=
"file://$MODULE_DIR$/.gradle"
/>
</content>
<orderEntry
type=
"jdk"
jdkName=
"1.8"
jdkType=
"JavaSDK"
/>
<orderEntry
type=
"sourceFolder"
forTests=
"false"
/>
</component>
</module>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment