我在Android中得到位图getwidth错误null pointerexception
我在函数位图getwidth中得到nullpointerexception错误。但是我只在API 23(Android 6)和API 19中得到了这个错误 类中的所有代码:我在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
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);