En aquest vídeo ensenyo com usar la classe android.util.Log per poder debuggar les nostres aplicacions
Bloc de programació dels Cicles Formatius de la Família d'Informàtica i Comunicació Formació Professional FP / FP Dual
Es mostren els missatges amb l'etiqueta de comentaris Android. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris Android. Mostrar tots els missatges
diumenge, 10 de novembre del 2013
Log. Classe android.util.log
dilluns, 28 d’octubre del 2013
Importar/exportar/esborrar un projecte Android a Eclipse
En aquest vídeo es mostra com Importar i esborrar un projecte Android a Eclipse
Fer una captura de Pantalla a l'emulador
En aquest vídeo s'explica com fer una captura de pantalla des de l'emulador.
dilluns, 21 d’octubre del 2013
Regions, idiomes, traduccions
En el següent vídeo es mostra com funciona el tema de regions, idiomes i traduccions a Android
Com comprovar que el camp d'un formulari no és buit
En el següent vídeo es mostra com comprovar que no és buït el camp d'un formulari.
S'afegeix una notiticació Toast.
divendres, 18 d’octubre del 2013
Elecció de la plataforma de desenvolupament
Un dels
temes principals a decidir en programar un app és la versió d'API a implementar
Per
prendre aquesta decisió cal analitzar la quota de mercat de les diferents APIS,
les seves característiques i el tipus de
dispositius que volem que suporti la nostra aplicació.
En
primer lloc, hem de saber si volem implementar alguna característica que només
estigui desenvolupada a partir d'una versió en concret.
Caldrà
tenir en compte que els usuaris amb dispositius inferior a aquesta versió no
podran usar la nostre app.
Per tant una bona idea és usar l'api inferior que en
ofereix les funcionalitat requerides.
Una
altra dada important a consultar és el nombre actual de dispositius per
versions. Aquestes dades les publica Google cada set dies (http://developer.android.com/about/dashboards/index.html)
Fragmentació
La
fragmentació és sense dubte la dificultat i risc més important en el
desenvolupament d'aplicacions mòbils. La fragmentació pot ser de diferents
graus: no és el mateix una app que ha de corre en dos telèfons diferents i en
una mateixa versió de la plataforma que una que ha de corre en un mòbil i una
tablet i amb versions diferents.
La
fragmentació ve donada per diferents factors
§
Maquinari
diferent
§
Programari
diferent
§
Plataforma
§
Implementacions
§
Variació
de les funcionalitats
§
Preferències
d'usuari
§
Diferències
de l'entorn
El que
provoca la fragmentació en Android és precisament la gran diversitat de
dispositius, com per exemple, les diferents mides de pantalla, resolucions,
memòria, processador etc. Per altra banda, el fet que convisquin alhora
diferents nivells d'API amb característiques diferents. Finalment, el fet que
cada fabricant pugui adaptar el sistema operatiu Android a la seva mida augmenta
la fragmentació.
Els
perjudicats són per una banda els usuaris, que es troben amb app que no poden instal·lar
en els seus dispositius i sobretot els programadors, que han d'adaptar les
aplicacions per diferents APIS, resolucions, densitats, processadors etc.. És a
dir, un caos.
La
fragmentació no és exclusiva d'Android i també ho trobem a iOS i a Windows
Phone.
Versions i APIS d' Android
Abans
de començar qualsevol projecte en Android cal elegir la versió del sistema que
usarem per realitzar la aplicació.
Com és
evident hi ha funcionalitat, classes i mètodes que només estan disponibles a
partir d'una versió en concret.
Quan
Google llença una nova plataforma sempre és compatible amb l'anterior. És a
dir, s'afegeixen noves funcionalitats, però les antigues es poden seguir
emprant.
Les
diferents plataformes d'Android s'identifiquen amb tres maneres diferents: pel
nivell d'API, per la versió i pel nom.
Un
mateix nom pot indicar dues versions diferents, per exemple, el nom Jelly Bean
correspon a la versió 4.1 i 4.2 amb API 16 i 17 respectivament.
Dos números
de versions diferents poden correspondre a un mateix nivell d'API, per exemple,
Android 2.3.4 i Android 2.3.3 corresponen a nivell API 10.
Dos
nivells d'API diferents poden indicar un mateix nom, per exemple, l'API 9 i
l'API 10 corresponen a Gingerbread, totes versions 2.3.x.
El
nivell d'API va començar amb la versió 1. Els noms de les diferents versions
van en ordre alfabètic i tenen noms de postres. A continuació s'anomenen els
diferents noms de versions i la data d'aparició:
|
A: Apple Pie (v1.0), Pastís
de poma
|
Setembre 2008
|
|
B: Banana Bread (v1.1), Pa de
plàtan
|
Febrer 2009
|
|
C: Cupcake (v1.5), Magdalena
|
Abril 2009
|
|
D: Donut (v1.6),
|
Setembre 2009
|
|
E: Éclair (v2.0/v2.1), pastís
francès conegut a Espanya canut.
|
Octubre2009
|
|
F: Froyo (v2.2.x),
(Abreviatura de «frozen iogurt») Iogurt gelat.
|
Maig 2010
|
|
G: Gingerbread (v2.3.x), Pa
de gingebre.
|
Desembre 2010
|
|
H: Honeycomb (v3.x), Bresca
de mel.
|
Febrer 2011
|
|
I: Ice Cream Sandwich (v4.0),
Sandvitx de gelat.
|
Octubre 2011
|
|
J: Jelly Bean (v4.1/v4.2),
Gominola.
|
Juny 2012
|
|
K: Key Lime Peu (v5.0) (No
s'ha confirmat el nom final)
|
????? Sense data
|
Cal
destacar que la versió 3.x és exclusiva per a tablets.
La
última versió és la v.4.2.2 amb nom Jelly Bean i nivell d'API 17 i llançada al
febrer del 2013.
Com a
curiositat, cada vegada que surt un nou nom de versió es fa la seva corresponen
figura que es col·loca a l'entrada de la
seu de Google (Googleplex és la seu de la
companyia Google Inc, ubicada a Mountain View,
Califòrnia)
En
aquest taula podeu veure la relació entre versions, noms i APIS, així com un
enllaç a les principals característiques de cada API. (font de la taula:
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#platform)
|
Versió
|
API
|
Codi versió
|
Característiques
|
|
|
|||
|
2
|
|
||
|
Android
1.0
|
1
|
|
MVC a Android
Android s’utilitza el patró d’arquitectura de software
anomenada MVC (Model-Vista-Controlador), que permet separar les dades
d’una aplicació de la interfície de l’usuari i la lògica de l’aplicació en tres
components diferents que es relacionen entre sí per tenir, al final una
aplicació operativa.
Permet la
reutilització de molts components i les interfícies dissenyades amb aquest
sistema solen estar millor definides.
Els programes en general són més
adaptables als canvis i són més
extensibles.
Android és codi lliure ?
Actualment
la llicència d'Android és està sota les llicències Apache 2.0 i GNU GPL 2
El fet que
les versions 1 i 2 d'Android fossin lliures va popularitzar el sistema. Però en
la versió 3, Google va decidir no mostrar el codi. En la versió 4, en canvi el
codi es va tornar a obrir, afortunadament. De fet la llicència d'Apache permet
que Google pugui tornar a tancar el codi en qualsevol moment, és a dir,q que no
tingui perquè compartir les millores de codi amb la comunitat. També és cert,
que de moment no és la intenció de l'empresa.
Aquest punt,
permet que qualsevol companyia que desenvolupi un maquinari, agafar el codi
d'Android, sense cap acord previ amb la companyia i ajustar-lo perquè funcioni
adequadament. Es per això que trobem dispositius amb sistema operatiu Android,
sense el recolzament de Google, tant productes de primera línia com el Amazon Kindle
Fire o altres dispositius de baixa qualitat com les tablets
xineses.
Orígens Android
L'Android
va ser iniciat dins d'una empresa, que va ser qui li va donar el nom,
Android
Inc., fundada el 2003, fundada a Palo Alto, Califòrnia per Andy Rubin, Rich
Miner.
El 2005
Google va comprar aquesta empresa,i va incorporar a les seves files alguns dels
principals empleats, incloent a Andy Rubin, Rich Miner i Chris White. En aquest
mateix any Google comença a treballar en la Dalvik VM , una màquina
virtual Java optimitzada per a mòbils.
A causa
del poc coneixement que es tenia en aquell moment sobre el treball de Android
Inc. en un primer moment es va conjecturar que Google pensava entrar al mercats
dels dispositius mòbils.
A
Google, aquest equip liderat per Rubin, va desenvolupar una plataforma per
dispositius mòbils basada en el nucli de Linux.
El
novembre del 2007 es crea el consorci 'Open Handset Alliance, amb l'objectiu de desenvolupar estàndards oberts
per a dispositius mòbils. L'Open Handset Alliance és un consorci de diverses
empreses que inclou Broadcom Corporation, Google, HTC, Intel, LG, Marvell
Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint
Nextel, T-Mobile i Texas Instruments. El mateix dia l'Open Handset Alliance va
anunciar el seu primer producte, Android, una plataforma per a dispositius
mòbils construïda sobre la versió 2.6 del nucli Linux.
Al
novembre de 2007 es llança la primera versió de l'Android SDK.
El
desembre del 2008 s'afegeixen a l'Open Handset Alliance catorze nous membres,
incloent-hi
ARM Holdings, Atheros Communications, Asustek Computer Inc., Garmin Ltd.,
PacketVideo, Softbank, Sony Ericsson, Toshiba Corp. i Vodafone Group Plc.
El maig
del 2008 es concedeixen els premis del primer Android developer challenge, que és un concurs per a aconseguir les
millors aplicacions per a l'Android. Amb aquest concurs, i les edicions
següents, s'aconsegueix una gran repercussió i grans aplicacions.
El
setembre del 2008 s'allibera la primera versió de la plataforma, la 1.0, però
encara
no hi havia cap dispositiu.
Finalment
l'octubre del 2008 apareix el primer dispositiu, T-Mobile o HTC Dream, venut
inicialment als Estats Units i posteriorment a la resta del món. I el nombre de
dispositius no ha deixat de créixer, i ja són centenars de dispositius
diferents.
En el
mateix mes, s'inaugura l' Android Market
(que més tard s'anomenarà Google Play, al 2012,
unificant aplicacions i continguts), per la descàrrega d'aplicacions.
El
febrer del 2011 es fa oficial la primera versió orientada no a telèfons
intel·ligents o smart phones sinó a ordinadors de tauleta o tablet PC, la
versió 3.x amb millores en la interfície, suport de videotrucada i capacitats per
a un maquinari molt més potent. A l'octubre de 2011 apareix la versió 4.x tant
per mòbils com per tablets.
Actualment
es parla de més de 100.000 activacions de dispositius diàriament
amb la
plataforma Android, i de gairebé 200.000 desenvolupadors que ja han
creat
desenes de milers d'aplicacions, i no paren de créixer.
Nom i logotip
El nom d’Android i Nexus
One fa referència a la novel·la de Philip K. Dick
anomenada “Somien els androides amb ovelles
elèctriques?".
Aquesta novel·la va ser adaptada al cinema per Ridley Scott l'any 1982
amb el nom de Blade Runner
El llibre
i la pel · lícula
se
centren en un grup d'androides
anomenats
replicants
del
model Nexus-6
El logotip d’Android és el robot anomenat "Andy", i va ser dissenyat per Irina Blok (http://www.irinablok.com/)
El logotip d’Android és el robot anomenat "Andy", i va ser dissenyat per Irina Blok (http://www.irinablok.com/)
Quan s'utilitza el robot Android o qualsevol modificació del mateix, es requereix la deguda atribució sota els termes de la llicència Reconeixement Creative Commons.
dijous, 25 de juliol del 2013
Controls Bàsics d'una aplicació Android
- TextView: Per mostra textos a l'usuari
Per definir el textView en un
Layout
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/nom"
/>
Per accedir des del codi java
TextView tx = (TextView)findViewById(R.id.textView1);
- EditText: per introduir i editar text per part de l'usuari
Per definir-lo en un Layout
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10">
</EditText>
Per accedir des del codi java
EditText edtx = (EditText)findViewById(R.id.editText1);
- Button
Per definir-lo en un layout
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/acceptar"
/>
Per accedir des del codi java
Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO
Auto-generated method stub
}
});
- CheckBox : S'usa per marcar o desmarcar una o més opcions
Per definir-lo en un layout
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cine" />
Per accedir des de java, per saber
si està o no marcat
CheckBox checkBox = (CheckBox)
findViewById(R.id.checkBox1);
checkBox.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
// El checkbox esta marcado
}
else {
// El checkbox esta desmarcado
}
}
});
- RadioButton: serveix per marcar una opció dins d'un grup. Cal incloure dins d'un RadioGroup
Per definir-lo en un layout
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/smx" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/asix" />
</RadioGroup>
Per accedir des de java, per saber
si està o no marcat
RadioGroup
radioGroup = (RadioGroup) findViewById(R.id.radioGroup1);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Hacer
algo con la opción marcada
// representada por el id
checkedId
RadioButton
rb = (RadioButton) findViewById(checkedId);
}
});
Amb el mètode getCheckedRadioButtonId() podem saber quina de les opcions el
radioButton han estat clicades.
Subscriure's a:
Missatges (Atom)