java - NullPointerException on getResources().getDisplayMetrics().density -


context

i'm working on small test code right now. selects image, resizes fit screen based on screen density. while this, makes copy of image @ size in xxhdpi display, , converts bitmap, string. string carried through intent next screen string turned bitmap , placed in imagebutton.

this worked fine until added in chunk of code resize image given string based on density. odd thing copied , pasted dpi() method activity , there no issues in activity.

code

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){ }      // tried addring dpi() here no success.     //public float dpi(){return getresources().getdisplaymetrics().density;}  } 

error log

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 instantiate activity componentinfo{com.example.zachary.imagetesting/com.example.zachary.imagetesting.resizing.picturedecoded}: java.lang.nullpointerexception: attempt invoke virtual method 'android.content.res.resources android.content.context.getresources()' on null object reference                                                                                       @ android.app.activitythread.performlaunchactivity(activitythread.java:2546)                                                                                       @ android.app.activitythread.handlelaunchactivity(activitythread.java:2758)                                                                                       @ android.app.activitythread.access$900(activitythread.java:177)                                                                                       @ android.app.activitythread$h.handlemessage(activitythread.java:1448)                                                                                       @ android.os.handler.dispatchmessage(handler.java:102)                                                                                       @ android.os.looper.loop(looper.java:145)                                                                                       @ android.app.activitythread.main(activitythread.java:5942)                                                                                       @ java.lang.reflect.method.invoke(native method)                                                                                       @ java.lang.reflect.method.invoke(method.java:372)                                                                                       @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1399)                                                                                       @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1194)                                                                                    caused by: java.lang.nullpointerexception: attempt invoke virtual method 'android.content.res.resources android.content.context.getresources()' on null object reference                                                                                       @ android.content.contextwrapper.getresources(contextwrapper.java:90)                                                                                       @ android.view.contextthemewrapper.getresources(contextthemewrapper.java:74)                                                                                       @ com.example.zachary.imagetesting.resizing.picturedecoded.dpi(picturedecoded.java:20)                                                                                       @ com.example.zachary.imagetesting.resizing.picturedecoded.<init>(picturedecoded.java:21)                                                                                       @ java.lang.reflect.constructor.newinstance(native method)                                                                                       @ java.lang.class.newinstance(class.java:1650)                                                                                       @ android.app.instrumentation.newactivity(instrumentation.java:1079)                                                                                       @ android.app.activitythread.performlaunchactivity(activitythread.java:2536)                                                                                       @ android.app.activitythread.handlelaunchactivity(activitythread.java:2758)                                                                                        @ android.app.activitythread.access$900(activitythread.java:177)                                                                                        @ android.app.activitythread$h.handlemessage(activitythread.java:1448)                                                                                        @ android.os.handler.dispatchmessage(handler.java:102)                                                                                        @ android.os.looper.loop(looper.java:145)                                                                                        @ android.app.activitythread.main(activitythread.java:5942)                                                                                        @ java.lang.reflect.method.invoke(native method)                                                                                        @ java.lang.reflect.method.invoke(method.java:372)                                                                                        @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1399)                                                                                        @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1194)  

the large block of text string converted bitmap passed activity. left in in case useful. line before large block of text button click started intent activity crashes due nullpointerexception.

i can add other activities on request, since worked before tried resizing based on screen density didn't feel needed.

an activity's base context won't have been setup until after oncreate() has finished executing. move initialization of dpi oncreate() after super.oncreate() has been called.


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

ruby on rails - Seeing duplicate requests handled with Unicorn -