Practicas Android

Practica 1

Necesito una aplicación para Android y iPhone que permita al usuario solicitar auxilio mecánico. Al enviar la solicitud, a la central debería llegar un correo mensaje con el número de teléfono celular del usuario y su ubicación en coordenadas geográficas, con capacidad de ver la ubicación del usuario en un mapa. 

Con esos datos, la central se contactará vía telefónica con el usuario, así que NO es necesario que exista la opción de chat en la aplicación.

Debe tener un proceso de registro de usuarios al momento de la instalación, que pida Nombre, Teléfono, Correo Electrónico. 

El servicio se realiza en un área geográfica específica, por lo que si el usuario no se encuentra dentro del área de servicio, debería mostrar un mensaje al usuario que diga “NUESTRO SERVICIO NO TIENE COBERTURA EN EL LUGAR DONDE USTED SE ENCUENTRA”.

El área de cobertura debería ser configurable, de manera que se pueda ampliar el área de servicio 

Practica 2

 

I am creating a new app which will be used to teach toddlers (aged 1 to 5) how to read. The app will use a combination of flashcards with images and videos.

High level features of the app will:
– have multiple “topic decks” of flashcards for the toddler to learn from.
– have an animated character guiding the toddler through the app (almost like a teacher)
– need to have in-app purchasing enabled so that users can buy further topic decks.
– need to store record and store videos and images for use by the app.
– need a method for users to recommend the app to other people
– need to track users that have downloaded the app as a result of a recommendation. this will result in an award for the user that made the recommendation

Advertisements

Practicas Android

Practica 1

Necesito una aplicación para Android y iPhone que permita al usuario solicitar auxilio mecánico. Al enviar la solicitud, a la central debería llegar un correo mensaje con el número de teléfono celular del usuario y su ubicación en coordenadas geográficas, con capacidad de ver la ubicación del usuario en un mapa. 

Con esos datos, la central se contactará vía telefónica con el usuario, así que NO es necesario que exista la opción de chat en la aplicación.

Debe tener un proceso de registro de usuarios al momento de la instalación, que pida Nombre, Teléfono, Correo Electrónico. 

El servicio se realiza en un área geográfica específica, por lo que si el usuario no se encuentra dentro del área de servicio, debería mostrar un mensaje al usuario que diga “NUESTRO SERVICIO NO TIENE COBERTURA EN EL LUGAR DONDE USTED SE ENCUENTRA”.

El área de cobertura debería ser configurable, de manera que se pueda ampliar el área de servicio 

C# POST/GET Windows 10

 

 

private
async
void post_Click(object sender, RoutedEventArgs e)

{


string url = “URL”;


HttpClient client = new
HttpClient();


HttpResponseMessage response = await client.GetAsync(url);


///var JsonString = await response.Content.ReadAsStringAsync();


string page_response = await response.Content.ReadAsStringAsync();


Debug.WriteLine(page_response);

}

 


private
async
void post_Click_1(object sender, RoutedEventArgs e)

{


///url…


string url = “URL”;


///creacion de las variables a subir


//IEnumerable<KeyValuePair<string, string>> query = new List<KeyValuePair<string, string>>()


//{


// new KeyValuePair<string, string>(“email”,”edgar@gmail.com”),


// new KeyValuePair<string, string>(“pass”,”moreno”),


// new KeyValuePair<string, string>(“tipoUsr”,”1″)


//};

 


var values = new
Dictionary<string,string>{

{“email”,“arturo@gmail.com”},

{“pass”,“flores”},

{“tipoUsr”,“0”}

};

 

 


/**


{ “email”,”arturo@gmail.com” },


{ “pass”,”flores” },


{ “tipoUsr “,”0”}

 


{ “email”,”edgar@gmail.com” },


{ “pass”,”moreno” },


{ “tipoUsr “,”1”}

 

 


{ “email”,”ramses@gmail.com” },


{ “pass”,”miramontes” },


{ “tipoUsr “,”0”}

 


{“email”: “ramses@gmail.com”, “pass”: “miramontes”, “tipoUsr”: “0”}

 

 


email:arturo@gmail.com

pass:flores

tipoUsr:0


*/

 


///creando contenido y agregandole las variables POST


HttpContent content = new
FormUrlEncodedContent(values);////estamos calando otras formas de crear variables


///creando el cliente que abrira la conexion


HttpClient client = new
HttpClient();


//////////En esta parte debe ir lo de Headers, solo que aun no sabemos como debe ser hecha… por lo tanto declaro:


/////////////////////////////////////////////ZONA DE DESARROLLO —->iNICIO


/// client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/json”));


/***

http://stackoverflow.com/questions/10679214/how-do-you-set-the-content-type-header-for-an-httpclient-request

***/


/////////////////////////////////////////////ZONA DE DESARROLLO —->fINAL


///agregando la respuesta a una variable del tipo que puede contenerla….


HttpResponseMessage response = await client.PostAsync(url, content);


///creando algo que se puede acceder mas tarde


string page_response = await response.Content.ReadAsStringAsync();


Debug.WriteLine(page_response);


Debug.WriteLine(response.Headers.ToString());

 

 

}

SQLite on C#

 

In this part should be the explanation of SQLite and what it is… but I don’t feel like explaining this today, so I’m skipping this step.

 

And after the explanation of what is SQLite, now we are using it in an example with C# on UWP.

Before starting we need to download the SQLite reference from the official page, https://www.sqlite.org/download.html.

Once downloaded and installed, we need the references on the app

 

 

After this we need to make an internal reference on Nuget (don’t ask, I just mash up some examples and it worked fine) . Make a search of “SQLite-PCL” and install this package.

 

 

After this, you need to add the library on the project you are working on.

using SQLitePCL;

Once this is done, it should be easy to implement the creation of a table

public
void createTable()

{


using (var connection = new
SQLiteConnection(“Storage.db”))

{


using (var statement = connection.Prepare(@”CREATE TABLE IF NOT EXISTS Student (

ID INT(10),

NAME NVARCHAR(50),

CGPA NVARCHAR(10));”))

{

statement.Step();

}

}

}

And this is the first example of SQLite on UWP.

Startup programs

There are several time when you need your application run at start, sometimes you just want the application run on the background, other times we need it to ask for informations before going ahead. As said before there are several options to do this, but the simple path (yet not professional) is to add this files to the startup file. This file is located on /etc/rc.local.

This file can store several commands for execution, also, it’s for some more actions, but for this time we are using it as a execution file.

 

We just edit the file as follows:

sudo <compiler> <path to file> <&>

and if you want it to run on background, just add an & at the end, it’s not necessary but if your code has a no end of line, or an infinite loop, then all the start of the OS is going to get stuck.

Raspberry GPIO

 

Code for Python

import
RPi.GPIO as GPIO

 
 

# Use GPIO numbers not pin numbers

GPIO.setmode(GPIO.BCM)

 
 

# set up the GPIO channels – one input and one output

GPIO.setup(7, GPIO.IN)

GPIO.setup(8, GPIO.OUT)

 
 

# input from GPIO7

input_value =
GPIO.input(7)

 
 

# output to GPIO8

GPIO.output(8, True)

Overclocking gone wrong

Brief description is that I run raspi-config and change the overclocking for something more fast. The choice I selected was not the right one and I end up with a black screen for an OS.

The solution: modify the config.txt file that is on the boot partition, this partition can be easily access via widows and edited with any text editor. The thing that you must edit is anything that has to say something about the overclocking.

And that is all.