lostyazilim
tr.link

Android Studio Diğer sayfaya veri taşıma hk.

5 Mesajlar 743 Okunma
acebozum
tr.link

Rsl Rsl WM Aracı Kullanıcı
  • Üyelik 03.05.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Android Junior Developer
  • Konum İstanbul Avrupa
  • Ad Soyad R** G**
  • Mesajlar 57
  • Beğeniler 3 / 16
  • Ticaret 1, (%100)
Merhaba iyi forumlar,

Yazmış ve yayınlamış olduğum oyunda bir hata olduğunu fark ettim. Mobil bilgi yarışması oyunumda kullanıcının bildiği doğru sayısını bir değişkene atıyorum, bu değişkeni de buton vasıtasıyla putextra komudu ile diğer sayfaya yönlendirip yakalıyorum. Sorun tam olarak burada, kullanıcı oyunu bitirdiğinde karşısına 2 buton çıkıyor. Biri bitir diğeri ise rozetlerim sayfası. Rozetlerime tıklarsa evet değişken ile tuttuğum veriyi ıntent ile diğer sayfaya yönlendiriyorum. Ama bitir yaparsa değişkende tuttuğu veriyi havaya atıyor ve skor sayfasına + olarak gitmiyor. Benim istediğim ise kullanıcının bildiği doğru sayısını atadığım değişen ile OnCreate metodunun içerisinde çalıştırıp otomatik olarak yönlendirmek. Bunu tam olarak beceremedim. Yüksek ihtimalle çok basit bir kod biliyorum fakat yardımınıza sığınmak istiyorum. Google'da search ettiğimde sadece Intent ile buton yardımıyla yönlendirmişler dediğim gibi OnCreate metodunda yönlendirmek istiyorum. Teşekkürler.


Yazdığım kod;

btnrozet = findViewById(R.id.btnrozet);
btnrozet.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent rozet = new Intent(ScoreActivity.this, RozetActivity.class);
rozet.putExtra("score",scored.getText().toString());
startActivity(rozet);
}
});
 

 

https://play.google.com/store/apps/dev?id=7168058596219337298
elektronikssl
webimgo

SizofrenikDev SizofrenikDev WM Aracı Kullanıcı
  • Üyelik 05.10.2016
  • Yaş/Cinsiyet 38 / E
  • Meslek Yazılım Uzmanı
  • Konum İstanbul Avrupa
  • Ad Soyad H** B**
  • Mesajlar 187
  • Beğeniler 8 / 49
  • Ticaret 2, (%100)
puanı neden oyun bittiğinde ilgili yere set etmiyorsun ki ?
 

 

serhatboss serhatboss WM Aracı Kullanıcı
  • Üyelik 13.04.2018
  • Yaş/Cinsiyet 25 / E
  • Meslek Öğrenci
  • Konum Kütahya
  • Ad Soyad S** K**
  • Mesajlar 117
  • Beğeniler 27 / 27
  • Ticaret 3, (%100)
Skor tablosunda verileri sharedpreference ile çekebilirsin ayrıca oyun bittiğinde vs gibi durumlarda da kaydedersin.
 

 

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Ekrana butonları çıkardığınız anda kaydedin puanlark. Butonlara tıklamadan oyunu kapatirsa ne olacak? Yine kaydolmayacak puanlar ve boşuna oynamış olacak.
 

 

wmaraci
wmaraci

Rsl Rsl WM Aracı Kullanıcı
  • Üyelik 03.05.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Android Junior Developer
  • Konum İstanbul Avrupa
  • Ad Soyad R** G**
  • Mesajlar 57
  • Beğeniler 3 / 16
  • Ticaret 1, (%100)
Yorumlarınız için çok teşekkür ederim. Fakat tam olarak maalesef yapamadım :cry:
Sharedpreference mantıklı geldi onu denedim fakat çakıştırıyorum kodları Kaydediyorum fakat butona bastığımda 2 işlem yaptırınca orda patlıyor program ve tekrar başa dönüyorum. Projemdeki kodlar aşağıda mevcuttur. Rica etsem bir göz atabilir misiniz detaylı olarak yönlendirmek için?

Skor Sayfası
public class ScoreActivity extends AppCompatActivity {

private TextView scored,txtbunubiliyormuydun;
private Button doneBtn,btnrozet;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_score);

btnrozet = findViewById(R.id.btnrozet);
btnrozet.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent rozet = new Intent(ScoreActivity.this, RozetActivity.class);
rozet.putExtra("score",scored.getText().toString());
startActivity(rozet);
}
});

scored = findViewById(R.id.scored);
doneBtn = findViewById(R.id.done_btn);
txtbunubiliyormuydun = findViewById(R.id.txtbunubiliyormuydun);

scored.setText(String.valueOf(getIntent().getIntExtra("score",0)));

doneBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}



Rozet Sayfası
public class RozetActivity extends AppCompatActivity {
TextView txtSkor,acemi_title,kalfalik_title,dahilik_title,profesörlük_title,kraliyet_title,asalet_title,bilge_title,
acemitamamlandi,kalfatamamlandi,dahitamamlandi,proftamamlandi,kraltamamlandi,asalettamamlandi,bilgetamamlandi;

int total;
int puan;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_rozet);

Intent intent=getIntent();
String score = intent.getStringExtra("score");
txtSkor.setText(score);

total=Integer.parseInt(txtSkor.getText().toString());

puan=PrefConfig.loadTotalFromPref(this);

txtSkor.setText(""+puan);
puan=puan+total;

PrefConfig.saveTotalInPref(getApplicationContext(), puan);
txtSkor.setText(""+puan);

 

 

https://play.google.com/store/apps/dev?id=7168058596219337298
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al