Şimdi Ara

Android versiyon 6 (API 23) de uygulama duruyor. Yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
66
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba,

    arkadaşlar uygulamam sanırsam android 6 da(API 23) de sorun çıkartıyormuş. Sorun çıkardığı sayfanın kodları aşağıda. Bir de telefonu android 6 olan aşağıdaki linkten uygulamamı indirebilir mi lütfen.

    Kod:

    public class genell extends AppCompatActivity {

    int fheight, fwidth;
    int kapatildi;
    EditText genelet;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_genell);

    this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

    DisplayMetrics metre = getResources().getDisplayMetrics();
    int dpdeger = (int)(metre.density * 160f);

    if(dpdeger < 375){

    fheight = 150;
    fwidth = 150;

    }else{

    fheight = 300;
    fwidth = 300;

    }

    final ProgressBar genelyukle = findViewById(R.id.genelyukle);
    final TextView genelyukletv = findViewById(R.id.genelyukletv);

    final LinearLayout genelll = findViewById(R.id.genellll);
    ImageButton genelarabtn = findViewById(R.id.genelarab);
    genelet = findViewById(R.id.genelet);
    final Button geneltmzbtn = findViewById(R.id.geneltmzb);
    Button gfotoeklebtn = findViewById(R.id.genelfekleb);
    final veritabani verit = new veritabani(this);
    ImageButton genelgeribtn = findViewById(R.id.genelgerib);

    kapatildi = 0;

    final String yerlerurl = "http://fotogps.c1.biz/genelyer.php";
    final String yeraraurl = "http://fotogps.c1.biz/genelyerara.php";

    genelgeribtn.setOnClickListener ( new View.OnClickListener () {
    public void onClick (View genelgeriv){

    finish();
    startActivity(new Intent(genell.this, MainActivity.class));

    }
    });

    gfotoeklebtn.setOnClickListener ( new View.OnClickListener () {
    public void onClick (View gfotoeklev){

    if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M){

    Intent gkameragec = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(gkameragec, 1001);

    }else{

    izinal();
    if(ActivityCompat.checkSelfPermission(genell.this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(genell.this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(genell.this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED){

    Intent gkameragec = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(gkameragec, 1001);

    }

    }

    }
    });

    final TypedValue girdeger = new TypedValue();
    getTheme().resolveAttribute(android.R.attr.selectableItemBackground, girdeger, true);

    final RelativeLayout.LayoutParams yerbtnlp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    yerbtnlp.setMargins(15, 15, 15, 0);

    genelverigetir(yerlerurl, genelll, yerbtnlp, girdeger, genelyukle, genelyukletv);
    klavyekapat();
    genelarabtn.setOnClickListener ( new View.OnClickListener () {
    @Override
    public void onClick (View genelarav){

    klavyekapat();

    genelll.removeAllViews();

    genelyukle.setVisibility(View.VISIBLE);
    genelyukletv.setVisibility(View.VISIBLE);

    StringRequest yerara = new StringRequest(Request.Method.POST, yeraraurl, new Response.Listener<String> () {
    @Override
    public void onResponse (String response){

    genelyukle.setVisibility(View.GONE);
    genelyukletv.setVisibility(View.GONE);

    geneltmzbtn.setVisibility(View.VISIBLE);

    try{

    JSONArray yerarajson = new JSONArray(response);

    for(int ii = 0; ii < yerarajson.length(); ii++){

    JSONObject yeraraobje = yerarajson.getJSONObject(ii);

    byte[] yerafbyte = Base64.decode(yeraraobje.getString("yerfoto"), Base64.DEFAULT);
    Bitmap yerafbit = BitmapFactory.decodeByteArray(yerafbyte, 0, yerafbyte.length);
    yerafbit = Bitmap.createScaledBitmap(yerafbit, fwidth, fheight, true);
    Drawable yerafoto = new BitmapDrawable(getResources(),yerafbit);

    Button yerabtn = new Button(genell.this);
    yerabtn.setTag(yeraraobje.getInt("id"));
    yerabtn.setLayoutParams(yerbtnlp);
    yerabtn.setPadding(115, 0, 0, 115);
    yerabtn.setBackgroundResource(girdeger.resourceId);
    yerabtn.setCompoundDrawablesWithIntrinsicBounds(yerafoto, null, null, null);
    yerabtn.setText(yeraraobje.getString("ad"));
    genelll.addView(yerabtn);

    yerabtn.setOnClickListener ( new View.OnClickListener () {
    public void onClick (View yerav){

    izinal();
    Intent ybgeciss = new Intent(genell.this, yerbilgi.class);
    ybgeciss.putExtra("id", String.valueOf(yerav.getTag()));
    ybgeciss.putExtra("nerden", "genel");
    ybgeciss.putExtra("idd", "genel");
    startActivity(ybgeciss);

    }
    });

    }

    }catch(JSONException yajsone){

    Toast.makeText(getApplicationContext(), yajsone.toString(), Toast.LENGTH_LONG).show();

    }

    }
    }, new Response.ErrorListener() {
    @Override
    public void onErrorResponse (VolleyError yerarae){

    Toast.makeText(getApplicationContext(), yerarae.toString(), Toast.LENGTH_LONG).show();

    AlertDialog.Builder geneltda = new AlertDialog.Builder(genell.this);
    geneltda.setTitle("Tekrar Dene");
    geneltda.setMessage("Yerler yüklenemedi. Lütfen tekrar dene. Eğer sorun devam ederse yapımcıya haber ver.");
    geneltda.setPositiveButton("Tamam", null);
    geneltda.show();

    }
    }){
    @Override
    protected Map<String, String> getParams(){

    Map<String, String> yeraradgr = new HashMap<String, String>();

    yeraradgr.put("aranan", genelet.getText().toString());

    return yeraradgr;

    }
    };

    yerara.setRetryPolicy( new DefaultRetryPolicy(85000, 5, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

    RequestQueue yeraraqueue = Volley.newRequestQueue(genell.this);
    yeraraqueue.add(yerara);

    }
    });

    geneltmzbtn.setOnClickListener ( new View.OnClickListener () {
    public void onClick (View geneltmzv){

    genelverigetir(yerlerurl, genelll, yerbtnlp, girdeger, genelyukle, genelyukletv);

    geneltmzbtn.setVisibility(View.GONE);

    }
    });

    }

    @Override
    public void onActivityResult(int alkod, int sonuckod, Intent veri){

    super.onActivityResult(alkod, sonuckod, veri);

    if(alkod == 1001){
    if(sonuckod == RESULT_OK){

    Bitmap gfotobitmap = (Bitmap)veri.getExtras().get("data");
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    gfotobitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
    byte[] gfotobyte = baos.toByteArray();

    Intent gyerekle = new Intent(genell.this, yerekle.class);
    gyerekle.putExtra("foto", gfotobyte);
    gyerekle.putExtra("nerden", "genel");
    finish();
    startActivity(gyerekle);

    }
    }

    }

    public void genelverigetir(String url, final LinearLayout genell, final RelativeLayout.LayoutParams rllp, final TypedValue girdegerr, final ProgressBar genelyukle, final TextView genelyukletv){

    genelyukle.setVisibility(View.VISIBLE);
    genelyukletv.setVisibility(View.VISIBLE);

    genell.removeAllViews();

    StringRequest yerler = new StringRequest(Request.Method.POST, url, new Response.Listener<String>(){
    @Override
    public void onResponse(String response){

    genelyukle.setVisibility(View.GONE);
    genelyukletv.setVisibility(View.GONE);

    Log.w("response : " , response);

    try{

    JSONArray yergjson = new JSONArray(response);

    for(int i = 0; i < yergjson.length(); i++){

    JSONObject yergobje = yergjson.getJSONObject(i);

    byte[] yergfbyte = Base64.decode(yergobje.getString("yerfoto"), Base64.DEFAULT);
    Bitmap yergfbit = BitmapFactory.decodeByteArray(yergfbyte, 0, yergfbyte.length);
    yergfbit = Bitmap.createScaledBitmap(yergfbit, fwidth, fheight, true);
    Drawable yergfoto = new BitmapDrawable(getResources(), yergfbit);

    Button yergbtn = new Button(genell.this);
    yergbtn.setTag(yergobje.getInt("id"));
    yergbtn.setLayoutParams(rllp);
    yergbtn.setPadding(115, 0, 0, 115);
    yergbtn.setBackgroundResource(girdegerr.resourceId);
    yergbtn.setCompoundDrawablesWithIntrinsicBounds(yergfoto, null, null, null);
    yergbtn.setText(yergobje.getString("ad"));
    genell.addView(yergbtn);

    yergbtn.setOnClickListener ( new View.OnClickListener () {
    @Override
    public void onClick (View v){

    izinal();
    Intent ybgecis = new Intent(genell.this, yerbilgi.class);
    ybgecis.putExtra("id", String.valueOf(v.getTag()));
    ybgecis.putExtra("nerden", "genel");
    ybgecis.putExtra("idd", "genel");
    startActivity(ybgecis);

    }
    });

    }

    }catch(JSONException jsonyere){

    Toast.makeText(getApplicationContext(), jsonyere.toString(), Toast.LENGTH_LONG).show();

    }

    }
    }, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError yerlere){

    Toast.makeText(getApplicationContext(), yerlere.toString(), Toast.LENGTH_LONG).show();

    AlertDialog.Builder genela = new AlertDialog.Builder(genell.this);
    genela.setTitle("Tekrar dene");
    genela.setMessage("Yer fotoğrafları yüklenemedi. Lütfen yeniden dene. Eğer sorun devam ederse yapımcıya haber ver.");
    genela.setPositiveButton("Tamam", null);
    genela.show();

    }
    });

    yerler.setRetryPolicy( new DefaultRetryPolicy(1000000000, 5, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

    RequestQueue yerqueue = Volley.newRequestQueue(genell.this);
    yerqueue.add(yerler);

    }

    public void izinal(){

    if(ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(genell.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED){
    AlertDialog.Builder konumacg = new AlertDialog.Builder(genell.this);
    konumacg.setTitle("Konumu Kullanmamız Gerekiyor");
    konumacg.setMessage("Uygulamayı kullanabilmeniz için konum servislerini kullanmamız gerekiyor. Lütfen konumu kullanmamız için izin verin.");
    konumacg.setPositiveButton("Tamam", null);
    konumacg.show();
    ActivityCompat.requestPermissions(genell.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
    }

    if(ActivityCompat.checkSelfPermission(genell.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED){
    AlertDialog.Builder kameraacg = new AlertDialog.Builder(genell.this);
    kameraacg.setTitle("Kamerayı kullanmamız Gerekiyor");
    kameraacg.setMessage("Uygulamayı kullanabilmeniz için kamerayı kullanmamız gerekiyor. Lütfen kamerayı kullanmamız için izin verin.");
    kameraacg.setPositiveButton("Tamam", null);
    kameraacg.show();
    ActivityCompat.requestPermissions(genell.this, new String[]{Manifest.permission.CAMERA}, 1);
    }

    }

    public void klavyekapat(){

    View oge = genell.this.getCurrentFocus();

    if(oge != null){

    InputMethodManager imm = (InputMethodManager)genell.this.getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(oge.getWindowToken(), 0);

    kapatildi = 1;

    }

    }
    }

    Uygulamamın linki:https://play.google.com/store/apps/details?id=com.epitcenter.x_ren.fotogps

    Arkadaşlar sizce kodda api 23 de çalışmayacak bir fonksiyon var mı?

    Telefonunun android versiyonu 6 olan uygulamayı indirip paylaşılanlar bölümüne gidip uygulamamının durup durmadığına bakabilir mi?

    Yardımınıza ihtiyacım var.

    < Bu ileti DH mobil uygulamasından atıldı >







  • CrashAnalitic veya sentry tarzı ürünler kullanırsan exception capture yapar sende bunu bizle paylaşırsan sorunu daha iyi anlayabiliriz. Bu kadar uzun bir kodu okuyup hata şurada demek. Üstelik hata mesajı da yok.

    Bir de DataBinding ve/veya Kotlin tavsiye ederim bir sürü findViewById yazmanız gerekmez. Apk indirsek bile crash edecek ama bize hata mesajı vermeyecektir.



    < Bu mesaj bu kişi tarafından değiştirildi mahoni_38 -- 26 Kasım 2019; 21:47:58 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.