Sei sulla pagina 1di 4

APPUNTI PROGRAMMAZIONE ANDROID

La view è una classe di base. FindViewActivity va a cercare nel contenuto, dichiarato prima
(SetContentView(R.layout.nomeActivity))

Activity
layout
relative layer FindViewby.id ();
text name

Risultato

Per mettere un bottone sotto l’altro, creare una funzione al di fuori del ciclo for, con below id
int BelowId = R.id.helloworld_textViewHello;
for …………………………………..
BelowId=button.getId ();

Il colore è indicato in esadecimale


canvas.drawColor (0XFFAAAAAA)
0X indica che il valore è in esadecimale
FF indica il valore della trasparenza
AAAAAA indica il valore RGB
I colori Web Safe sono una sottoclasse esadecimale e sono quelli visualizzati in modo fedele dal
browser.
Il setContentView crea tutti gli oggetti interfaccia (bottoni, etc.).
L’operazione successiva è il findView, per cercare l’indirizzo degli oggetti creati.
Per rinominare un elemento bisogna usare il refactor > rename (tasto destro del mouse
sull’elemento da rinominare).
Le interfacce possono istanziare oggetti, sono come le classi ma dichiarano solo comportamenti.
Es. public interface onClickListener {
void onClick (view v);
onClickListener b = new onClickListener (tipo e variabile)

Per ereditare un’interfaccia:


public interface Automobile {
void Accelera ();
void Frena ();
}
public interace F127 extends Automobile
void Reclina (); {
public class Ciccio implements F127;
}
Per sistemare l’indentazione del codice in eclipse usare CTRL + I
Per creare la documentazione del codice in eclipse con Java.comm configurare e selezionare
Javadoc.exe
I tipi di dati vanno scritti in minuscolo.
I nomi delle variabili devono cominciare in minuscolo, non devono contenere numeri, né spazi, dal
secondo nome usare iniziali maiuscole.
Il modulo di una divisione serve ad esempio per trovare numeri pari e dispari.
Il metodo è contradistinto dalla presenza di due paracentesi tonde ()

Per crackare USER e PASSWORD (Sql injecion):


Login,
USER digitare ‘-- oppure ‘or 1 = 1
Password digitare qualsiasi cosa

Variabile = locazione di memoria ram in cui conservare un valore

STRUTTURA PROGETTO ANDROID


Il file AndroidManifest.XML è il file che contiene tutte le informazioni necessarie per funzionare
bene. Il nome del package deve essere unico e diverso per ogni applicazione.
Version code è il nome della versione dell’eseguibile
Version name è il nome della versione di eventuali aggiornamenti.
Label è il nome che viene sopra l’icona dell’applicazione in tutte le finestre standard
dell’applicazione.
Le activity vanno dichiarate nel Manifest.
Proguard-project.txt aiuta ad offuscare l’applicazione per impedire di far risalire al codice sorgente.
Togliendo il segno # al file project.properties prima della riga
# to enable ProGuard to shrink …..
si abilita l’offuscamento del file (quint’ultima riga vuota.
Le cartelle GEN (Generated Java Files), Android 4.2.2 e Android Privates Libreries non vanno
toccate, sono utilizzate come struttura di base per l’applicazione.
Nella cartella assetts vanno archiviati i files che non sono risorse (es. database, pagine web,etc)
In assetts posso creare cartelle per ogni genere, mentre in res/raw non posso creare sottocartelle.

La struttura MVC (Model View Controller).


La View è il template, l’aspetto visuale rivolto verso l’utente, il Controller è ciò che fa girare la
logica, il Model contiene la conoscenza (tipo banca dati) che fa girare la logica. In Android
l’activity è il controller, il layout è la view.

PPATTERN MVC
Il pattern è uno schema utilizzato per risolvere problemi ricorrenti.
Gettern è un metodo per ottenere risorse dall’esterno
Settern è un metodo di scrittura del valore.
Public class Object {
private String name=”Nessuno”;
public String getName () {
return this.name }

public void setName (string nameParam){


this.name=nameParam;
}
}
Persona pers; (dichiaro la variabile, cioè lo spazio di memoria da riservarmi)
pers=new persona (); (new crea un nuovo oggetto)
String nome=pers.getName(); (memoria da cui prendo il dato)

COME APRIRE APPLICAZIONI SAMPLE SDK


Dal menù Window > Android SDK Manager (per visualizzare se sono presenti i sample)
Per importare progetti o sample su eclipse:
File > Import > Existing Android Project > spuntare solo le API Demos (non tests) > finish
Dopo importato le API Demos in AndroidManifest digitare
version code 2
uses SDK Min sdk 17 – Target sdk 17 – Max sdk 17

Il sort è l’algoritmo di ordinamento dei dati.


Garbage collector elimina tutto quello che è in memoria inutilizzato
Per il debug: mettere il break point nel codice (doppio click sulla barra di scorrimento a sx e appare
un punto), click su debug (in alto sotto i menù). Se rispondiamo no all’avvio debug, andare su
Menù > Window > Perspective > debug

Toggle button è il tasto start/stop, in id properties cambiargli il nome.


View.OnClickListener mStartListener = new OnClickLlistener () {
public void onClick (view v) {
toggleButton tButton = (toggleButton) findViewById (R.id.toggleButton);
if (tButton.isChecked())
mChronometer.stop();
else
mchronometer.start(); }
}

In Styles menu vanno dichiarati valore e posizione degli oggetti che si intende riutilizzare. Negli
styles si mettono gli item (nome,valore)
Padding è una cornice interna di vuoto
Margin è una cornice esterna di vuoto
dp è una risoluzione che fa si che la visualizzazione sia il più possibile simile su tutti i dispositivi.

margin
padding

L’adapter serve a permettere alla lista di iterare, partire dal primo e cercare il file desiderato.
L’arrayList è un array più evoluto.
ArrayList <(String, int, double, etc.) (con ? è generica)>

ArrayAdapter <String>
adapter = new ArrayAdapter
(context) Activity/ this,
(id Layout) item/ R.layout.text_list,
(id textView) contenitore/ R.id.text_list_textView,
Per impostare background da codice in Android (ricerca google) programmatically.
Public static final = costante invariabile. Le costanti vanno scritte tutto maiuscolo.
StartActivityForResult, avvia un’activity ritornando un risultato. Es avvio fotocamera con ritorno
foto.
Per importare un progetto in un altro progetto:
clic destro su progetto > Properties > Android > Library > Add > FileExplorer (o altro progett) > ok
Inserire file audio da risorsa esterna:
ShowView > Other > FileExplorer > clic su dispositivo scelto > inserire file

XML è alla base del SOAP (Simple Object Access Protocoll) protocollo usato ad es. da pubblica
amministrazione, che permette di dialogare tra applicazioni diverse ed è alla base dei servizi web.
Nel JSon non c’è il pacchetto WSDL, l’info è diretta, senza pre-descrizione (WSDL).
In JSon un oggetto è racchiuso tra {}
{ “nome”: “Massimo”,
“cognome”: “Beschi”,
“eta”: 37,
“login Info”: {“user”: “ciccio”, “password”: “riccio”},
“programmazione”: [{“linguaggio”: “Java”, “anni”: 15},
{“linguaggio”: “PHP”, “anni”: 10}]
}

JSonObject è la classe che ci permette di dialogare con il JSon.


Il metodo .toString() riporta l’oggetto JSon come una stringa.

Si usa il throws dopo il metodo per far gestire l’eccezione da altri.


Per avere un pacchetto da usare in tutte le applicazioni, nel progetto creare un nuovo package in cui
spostare tutti gli helper.
Per cambiare URL Path andare in Variables (box a destra) e cambiare URL (es. www.google.it)
Per le immagini 48dp è la dimensione minima consigliata (9mm) evitare risoluzioni più basse.