>
Bom dia! Estou a fazer um projeto em android que consiste na construção de um formulário para registo de pessoas!
E estou a ter dificuldade em encontrar informação sobre RadioButton que é para a escolha de sexo da pessoa!
Alguém me pode indicar um livro, tutoriais ou até mesmo exemplos, se faz favor!
Obrigado.
ola cristiana
vc pode baixar o exemplo desse site aki para fazer o seu....
la é explicado tudo e é dado o codigo fonte tbm....
http://rafaeltoledo.net/tutorial-android-12-editando-registros-do-banco-de-dados/
todo o codigo fonte... :)
Ola! Bom dia!
Tive ontem a seguir o tutorial que me aconselhaste, na qual desde já digo que é bom!!!
Mas provavelmente fiz aqui coisas mal =/ porque quando gravo o emulador dá erro e fecha!
ctos.xml ( acrescentei o RadioGroup e radioButton)
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="left">
android:id="@ id/rgSexo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginLeft="@dimen/activity_vertical_margin"
android:layout_gravity="left">
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/txtSexo"
android:layout_gravity="center"
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"/>
android:id="@ id/rbtMasculino"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/rbtMasculino"
android:checked="false"
android:layout_gravity="center_horizontal">
android:id="@ id/rbtFeminio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/rbtFeminino"
android:checked="false"
android:layout_gravity="center_horizontal">
Ctos.java
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.ImageView;
/**
* Created by carlos on 29-01-2014.
*/
public class Ctos extends Activity { //ActionBar
EditText edtNome;
EditText edtIdade;
RadioGroup rgSexo;
EditText edtEscola;
EditText edtObservador;
ImageView iv;
Button btOK;
Button btTirarFoto;
Button btCancelar;
final static int cameraData = 0;
private DBAdapter datasource;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.ctos);
datasource = new DBAdapter(this);
edtNome = (EditText)findViewById(R.ctos.edtNome);
edtIdade = (EditText)findViewById(R.ctos.edtIdade);
/////-/////-/////-/////
rgSexo = (RadioGroup) findViewById(R.id.rgSexo);
/////-/////-/////-////
edtEscola = (EditText)findViewById(R.ctos.edtEscola);
edtObservador = (EditText)findViewById(R.ctos.edtObservador);
iv = (ImageView) findViewById(R.ctos.ivReturnedPic);
Ctos.java (continuação)
/////-/////-/////-/////
btTirarFoto = (Button) findViewById(R.ctos.tirarFoto);
btTirarFoto.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i= new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i,cameraData);
}
});
/////-/////-/////-/////
/////-/////-/////-/////
btOK = (Button) findViewById(R.ctos.btOK);
btOK.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
datasource.open();
/////-/////-/////-/////
String sexo = null;
switch (rgSexo.getCheckedRadioButtonId()) {
case R.id.rbtMasculino:
sexo = "masculino";
break;
case R.id.rbtFeminio:
sexo = "feminino";
break;
}
/////-/////-/////-/////
Observation ob = datasource.createObservation( edtNome.getText().toString(), edtIdade.getText().toString(), sexo , edtEscola.getText().toString(), edtObservador.getText().toString(), loadBitmapFromView(iv));
datasource.close();
AlertDialog.Builder dialogo = new
AlertDialog.Builder(Ctos.this);
dialogo.setTitle("Aviso");
dialogo.setMessage("Aluno:" ob.getNome());
dialogo.setNeutralButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
}
});
dialogo.show();
}
});
/////-/////-/////-/////
btCancelar = (Button) findViewById(R.ctos.btCancelar);
btCancelar.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
//finish();
Intent novo = new Intent(Ctos.this,ObservationActivity.class);
startActivity(novo);
}
});
/////-/////-/////-/////
}
/////-/////-/////-/////-/////-/////-/////-/////
//quando for tirada a fotografia é apresentada a imagem no controlo imageView
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if(resultCode == RESULT_OK){
Bundle extras = data.getExtras();
Bitmap bmp = (Bitmap) extras.get("data");
iv.setImageBitmap(bmp);
}
super.onActivityResult(requestCode, resultCode, data);
}
public static Bitmap loadBitmapFromView (View v) {
Bitmap b = Bitmap.createBitmap( v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(0, 0, v.getLayoutParams().width, v.getLayoutParams().height);
v.draw(c);
return b;
}
/////-/////-/////-/////-/////-/////-/////-/////
}
DbHelper.java
package com.example.observacao;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
/**
* Created by carlos on 29-01-2014.
*/
public class DbHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION =1;
public static final String TABLE_NAME = "observation";
private static final String DATABASE_NAME = "obs.db";
public static final String ID = "_id";
public static final String NOME = "nome";
public static final String IDADE = "idade";
public static final String SEXO = "sexo";
public static final String ESCOLA = "escola";
public static final String OBSERVADOR = "observador";
public static final String FOTO = "foto";
private static final String DATABASE_CREATE = "create table "
TABLE_NAME "( " ID
" integer primary key autoincrement, " NOME
" text not null, " IDADE " integer not null, "
SEXO " text not null, "
ESCOLA " text not null," OBSERVADOR " text not null,"
FOTO " BLOB);";
public DbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
//super()
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(DbHelper.class.getName(), "Upgrading database from version " oldVersion " to " newVersion ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " TABLE_NAME);
onCreate(db);
}
}
DBAdapter.java
import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
/**
* Created by carlos on 29-01-2014.
*/
public class DBAdapter {
private SQLiteDatabase database;
private DbHelper dbHelper;
private String[] allColumns = { DbHelper.ID, DbHelper.NOME, DbHelper.IDADE, DbHelper.SEXO, DbHelper.ESCOLA, DbHelper.OBSERVADOR, DbHelper.FOTO};
public DBAdapter(Context context) {
dbHelper = new DbHelper(context);
}
public void open() throws SQLException {
database = dbHelper.getWritableDatabase();
}
public void close() {
dbHelper.close();
}
public Observation createObservation(String nome, String idade, String sexo, String escola, String observador, Bitmap foto){
ContentValues values = new ContentValues();
values.put(dbHelper.NOME, nome);
values.put(dbHelper.IDADE,idade);
values.put(dbHelper.SEXO,sexo);
values.put(dbHelper.ESCOLA,escola);
values.put(dbHelper.OBSERVADOR,observador);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
foto.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] photo = baos.toByteArray();
values.put(dbHelper.FOTO, photo);
long insertId = database.insert(dbHelper.TABLE_NAME, null, values);
// To show how to query
Cursor cursor = database.query(dbHelper.TABLE_NAME, allColumns, dbHelper.ID " = " insertId, null,null, null, null);
cursor.moveToFirst();
return cursorToObservation(cursor);
}
public void EliminaObservation (int idObservation){
//database.delete(DB.TABLE_NAME, "id=?", new String [] {Integer.toString(idContacto)});
database.delete(DbHelper.TABLE_NAME, DbHelper.ID " = " idObservation, null);
}
private Observation cursorToObservation(Cursor cursor) {
byte[] blob = cursor.getBlob(cursor.getColumnIndex(dbHelper.FOTO));
Bitmap bmp = BitmapFactory.decodeByteArray(blob, 0, blob.length);
Observation observation = new Observation(cursor.getLong(0),cursor.getString(1), cursor.getInt(2), cursor.getString(3), cursor.getString(4) , cursor.getString(5),bmp);
return observation;
}
public Cursor getObservations(){
Cursor cursor = database.rawQuery("select _id, nome,idade,foto from observation", null); //escola,observador
return cursor;
}
public Observation getObservation (int idObservation){
Cursor cursor = database.query(dbHelper.TABLE_NAME, allColumns, dbHelper.ID " = " idObservation, null, null, null, null);
cursor.moveToFirst();
return cursorToObservation(cursor);
}
}
Olha já ta a funcionar... não sei como, porque ontem à noite dava me erro! Agora de manha é que apaguei e voltei a fazer e já ta a dar! =)
Obrigada pela atenção!