Mostrando las entradas con la etiqueta android. Mostrar todas las entradas
Mostrando las entradas con la etiqueta android. Mostrar todas las entradas

jueves, 30 de junio de 2011

Gaming 3d android blender - gimp - android sdk - opengl - min3d import obj

Bueno, buscando un poco (sigo en la busqueda de lo ideal) explico como comenzar con juegos 3d en android, que herramientas (open source, no vamos a gastar plata) , frameworks , etc.

Vamos a generar un archivo en 3d, exportalo a obj , y despúes importalo en nuestro programa android.

Conocimiento básico, http://es.wikipedia.org/wiki/OpenGL

Progamas a usar (así van descargando)

Dibujo 3d

http://www.blender.org/download/get-blender/

 

Editor gráfico

http://www.gimp.org/downloads/

 

eclipse y sdk de android http://www.weterede.com/2009/06/instalacion-sdk-de-android-en-eclipse/

( seguro ya lo tienen ;) ) 

 

bueno primero abrimos blender (tutoriales de este hay miles en google)

 

 

apretamos "A" para que se seleccione/deseleccione todo

luego "u" para sacar las caras del cubo , a una imagen que podamos retocar afuera

y apretamos "lightMap pack" -> ok

 

 

 

ahora, abajo hay un boto new image, presionamos, y va a poner una imagen en el fondo 

seleccionamos en el menu de abajo , image->image  painting  y vamos a poder escribir en nuestra imagen.

 

en la otra ventana, apretamos   y seleccionamos textured (para que renderee con las texturas) 

si dibujamos en la ventana de textura, se replica en el objeto

 

 

ahora pueden poner en el submenu image-> save as image y editarla externamente con el gimp

 

luego volvemos a blender , y con image -> open image y seleccionamos la imagen editada

 

 

ahora vamos a exportar para poderlo utilizar afuera

 

 

file -> export -> wavefront.obj 

que es un archivo de texto, con toda la data para renderizar

 

http://en.wikipedia.org/wiki/Wavefront_.obj_file

 

En el siguiente post, pongo como importar el obj desde java

 

 

 

 

 

 

 

 

 

 

 

lunes, 27 de junio de 2011

Custom Contact Manager Android

Quiero un listado de contactos en 2 columnas, hecho de la manera más simple posible. 
En principio solo mostraremos los nombres de los contactos, luego imagenes, abrir dialer, etc.
 Main.java
package b.android;

import java.util.ArrayList;

import java.util.HashMap;

import android.app.Activity;

import android.database.Cursor;

import android.net.Uri;

import android.os.Bundle;

import android.provider.ContactsContract;

import android.widget.GridView;

import android.widget.SimpleCursorAdapter;

public class Main extends Activity {

static final ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

String[] projection = new String[] { ContactsContract.Data.DISPLAY_NAME,

ContactsContract.Data._ID };

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

setContentView(R.layout.main);

populateContactList();

}

private void populateContactList() {

// Build adapter with contact entries

Cursor cursor = getContacts();

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,

R.layout.contact, cursor, projection,

new int[] { R.id.contactName });

GridView gridview = (GridView) findViewById(R.id.gridview);

gridview.setAdapter(adapter);

}

private Cursor getContacts() {

// Run query

Uri uri = ContactsContract.Contacts.CONTENT_URI;

String sortOrder = ContactsContract.Data.DISPLAY_NAME

+ " COLLATE LOCALIZED ASC";

return managedQuery(uri, projection, null, null, sortOrder);

}

}
Contacto Individual
 contact.xml 
 <?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent" android:layout_height="wrap_content"

android:orientation="horizontal">

<TextView android:id="@+id/contactName" android:textSize="12sp"

android:textStyle="bold" android:layout_width="fill_parent"

android:layout_height="fill_parent" />

</LinearLayout>
Listado
 main.xml  
<?xml version="1.0" encoding="utf-8"?>

<GridView xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/gridview"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:numColumns="auto_fit"

android:verticalSpacing="10dp"

android:horizontalSpacing="10dp"

android:columnWidth="130dp"

android:stretchMode="columnWidth"

android:gravity="center"

/>
Seteamos el Main, y los permisos de lectura a contactos
 AndroidManifest.xml  

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="b.android"

android:versionCode="1"

android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".Main"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>



<uses-permission android:name="android.permission.GET_ACCOUNTS" />

<uses-permission android:name="android.permission.READ_CONTACTS" />

<uses-permission android:name="android.permission.WRITE_CONTACTS" />

</manifest>