我在Android中得到位图getwidth错误null pointerexception

我在Android中得到位图getwidth错误null pointerexception,android,Android,我在函数位图getwidth中得到nullpointerexception错误。但是我只在API 23(Android 6)和API 19中得到了这个错误 类中的所有代码: public class genell extends AppCompatActivity { int fheight, fwidth; int kapatildi; EditText genelet; @Override protected void onCreate(Bundl

我在函数位图getwidth中得到nullpointerexception错误。但是我只在API 23(Android 6)和API 19中得到了这个错误

类中的所有代码:

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;

        }

    }
}
我怎样才能解决这个问题

注意:我的英语不好。对不起我希望你能理解


我需要您的帮助。

您对这些设备有internet和存储权限吗?@Coder123我有internet权限。但不是储存。我不需要存储权限。@Coder123我有internet权限。但不是储存。我不需要存储许可。
DisplayMetrics metre = getResources().getDisplayMetrics();
        int dpdeger = (int)(metre.density * 160f);

        if(dpdeger < 375){

            fheight = 150;
            fwidth = 150;

        }else{

            fheight = 300;
            fwidth = 300;

        }
yergfbit = Bitmap.createScaledBitmap(yergfbit, fwidth, fheight, true);
                        Drawable yergfoto = new BitmapDrawable(getResources(), yergfbit);