Home - Sutil/APA GitHub Wiki

APA - Android Persistence API

Como usar

Configuração

Baixe a biblioteca SDB clicando aqui.

1 - Importe a biblioteca (apa.jar) para dentro do seu projeto Android.

2 - Se estiver usando o Eclipse IDE, clique com o botão direito no arquivo apa.jar e após clique na opção "Build Path" >> "Add to Build Path".

3 -Edite o arquivo AndroidManifest.xml

Adicionar o atributo "android:name" na tag application.

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" 
        android:name="br.com.sutil.apa.APAApplication">

Dentro da tag application adicione duas tags "meta-data" para definir o nome da base de dados e também a versão.

Note que os atributos "android:name" deve ser "DB_NAME" e DB_VERSION".

 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" 
        android:name="com.br.sutildb.SutilApplication">

        <meta-data android:name="DB_NAME" android:value="sutil.db"/>
        <meta-data android:name="DB_VERSION" android:value="1"/>

        <activity
            android:name="com.br.yourapp.YourActivity"
            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>

Escrevendo o código

Para gerar tabelas a partir de suas Classes, escreva-as da seguinte maneira:

@Entity(name = "CARRO")
public class Carro implements Serializable{
	
	private static final long serialVersionUID = 1L;

	@Id
	private long id;
	
	@Column(name = "NOME")
	private String nome;

	@OneToMany(referencedColumn = "carro_fk")
	private List<Roda> rodas;

...

@Entity(name= "pessoa")
public class Pessoa implements Serializable{
	
	private static final long serialVersionUID = 1L;
	
	@Id
	private long id;

	@Column(name = "NOME")
	private String nome;
	
	@Column(name = "IDADE")
	private int idade;
	
        @ManyToOne(columnFkName = "carro_fk")
	private Carro carro;

...

A classe REPOSITORY da entidade deve estender APARepository

public class CarroRepository extends APARepository<Carro> {

	public HouseRepository(Context context) {
		super(Carro.class, context);
	}

}
...

Pronto, na sua activity basta usar da seguinte forma;


CarroRepository repository = new CarroRepository(this);
//recuperando lista
List<Carro> carros = repository.findAll();

Carro carro = repository.findOne(1L);
// alterações 
repository.save();
⚠️ **GitHub.com Fallback** ⚠️