Java getResources().getDisplayMetrics()上的NullPointerException。密度 上下文

Java getResources().getDisplayMetrics()上的NullPointerException。密度 上下文,java,android,android-studio,bitmap,nullpointerexception,Java,Android,Android Studio,Bitmap,Nullpointerexception,我现在正在编写一个小的测试代码。它选择图像,根据屏幕密度调整图像大小以适合屏幕。当它执行此操作时,它将按照图像在xxhdpi显示中的大小复制图像,并将其转换为位图,然后转换为字符串。然后,该字符串将通过一个Intent进入下一个屏幕,在该屏幕中,该字符串被转换回位图,然后放置在ImageButton中 这很好,直到我添加了一段代码,根据密度调整字符串给出的图像大小。奇怪的是,我从另一个活动复制并粘贴了DPI()方法,而该活动中没有任何问题 密码 错误日志 01-15 19:55:17.104 3

我现在正在编写一个小的测试代码。它选择图像,根据屏幕密度调整图像大小以适合屏幕。当它执行此操作时,它将按照图像在
xxhdpi
显示中的大小复制图像,并将其转换为位图,然后转换为字符串。然后,该字符串将通过一个Intent进入下一个屏幕,在该屏幕中,该字符串被转换回位图,然后放置在
ImageButton

这很好,直到我添加了一段代码,根据密度调整字符串给出的图像大小。奇怪的是,我从另一个活动复制并粘贴了DPI()方法,而该活动中没有任何问题

密码 错误日志
01-15 19:55:17.104 30570-30570/com.example.zachary.imagetesting D/ViewRootImpl:ViewPostImeInputStage操作
01-15 19:55:17.194 30570-30570/com.example.zachary.imagetesting E/位图字符串:/9j/4aaqskzjrgabaqaaqaabad/2wbdaaaebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqeba
qebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqeb
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AhEBAxEB/8QAHWAAAQUBAQEBAQEAAAAAAAAECAWQFBGCICQOL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQRBRIHMUEGE1HBYJXFDKBKAEII0KXWRVS0FAKM2JYGKKFHCYGROJICOKSO0NTY3
ODK6Q0RfRkdusptvvvvv1hzwmnkzwznalgqc3r1dnd4exqdhiwgh4ijipktljwwl5izmqkjpkwm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
awebaqebaqebaqaaaaaecawqfbgcicqol/8qtraagecbaqdbacfbaqaqj3aecaxeebsex
BhjbuqdhcrimoeifekRobHbCsMzuvavynlRchyKnoEL8RcygromJygpkJu2Nzg5Okneruzhselk
U1RVVLDYVPJZGVMZ2HPANN0DXZ3EHL6GOOEHYAHIIMKKPOULZAXMAOQOKPAANQKMQSRO0TBA3
ULM6WSPEXCBHYMNK0TPU1DBX2NNA4 UPK5EBN6ONQ8VP09FB3+Pn6/9OADAMBAIRAXEAPWDUKKK
/wAVz/UgkkkaciiiGaookkaciiGaookkaciiGaookkaciiGaookkaciiGaookkaciiGaookk
AciiIgaookkaciiIgaookkaciiIgaookkaciiIgaookkaciiIgaooa
KKKACIIIGAOOKKACIIIGAOOKKACIIIGAOOKKACIIIGAOOKKACIIIGAOOKKACIIIGAOOKKACIIIGAOOKKACIIIGAOOKKACIIIGAO
OokakkaciiGaOokakkaciiGaOokakkaciiGaOokakkaciiGaOokakkaciiGaOokakkacii
IgaoookakkaciiiGaookkaciiGaookkaciiGaookkaciiGaookkaciiGaookkaciiGaookkaciiGaook
AciiIgaookkaciiIgaookkaciiIgaookkaciiIgaookkaciiIgaooa
KKKACIIIGAOOOAKKKACIIIGA45GEMM+3xGetJopx5ODKRUPAUV6DPWPPYEMTHJ1ZWHQK0MOT
2qxqur2EO9h/bHhy/UpcadqtlkTeXFKLTU4l+wanBNA0RTtPjP8ABnU/hRqdldW102ueC/EUa3nh
XxKkaKl1bzo1zFYXqoxEWoQ2jQziQKltf2zpe2aoRd2cPBLMaFLH0svxF6NbEwnPBSk17LFqko+2
P056CUIOPQC6ELEVKUALKDRRKME0IPQNLRYTCG9P2SPJA6SW/K9WTU3ADVE6KKKK7YWOOAKKKK
AciiIgaookkaciiIgaookkaciiIgaookkaciiIgaookkaciiIgaooa
KKKACIIIGAOOKKACIIIGAOOKKACIIIGAOOKKACIIIGAOOKK0NM0JV9BUB
Z6LPWO6VDHAFRPD39YCKGYGTIZPECF3FT1YFCVDV7LNXX8RWPCX+Dn0a3fG2XxFqOn6TLg5wWs
J7htTQcZw1lu68E43cOLzLLcAr47H4TCLS31jE0aLe6SjGpUUpN8rsopvye7iVSnBXnOEF3lJR79
3/DFN69FN2IVTP2HPITCGHVFFxHshXGERA2SalkourtonWMergyimyHPJGDXWW/sG6gV/0j4oW
cb4HEPhCeZc5OfmfxJAQMYx8pJJOQNvPh1ON+FKTLOALA/590MZWXb4qOHqRf3v9TB43CK968dO
0Zvqlpyxafffa9z8/wCivvO8/YQ8RIrHT/iPo1w38K3nh6/s1pjxuaahu74rky6i2cspm25pbap+x
b8Y7EObCfwprQXO1bTWZ7OZ+Wxgatp9jApYAcG6wDn5sAtV0eM+Fq+kM6wsdv40a+G2HVEVEUQSS0
1BEMT72D3Hgyw1EH/b3NHy+0lf+vU+SAK9G8VFCH4OECXLHIXWPR9HDCCxV47F9Q0KCRU/tbTD
e6eBxnDXQbGMgE8+CJB5BYPUEXX6NV8ARXKNMVOMPICNI6AQ4XeCdRvKfWnVpto9RTPylHxld
tfn33jKM1eEoyXeLUl16pvt+ers7lfqF8ItCX43/ALKY8H6y8VxqGnHV9A0bULtRI2n6no85vPDV
package com.example.zachary.imagetesting.Resizing;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Base64;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;

