Ben Benzer bir uygulama üzerinde çalışıyorum. Firebase kullandım. Verileri key value şeklinde JSON formatıyla veritabanına aktarıyorum.
{
"Not":"Değil",
"Also":"Ayrıca",
"Very":"Çok",
"Often":"Genellikle",
"Homever":"Evsiz",
"Too":"Çok",
"Usually":"Genellikle"
}
Notepad'te yazıp JSON formatında yukarıdaki şekilde kaydediyosun. Aşağıdaki kodlarlada veritabanından verileri çekebilirsin.
adverbs.java
public class Adverbs extends AppCompatActivity implements View.OnClickListener {
TextView textViewAdverbsGelen, textViewAdverbsAnlamlari;
Button buttonAdverbsOnceki, buttonAdverbsSonraki;
ArrayList<datastructure> dataList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_adverbs);
new Handler().postDelayed(new Runnable() {//program çalıştığı anda çalışır
@Override
public void run() {
getAllKeyValue();
}
}, 0);
textViewAdverbsGelen=(TextView)findViewById(R.id.textViewAdverbsGelen);
textViewAdverbsAnlamlari=(TextView)findViewById(R.id.textViewAdverbsAnlami);
buttonAdverbsOnceki=(Button)findViewById(R.id.buttonAdverbsOnceki);
buttonAdverbsSonraki=(Button)findViewById(R.id.buttonAdverbsSonraki );
buttonAdverbsSonraki.setEnabled(false);
buttonAdverbsOnceki.setEnabled(false);
}
public void getAllKeyValue() {
/*
proje başladığında veritabanından nesneleri çekmek için kullanılan yapı
*/
DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference().child("adverbs");
dbRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot dsp: dataSnapshot.getChildren()) {
datastructure data = new datastructure();
data.key = dsp.getKey();
data.value = dsp.getValue().toString();
dataList.add(data);
// dataList.ensureCapacity(dataList.size());
}
buttonAdverbsSonraki.setEnabled(true);
buttonAdverbsOnceki.setEnabled(true);
textViewAdverbsGelen.setText(dataList.get(0).key);
textViewAdverbsAnlamlari.setText(dataList.get(0).value);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
int index = 0;
public void sonrakikelime() {
index++;
textViewAdverbsGelen.setText(dataList.get(index).key);
textViewAdverbsAnlamlari.setText(dataList.get(index).value);
}
public void oncekikelime() {
--index;
textViewAdverbsGelen.setText(dataList.get(index).key);
textViewAdverbsAnlamlari.setText(dataList.get(index).value);
}
@Override
public void onClick(View v) {
if(v==buttonAdverbsOnceki){
oncekikelime();
}
if(v==buttonAdverbsSonraki){
sonrakikelime();
} }
}