Então gente estou fazendo um aplicação, criei uma classe aluno e declarei como um vetor. tenho um banco de dados com nomes de alguns alunos e preciso passar esse nomes para o array da classe.
Aluno[] alunos = BancoDeDados.obterAlunos();
Observação: Fiz até um método obterAlunos, mas nesse método não existe nada pois eu não sei o que fazer, como retornar: return ArrayList ? ou return String.
Como fazer isso ?
Código Inteiro:
import br.unisantos.testing.R;
public class MainActivity extends AppCompatActivity {
private SQLiteDatabase bancoDeDados;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
bancoDeDados = openOrCreateDatabase("alunos", MODE_PRIVATE, null);
bancoDeDados.execSQL("CREATE TABLE IF NOT EXISTS alunos(id INTEGER PRIMARY KEY AUTOINCREMENT, nome VARCHAR, presenca INTEGER (4)");
ListView listaPresenca = (ListView) findViewById(R.id.listCheck);
Aluno[] alunos = BancoDeDados.obterAlunos();
AlunoAdapter adapter = new AlunoAdapter();
adapter.addAll(alunos);
listaPresenca.setAdapter(adapter);
//Botão Para addicionar novos ALUNOS
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View view) {
AlertDialog.Builder mensagem = new AlertDialog.Builder(MainActivity.this);
mensagem.setTitle("Novo Aluno(New Student)");
mensagem.setMessage("Para adicionar um novo aluno, click ok");
// DECLARACAO DO EDITTEXT
final EditText input = new EditText(MainActivity.this);
mensagem.setView(input);
mensagem.setNeutralButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if (input.getText().toString().isEmpty()) {
Snackbar.make(view, "ATENÇÃO!!! TEXTO EM BRANCO", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
} else {
Snackbar.make(view, input.getText().toString().trim(), Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
InserirAluno(input.getText().toString());
}
}
});
mensagem.show();
// FORÇA O TECLADO APARECER AO ABRIR O ALERT
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
});
}
public void InserirAluno(String nomeAluno) {
bancoDeDados.execSQL("INSERT INTO alunos(nome, presenca) VALUES ('"+ nomeAluno +"', 0) ");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_resultado) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* Classe AlunoAdapter
*/
private class AlunoAdapter extends ArrayAdapter<Aluno> {
public AlunoAdapter(Context context) {
super(context, android.R.layout.simple_list_item_1);
}
@NonNull
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
Aluno aluno = getItem(position);
if (convertView == null) {
convertView = new CheckBox(getContext());
}
final CheckBox checkBox = (CheckBox) convertView;
checkBox.setText(aluno.getNome());
checkBox.setChecked(false);
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// salva no banco de dados se o aluno está presente ou não
String test = checkBox.getText().toString();
Log.i("Testing", test);
}
});
return checkBox;
}
}
}