import com.example.zachary.imagetesting.R;

public class PictureDecoded extends Activity {

    TextView Text;
    ImageButton Image;
    String string;
    Bitmap picture;
    public float DPI(){return getResources().getDisplayMetrics().density;}
    float dpi = DPI() * 180;
    int size = (int) dpi;


    public Bitmap Pic(String string){
        try{
            byte[] b = Base64.decode(string, Base64.DEFAULT);
            Bitmap bitmap = BitmapFactory.decodeByteArray(b, 0, b.length);
            return bitmap;
        } catch (Exception e) {
            e.getMessage();
            return null;
        }
    }

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.resizing);
        string = getIntent().getStringExtra("String");

        Image = (ImageButton) findViewById(R.id.image);
        Text = (TextView) findViewById(R.id.text);

        picture = Pic(string);

        Image.setImageBitmap(Bitmap.createScaledBitmap(picture,size,size,false));
    }

    public void next(View view){ }

    // I also tried addring DPI() here as well to no success.
    //public float DPI(){return getResources().getDisplayMetrics().density;}

}
01-15 19:55:17.104 30570-30570/com.example.zachary.imagetesting D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
01-15 19:55:17.194 30570-30570/com.example.zachary.imagetesting E/Bitmap String:: /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
                                                                                  AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB
                                                                                  AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAGVAhwDASIA
                                                                                  AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
                                                                                  AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
                                                                                  ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
                                                                                  p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
                                                                                  AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
                                                                                  BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
                                                                                  U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
                                                                                  uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDuKKKK
                                                                                  /wAVz/UgKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
                                                                                  ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
                                                                                  KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
                                                                                  oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii
                                                                                  igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
                                                                                  ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
                                                                                  KKKKACiiigAooooAKKKKACiiigA45GemM+3XGeTjOOPx5ODkruPAuv6DpWppYeMtHj1zwhqk0MOt
                                                                                  2qxqur2EO9h/bHhy/UpcadqtlkTeXFKLTU4l+wanBNA0RTtPjP8ABnU/hRqdldW102ueC/EUa3nh
                                                                                  XxKkaKl1bzo1zFYXqoxEWoQ2jQziQKltf2zpe2aoRd2cPBLMaFLH0svxF6NbEwnPBSk17LFqko+2
                                                                                  p056cuIopqc6EleVKUalKdRRrKMe0ipqnLRyTcG9p2spJa6SW/K9WtU3advE6KKK7ywooooAKKKK
                                                                                  ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
                                                                                  KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK0NM0jV9buB
                                                                                  Z6LpWo6vdHAFrpdhd39yckgYgtIZpecf3fT1yfcvDv7Lnxx8Rwpcx+Dn0a3fG2XxFqOn6TLg5wWs
                                                                                  J7htTQcZw1lu68E43cOLzLLcAr47H4TCLS31jE0aLe6SjGpUUpN8rsopvye7iVSnBXnOEF3lJR79
                                                                                  3/dfn69fn2ivtPTP2HPiTcgHVfFXhHSxgErA2salKOuRtOnWMeRgYImYHPJGDXWw/sG6gV/0j4oW
                                                                                  cb4HEPhCeZc5OfmfxJAQMYx8pJJOQNvPh1ON+FKTtLOaLa/590MZWXb4qOHqRf3v9TB43CK968dO
                                                                                  0Zvqlpyxafffa9z8/wCivvO8/YQ8RIrHT/iPo1w38K3nh6/s1PJxuaHU74rkY6I2CSPm25PBap+x
                                                                                  b8Y7EObCfwprQXO1bTWZ7OZ+Wxgatp9jApYAcG6wDn5sAtV0eM+Fq+kM6wsdv40a+GXXVvEUqSS0
                                                                                  1bemt72d3HGYWW1eH/b3NHy+0lf+vU+SaK9G8VfCH4oeCXlHiXwPr9hDCCXv47F9Q0kKCRu/tbTD
                                                                                  e6eBxnDXQbGMgE8+cjB5ByPUexx6nv8ArxknmvoMPicNi6aq4XEUcTSdrVKFWnVptO9rTpylHXld
                                                                                  tfn33jKM1eEoyXeLUl16pvt+ers7lfqF8ItCX43/ALKY8H6y8VxqGnHV9A0bULtRI2n6no85vPDV
                                                                                  wJOZIlsrS+06wkZCGbTvtFq2YpJA35e1+q37EW//AIVBrQb/AFf/AAnmseX97J/4p/wnv6nG3OCN
                                                                                  v8RfJyOfifEOc6GR4fG0ZezxOBzTB4nDVUlzQqReIirPezupTje0koqV0cWPbjh1OOkqdWnKL6p3
                                                                                  qLTtsm++zva7/LC5triyurmyu4mhurOea1uYWHzxXEEssM0TDqGjkiZWB5zkdiagr2T9oPQ4/Dvx
                                                                                  s+I+nRALFJrp1aJQOAuu2lvrbqOeiy38igdgGHG3nxuvs8BiY43A4PGR+HFYXD4mPkq9JVEt+zXV
                                                                                  9NW1JvtpyU6cJracIyXpJN9/T/PVtFFFFdRQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF
                                                                                  FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
                                                                                  AFFFFABRRRQAUUUUAFH+f5+/t/Png57nwD8NvGfxN1f+x/B+jzahLGEa8vHJg0vTYXZlE+pag6GK
                                                                                  1Qlfkj+e6nO9bW3mkQof0q+E37JHgbwOINW8X+T428RKYZV+22+PD2mzIS2LHS5VYXrpIMrean5m
                                                                                  4CKWGxtZM181n3FeUcPxccVVdbF8t6eBw7jOvK/wyqXko0IPdSqtOUVJ04TkuU5q+Lo4dNTledtK
                                                                                  cdZP4rX1tFOyacnreVruPvfA3w3/AGfvif8AFBUu9E0UabopkRG8Q6+0unaWysTueyUwSXmqBVGd
                                                                                  2nW08AkBimuImJNfdvgH9jP4beGzHeeLrm98cX4jTNvdmTS9BilAfc8enWM32u4weAt9qU1u6lS9
                                                                                  mpyp+wFVUAVFCqAFAUAAKoIUADgADhQOAMADApa/G844+z7NHUp0K39mYWV0qWDlKNdxu7e0xbar
                                                                                  OXnR9jFqTjKDUU341XMMRUuoy9nF9IfFu3rP4uvSytdNO9zG0Lw54f8AC2nrpXhvRdM0LTkwRZaT
                                                                                  Y21halhxveG1iiSSQ4BMjhnJwSxIJOz/AJ/n7/5yeTzkor4qc51JynUnKc5tynOcnKcpdZSlKTcm
                                                                                  +rbb829Tibbbbbbe7bd2+7bbf5+reoUUUVIgooooAMf4Z5zjnv1/+sT1GQfDfH37Onwm+IMd7LqH
                                                                                  hq20fWLs7/8AhIfDqx6Vqqz5YmeZYonsNQd8gSHUrK6Yj7jo43V7lRXVg8bjMvrKvgcVXwtZW/eU
                                                                                  Ks6cmoybUZcskpwvq4T5oSTalFq97hOdN81OcoPvFtXt3s9V5PTvc/I34r/so+Pfh6l7rHh/d408
                                                                                  L2y+c93YW7R67YQguJG1HRlMrzRQgAveaZLdRiMNPcwWkQc19r/shaNcaR8DtFmuYmhfW9W17W1R
                                                                                  1KsYZL4aZbSEH+Ga20mKeMnJMcgOSDX03gf5/H/Pr05OKZHHHFGsUSpFGoCqqIERRuP3UQAAclsK
                                                                                  PzJ4+kzXjLMs6yWnlWYU6VSrTxVKu8bBeznVp06deHs6tGK9nzuVRTdSlyRaUYOjf94+mrjKlagq
                                                                                  NRJtSUvaLRtRUrJxStf3m7rva29/xq/akvY7749+P3iZWS2m0KyLD/n
01-15 19:55:17.194 30570-30570/com.example.zachary.imagetesting I/Timeline: Timeline: Activity_launch_request id:com.example.zachary.imagetesting time:50420468
01-15 19:55:17.244 30570-30570/com.example.zachary.imagetesting D/AndroidRuntime: Shutting down VM
01-15 19:55:17.244 30570-30570/com.example.zachary.imagetesting E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                  Process: com.example.zachary.imagetesting, PID: 30570
                                                                                  java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.zachary.imagetesting/com.example.zachary.imagetesting.Resizing.PictureDecoded}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
                                                                                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2546)
                                                                                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758)
                                                                                      at android.app.ActivityThread.access$900(ActivityThread.java:177)
                                                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)
                                                                                      at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                      at android.os.Looper.loop(Looper.java:145)
                                                                                      at android.app.ActivityThread.main(ActivityThread.java:5942)
                                                                                      at java.lang.reflect.Method.invoke(Native Method)
                                                                                      at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
                                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
                                                                                   Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
                                                                                      at android.content.ContextWrapper.getResources(ContextWrapper.java:90)
                                                                                      at android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:74)
                                                                                      at com.example.zachary.imagetesting.Resizing.PictureDecoded.DPI(PictureDecoded.java:20)
                                                                                      at com.example.zachary.imagetesting.Resizing.PictureDecoded.<init>(PictureDecoded.java:21)
                                                                                      at java.lang.reflect.Constructor.newInstance(Native Method)
                                                                                      at java.lang.Class.newInstance(Class.java:1650)
                                                                                      at android.app.Instrumentation.newActivity(Instrumentation.java:1079)
                                                                                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2536)
                                                                                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758) 
                                                                                      at android.app.ActivityThread.access$900(ActivityThread.java:177) 
                                                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448) 
                                                                                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                      at android.os.Looper.loop(Looper.java:145) 
                                                                                      at android.app.ActivityThread.main(ActivityThread.java:5942) 
                                                                                      at java.lang.reflect.Method.invoke(Native Method) 
                                                                                      at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 
                                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)