Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
drepturile copiilor in numele ...

Mocheta peste parchet cu incalzir...

La multi ani mie!

Senzor filtru particule GOLF 7
 La multi ani @radu103!

La multi ani @Nenea Zap!

La multi ani @beavis03!

BlackView Oscal Pad 13, probleme ...
 Baterie auto AGM 70AH vs normala ...

Depanero nu vrea sa imi dea Negat...

Extras carte funciara

Carucior pliabil pentru cumparatu...
 In ce supermarket gasesc carne de...

Cat de riscant e sa rezerv un hot...

Audi Q3 F3 PHEV - impresii si con...

AC Vortex nu mai incalzește
 

Problema Development Aplicatie Android

- - - - -
  • Please log in to reply
11 replies to this topic

#1
mitzu2250

mitzu2250

    Junior Member

  • Grup: Members
  • Posts: 68
  • Înscris: 02.12.2007
Salut,

Nu am gasit o rubrica specifica asa ca voi posta aici.
Am inceput sa lucrez la licenta, trebuie sa fac un joculet in Android.

Problema mea e ca nu am mai lucrat pana acum in Android, e destul de usor parearea mea, incerc sa ma adaptez.

Am urmatoarele probleme:
Am facut aplicatia care contine urmatoarele activities : Meniu, Level Select si 9 Activitati cu levele.

1. Rulez aplicatia prin USB Debugging. Pe tableta cu 4.2.2 imi afiseara backgroundul setat in XML. Pe telefon cu 4.4.2 (S4) nu imi seteaza backgroundul.

2. Rulez aplicatia si merg din Meniu > Level Select > Back > Level Select merge.
Cand incerc combinatia Meniu > Level Select > Level 1 > Back > Back > Level Select, aplicatia se inchide.
(Combinatia Meniu > Level Select > Level 1 > Back > Level 2 > Back > Level x > Back merge. Daca ma intorc pe Meniu si dau Level Select, pica.

Banuiala mea este ca nu stiu eu ceva despre cum functioneaza activitatile si de aceea cand mai deschide un Level Select pica.

Sper ca ma poate ajuta cineva.

Multumesc anticipat.

Imi pare rau daca am postat gresit aici, mutati in sectiunea corespunzatoare daca se poate.

#2
paulicaFX

paulicaFX

    Member

  • Grup: Members
  • Posts: 792
  • Înscris: 08.08.2011
Ai logat. Acolo sunt erorile, pune aici stack trace-ul.

Sa faci o activitate pt fiecare nivel nu e deloc bine, in ce consta un nivel?

#3
mitzu2250

mitzu2250

    Junior Member

  • Grup: Members
  • Posts: 68
  • Înscris: 02.12.2007
Ce vad ciudat in logcat :
- dupa ce dau 2 x back pana in meniul principat :
I/Choreographer﹕ Skipped 30 frames!  The application may be doing too much work on its main thread.

- cand incerc sa intru iar pe Level Select :
04-02 16:15:17.710  12626-12626/mitzu.licenta E/dalvikvm-heap﹕ Out of memory on a 4896016-byte allocation.
04-02 16:15:17.720  12626-12626/mitzu.licenta I/dalvikvm﹕ [ 04-02 16:15:17.730 12626:12626 D/skia	 ]
	--- decoder->decode returned false
04-02 16:15:17.730  12626-12626/mitzu.licenta D/AndroidRuntime﹕ Shutting down VM
04-02 16:15:17.730  12626-12626/mitzu.licenta W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x40b6b930)
04-02 16:15:17.810  12626-12626/mitzu.licenta E/AndroidRuntime﹕ FATAL EXCEPTION: main
	java.lang.OutOfMemoryError
			at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
			at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:502)
			at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:355)
			at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:785)
			at android.content.res.Resources.loadDrawable(Resources.java:1965)
			at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
			at android.view.View.<init>(View.java:3330)
			at android.widget.TextView.<init>(TextView.java:583)
			at android.widget.Button.<init>(Button.java:107)
			at android.support.v7.internal.widget.TintButton.<init>(TintButton.java:46)
			at android.support.v7.internal.widget.TintButton.<init>(TintButton.java:42)
			at android.support.v7.app.ActionBarActivityDelegateBase.createView(ActionBarActivityDelegateBase.java:802)
			at android.support.v7.app.ActionBarActivity.onCreateView(ActionBarActivity.java:548)
			at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
			at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
			at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
			at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
			at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
			at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
			at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
			at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
			at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:240)
			at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
			at mitzu.licenta.LvlSelect.onCreate(LvlSelect.java:21)
			at android.app.Activity.performCreate(Activity.java:5104)
			at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
			at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
			at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
			at android.app.ActivityThread.access$600(ActivityThread.java:141)
			at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
			at android.os.Handler.dispatchMessage(Handler.java:99)
			at android.os.Looper.loop(Looper.java:137)
			at android.app.ActivityThread.main(ActivityThread.java:5041)
			at java.lang.reflect.Method.invokeNative(Native Method)
			at java.lang.reflect.Method.invoke(Method.java:511)
			at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
			at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
			at dalvik.system.NativeStart.main(Native Method)


Legat de activitati, nu am avut alta idee, din cate am inteles, pot sa fac cu fragmente dar cred ca e acelsi lucru.
Jocul este de timpul Hidden Object Game, nu au legatura nivelele unele cu altele.

#4
daemon

daemon

    Active Member

  • Grup: Members
  • Posts: 1,541
  • Înscris: 08.12.2001
"Out of memory on a 4896016-byte allocation."

Incearca sa nu pui imagini mari ca background, daca ai o culoare principala de fundal sa o pui din cod (ca background in xml) si peste ea sa construiesti layout-ul din elemente distincte, pe cat posibil. Multe se pot face din xml sau din cod, in loc sa folosesti imagini mari, exact ca la html/css.

#5
mitzu2250

mitzu2250

    Junior Member

  • Grup: Members
  • Posts: 68
  • Înscris: 02.12.2007
Imaginile au rezolutia de 1080 x 1920. Se pot considera mari ?

Le-am facut la jumate, din cate vad merge ok pana acum. Credeam ca daca am imagini mari, normal, o sa se vada mai bine.

Pe telefon tot nu imi apare backgroundul si cand apas pe primul buton (sa ajung la Level Select) primesc urmatoarele : (android 5.0.1 a intrat de dimineata)
04-02 16:57:40.296 23734-23734/mitzu.licenta E/Zygote﹕ MountEmulatedStorage()
04-02 16:57:40.296 23734-23734/mitzu.licenta E/Zygote﹕ v2
04-02 16:57:40.367 23734-23734/mitzu.licenta E/SELinux﹕ [DEBUG] get_category: variable seinfo: default sensitivity: NULL, cateogry: NULL
04-02 16:58:02.989 23734-23734/mitzu.licenta E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: mitzu.licenta, PID: 23734
java.lang.IllegalStateException: Could not find a method new_game(View) in the activity class android.view.ContextThemeWrapper for onclick handler on view class android.widget.Button with id 'button'
		 at android.view.View$1.onclick(View.java:4240)
		 at android.view.View.performClick(View.java:5197)
		 at android.view.View$PerformClick.run(View.java:20926)
		 at android.os.Handler.handleCallback(Handler.java:739)
		 at android.os.Handler.dispatchMessage(Handler.java:95)
		 at android.os.Looper.loop(Looper.java:145)
		 at android.app.ActivityThread.main(ActivityThread.java:5944)
		 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:1389)
		 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184)
	 Caused by: java.lang.NoSuchMethodException: new_game [class android.view.View]
		 at java.lang.Class.getMethod(Class.java:665)
		 at android.view.View$1.onclick(View.java:4233)
			at android.view.View.performClick(View.java:5197)
			at android.view.View$PerformClick.run(View.java:20926)
			at android.os.Handler.handleCallback(Handler.java:739)
			at android.os.Handler.dispatchMessage(Handler.java:95)
			at android.os.Looper.loop(Looper.java:145)
			at android.app.ActivityThread.main(ActivityThread.java:5944)
			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:1389)
			at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184)


Pe mine ma bate ideea ca pe tableta merge si pe telefon nu, desi stiu ca sunt alte versiuni ale sistemului dar ... chiar sa conteze asa de mult, ma gandesc ca aplicatiile proiectate pe sisteme 'vechi' ar trebui sa fie suportate de versiunile noi de OS.

Edited by mitzu2250, 02 April 2015 - 15:59.


#6
daemon

daemon

    Active Member

  • Grup: Members
  • Posts: 1,541
  • Înscris: 08.12.2001
Daca ai 1-2GB de memorie pe device nu inseamna ca te si lasa sa o folosesti pe toata la aplicatia ta. Da, sunt mari. Pe un device cu mai putina memorie iti poate crapa.

Logcat-ul e destul de explicit:

"java.lang.IllegalStateException: Could not find a method new_game(View) in the activity class android.view.ContextThemeWrapper for onclick handler on view class android.widget.Button with id 'button'"  = ai folosit "new_game" aiurea

#7
mitzu2250

mitzu2250

    Junior Member

  • Grup: Members
  • Posts: 68
  • Înscris: 02.12.2007
Multumesc pentru raspuns.

O sa ma documentez mai mult cu apelarea functiilor si daca nu imi iese revin aici.

Ideea este ca acelasi cod merge pe tableta 4.2.2 dar nu merge pe telefon 5.0.
Functia new_game este apelata la on_click pe butonul New Game din meniul principal si porneste activitatea Level Select.

DIn eroare eu inteleg ca el incearca sa gaseasca new_game in clasa android.view.ContextThemeWrapper in loc sa o caute in clasa Main (din fisierul Main.java asociat meniului).

#8
daemon

daemon

    Active Member

  • Grup: Members
  • Posts: 1,541
  • Înscris: 08.12.2001
Sincer, fara bucata de cod respectiva e cam greu sa imi dau seama ce nu faci bine.

#9
mitzu2250

mitzu2250

    Junior Member

  • Grup: Members
  • Posts: 68
  • Înscris: 02.12.2007
Am rezolvat intre timp. Multumesc pentru ajutor.

Daca o sa mai am intrebari pe parcursul dezvoltarii o sa revin aici.

#10
mitzu2250

mitzu2250

    Junior Member

  • Grup: Members
  • Posts: 68
  • Înscris: 02.12.2007
Salut. Am reusit sa implementez majoritatea functionalitatilor.

Revin cu o intrebare.

Imi poate spune cineva cum pot implementa aparitia unui pop-ul ? Pana acum am folosit doar tranzitiile intre activitati si nu am gasit o modalitate de a afisa o informatie pe o parte din ecran.
Scopul lui este : la finalul jocului sa arate punctajul obtinut si cateva butoane.

#11
daemon

daemon

    Active Member

  • Grup: Members
  • Posts: 1,541
  • Înscris: 08.12.2001
Poti folosi AlertDialog:

http://developer.and...tml#AlertDialog

Pe aceeasi pagina ai mai jos si cum poti folosi un layout custom.

#12
paulicaFX

paulicaFX

    Member

  • Grup: Members
  • Posts: 792
  • Înscris: 08.08.2011
Sau http://developer.and...ogFragment.html

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate