Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
nnnikotinnn995
4 / 4 / 0
Регистрация: 07.07.2011
Сообщений: 313
#1

Сбой при загрузке на android 4 - Программирование Android

20.06.2013, 14:29. Просмотров 1998. Ответов 8
Метки нет (Все метки)

Здравствуйте. Моя игра без проблем загружается на android 2.3 но на android 4+ в процессе загрузки при достижение примерно 5 МВ графики вылетает. Объем графики игры – 9МВ. Загружаю из общей папки drawable для всех устройств методом
Java
1
Bitmap myBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.spriten1);
А потом растягиваю в зависимости от соотношения сторон устройства.
Вот собственно мой проект.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
public class MainActivity extends Activity {
Bitmap myBitmap,Fonhousen,SPLCHN,SPLCHN2;Bitmap myBitmap52,Newstgn;
Bitmap Gameend,befonSTGTVN,GameBGn;
Bitmap Menun,MenuBTNactn,ChooseSTGN,ChooseSTGN1,ChooseSTGN2,ChooseSTGN3,Fullstgn,Congra
tulation,Exitn,waitn;
Bitmap MAINgon,MAINStation,MAINRun,MAINFlyn,MAINFlyn2,MAINJumnp,Tectaundern,Tectaundere
nd,Brakingn,Ogon;
Bitmap Cockn1staton,Cockmoven,Cocknrun;  Bitmap Countingn;
Bitmap NdrakenBN,DRKabuseN,NdrakenBN2,DRKabuseN2;
    Bitmap SPRINGN,OBLAKON,BALLONmain,Obstaclen,Obstaclen2,Greenalln,Treen;
     Bitmap Buttonsn,ButtonActn,ShsTchBtn,ActShsTchBtn,ButtonsnONtchn,ButtonONtchnActn,Scale
btn,Scalebtnsmalln;
     Bitmap mountainmain,mountainsplchn,mountaindown,housebn;
     Bitmap Newoblacn,Watenwaven,Watentransn,Watensmackn,Shmnlosestgn,Shmnlosestgfgn,Cocksig
nificantn,Cocklogn,Pignalln,Pighitn,SHamoon,JAWN;
     Bitmap LONGLOGN,LOGN,Housenhighn;
long musictimeonpausen2;int numbleveln=1,tectnzagnruzn,levelsn;// saven
    //----------------
    public static final String APP_PREFERENCES = "mysettings"; // это будет именем файла настроек
    public static final String APP_PREFERENCES_INT = "mysettingsintn"; // это будет именем файла настроек
    int MainWwindowN,MainHwindowN;
    Context context2;
     SharedPreferences mSettings;
     GameView mainGameView;
     boolean zagnruzn=true,GameBegin;     MyTask mt;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        
//        // если хотим, чтобы приложение постоянно имело портретную ориентацию
//        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
 
        // если хотим, чтобы приложение было полноэкранным
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
 
        // и без заголовка
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        
        context2 = getApplicationContext();
        mSettings = PreferenceManager.getDefaultSharedPreferences(context2);
MainWwindowN=getWindowManager().getDefaultDisplay().getWidth();MainHwindowN=getWindowManager().getDefaultDisplay().getHeight();
mainGameView=new GameView(this,MainWwindowN,MainHwindowN,mSettings.getInt(APP_PREFERENCES_INT, numbleveln));
setContentView(mainGameView);
 
        //setContentView(new GameView(this,null));
        musictimeonpausen2 = System.currentTimeMillis();  
    }
  boolean gameBegin=false;
     MediaPlayer track;  
  
    @Override
    public void onPause() {
        super.onPause();
        if (gameBegin==true){
//           System.runFinalizersOnExit(true);System.exit(0);
      track.stop();
            }
    }
    class MyTask extends AsyncTask<Void, Void, Void> {
 
        @Override
        protected void onPreExecute() {
          super.onPreExecute();
        }
 
        @Override
        protected Void doInBackground(Void... params) {
          try {
              TimeUnit.SECONDS.sleep(1);
mainGameView.zagnruzn();
          } catch (InterruptedException e) {
            e.printStackTrace();
          }
          return null;
        }
 
        @Override
        protected void onPostExecute(Void result) {
          super.onPostExecute(result);
          zagnruzn=false;
        }
      }
    public class GameView extends SurfaceView implements Runnable{
 
      /**Переменная запускающая поток рисования*/
 
    //-------------Start of GameThread--------------------------------------------------\\
      
        public class GameThread extends Thread
        {
             /**Наша скорость в мс = 10*/
               static final long FPST = 25;
              
               /**Объект класса GameView*/
               private GameView view;
 
               /**Задаем состояние потока*/
               private boolean nrunning = false;
            
            /**Конструктор класса*/
            public GameThread(GameView view)
            {
                  this.view = view;
            }
 
            /**Задание состояния потока*/
            public void setRunning(boolean run)
            {
                  nrunning = run;
            }
 
            /** Действия, выполняемые в потоке */
//            @Override
               public void run()
               {
/*                  boolean npuskn=true; // УС ЗАПУСКА НСРАВНЕНИЯ Н
//                     long Timeonen = 40;
                     long startTimeT51 = 0;  //ТОЧКА СРАВНЕНИЯ
                     long startTimeT52;
                     long befon=0;//
                     long sleepTimeT;*/
                     while (nrunning) {
                            Canvas c = null;
                      /*      startTimeT52 = System.currentTimeMillis();
                           if (npuskn==true){
                            befon+=40;
                            if(befon>2000){
                                npuskn=false;
                                startTimeT51 = System.currentTimeMillis();
                                befon=0;
                            }
                           }*/
    try {
         c = view.getHolder().lockCanvas();
          synchronized (view.getHolder()) {
            view.onDraw(c);  //               РИСОВАНИЕ
                     }
                            } finally {
                                   if (c != null) {
                                          view.getHolder().unlockCanvasAndPost(c);
                                   }
                            }
                      /*      sleepTimeT = 40+startTimeT52-System.currentTimeMillis();
                            if(npuskn==false){
                                 befon+=40;
                                 if(System.currentTimeMillis() - startTimeT51>befon){
                                     sleepTimeT=0;    
                                 }
                            }*/
                            try {
                                        sleep(85);
                            } catch (Exception e) {}
                     }
               }
    }
 
        //-------------End of GameThread--------------------------------------------------\\
int heightWindown,widthWindown,widthWndwntlfn,heightWndwntlfn,heightWindown2,widthWi
ndown2;
    
double nrationWHN;int shiftnWN,shiftnHN;     Context mContext;
private Moven moven;
        public GameView(Context context,int wn,int hn,int settingsn)
        {
            super(context);
this.mContext = context;mThread = new GameThread(this);this.heightWndwntlfn = hn;this.widthWndwntlfn = wn;
        //    mSettings.edit().putInt(APP_PREFERENCES_INT, n1).commit();
//                               доступ к уровням игры
numbleveln=settingsn;if(numbleveln<8){levelsn=numbleveln;}else levelsn=7; if(settingsn<1){levelsn=1;}
           //-------------------------------------------
SPLCHN=BitmapFactory.decodeResource(getResources(),R.drawable.mainsplchn);
SPLCHN2=BitmapFactory.decodeResource(getResources(),R.drawable.zastavn5);
heightWindown2 = SPLCHN.getHeight();widthWindown2 = SPLCHN.getWidth();
//------------------------------------------
//             меняем соотношение сторон в зависимости от разрешения устройства
this.nrationWHN=(double)widthWndwntlfn/heightWndwntlfn;
            if (nrationWHN>1.5){
                this.widthWindown=3*heightWndwntlfn/2;
                this.heightWindown=heightWndwntlfn;
                 shiftnWN = (widthWndwntlfn-widthWindown)/2;
                 shiftnHN = 0;
            }else if(nrationWHN<1.5){
                this.widthWindown=widthWndwntlfn;
                this.heightWindown=2*widthWndwntlfn/3;
                shiftnWN = 0;
                shiftnHN = (heightWndwntlfn-heightWindown)/2;
            }else {
                this.widthWindown=widthWndwntlfn;
                this.heightWindown=heightWndwntlfn;
                shiftnWN = 0;
                   shiftnHN = 0;
            }
     this.src = new Rect(0, 0, widthWindown2,heightWindown2);//кусок снимка
        this.dst = new Rect(shiftnWN+0,shiftnHN+0,shiftnWN+widthWindown,shiftnHN+heightWindown);// нразмер его на экране    
        this.srcfon = new Rect(0,0,widthWindown2,400*heightWindown2/533);
        if(nrationWHN>=2){this.dstfon=new Rect(0,0,widthWndwntlfn,heightWndwntlfn);
        }else {this.dstfon=new Rect(0,0,2*heightWndwntlfn,heightWndwntlfn);}
      mt = new MyTask();mt.execute();
            //---------------------------------------------
     thred.start();     
          /*Рисуем все наши объекты и все все все*/
          getHolder().addCallback(new SurfaceHolder.Callback()
          {
                   /*** Уничтожение области рисования */
                 public void surfaceDestroyed(SurfaceHolder holder)
                 {
                     boolean nretry = true;
                      mThread.setRunning(false);
                      while (nretry)
                      {
                          try
                          {
                              // ожидание завершение потока
                              mThread.join();
                              nretry = false;
                          }
                          catch (InterruptedException e) {}
                      }
                 }
 
                 /** Создание области рисования */
                 public void surfaceCreated(SurfaceHolder holder)
                 {
                    
                //     createSprites();
                     mThread.setRunning(true);
                     mThread.start();
                 }
 
                 /** Изменение области рисования */
                 public void surfaceChanged(SurfaceHolder holder, int format, int width, int height)
                 {
                 }
          });
    //----------------------------------------------------------------------------------------------
        }
         public void zagnruzn(){
              myBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.fonwatenrn);tectnzagnruzn++;
             Menun=BitmapFactory.decodeResource(getResources(),R.drawable.menun);tectnzagnruzn++;
...
moven = new Moven(mainGameView,MAINgon,MAINStation,MAINRun,MAINFlyn,MAINFlyn2,MAINJumnp,Tectau
ndern,Tectaunderend,Brakingn,Ogon);
GameBegin=true;
         }
//----------------------------------------------------------------------------------------------------------
      private SoundPool sounds,sounds2;
        /**Объект класса GameLoopThread*/
        private GameThread mThread;
        private Thread thred = new Thread(this);
            private Paint createPaint(int sw){
                Paint paint = new Paint();
                paint.setStyle(Paint.Style.FILL);
                paint.setSubpixelText(true);
                paint.setAntiAlias(true);
                paint.setColor(Color.BLUE);
                paint.setTextSize(55*widthWindown/800);
                return paint;
            }
Rect src,srcfon;//кусок снимка
Rect dst,dstfon;
@SuppressLint({ "NewApi", "NewApi", "NewApi", "NewApi", "NewApi", "NewApi", "NewApi", "NewApi", "NewApi" })
            @Override
         public boolean onTouchEvent(MotionEvent event) {
             return true;
         }
    //--------------------------------------------------------     
         Matrix matrix = new Matrix();
protected void onDraw(Canvas canvas) {
     if(GameBegin==false){
          canvas.drawBitmap(SPLCHN2,srcfon, dstfon, null);canvas.drawBitmap(SPLCHN,src, dst, null);
      Paint p = new Paint(createPaint(0));
      canvas.drawText("номер изображения;"+tectnzagnruzn,5,widthWindown/4+55*widthWindown/800, p);
      canvas.drawText("все загруженно?;"+GameBegin,5,widthWindown/4, p);
     }else{
           //                                идет игран
canvas.drawBitmap(SPLCHN2,src, dst, null);
      Paint p = new Paint(createPaint(0));
      canvas.drawText("все загруженно;"+GameBegin,5,225, p);
         moven.onDraw5(canvas);}
      }
    
    public void run() {
            while(true) {
                Random rnd = new Random();
                try {
                    Thread.sleep(rnd.nextInt(2000));
//                    Thread.sleep(120);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
      
    }  
}
Все изображения загружаются в методе zagnruzn() а он в фоновом потоке - doInBackground. После каждого загруженного кадра переменная tectnzagnruzn увеличивается на единицу и показывается на экране. Посмотрите пожалуйста этот проект, что тут не так, почему на простом телефоне все работает, а на мощном не загружается?
Если скачаете проект, пожалуйста замените в нем папку drawable на аналогичную папку из второго архива drawable.
Вложения
Тип файла: 7z Zagrus.7z (7.89 Мб, 1 просмотров)
Тип файла: 7z drawable.7z (8.13 Мб, 1 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2013, 14:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сбой при загрузке на android 4 (Программирование Android):

Разница в загрузке Android от Open GL и canvas - Программирование Android
Интересует такой вопрос. Допустим разрешение устройства 320 на 480. Есть фото лабиринта (кирпичная стенка произвольной формы на темном...

Автофокус при загрузке страницы - Программирование Android
Всем привет! Подскажите как убрать автофокусировку на странице приложения при его загрузке. В моем случае - открываю приложение на...

Ошибка при загрузке темы - Программирование Android
Здравствуйте! Я хотел поменять тему , что в последствии и сделал , но немного не таким образом как я ранее хотел. В итоге остался вопрос ,...

Скачать файл при загрузке - Программирование Android
Очень нужна помощь! В программирование на java я 0. Но очень нужно приложение которое при открытие будет скачивать на sd карту файл из...

Вылетает приложении при загрузке шрифта - Программирование Android
Хочу присвоить тексту свой шрифт, например, кладу в assets/fonts/f300.ttf далее код textView1 = (TextView)...

Ориентация экрана при загрузке данных - Программирование Android
Добрый день! Приложение запрашивает HTML страницу которая загружется в doInBackground. Но при смене ориентции экрана приложение...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nnnikotinnn995
4 / 4 / 0
Регистрация: 07.07.2011
Сообщений: 313
20.06.2013, 17:55  [ТС] #2
Вот впрочем простой проект - в нем все так же не работает.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
public class Main extends Activity implements OnClickListener{
    public static final String APP_PREFERENCES = "mysettings"; // это будет именем файла настроек
    public static final String APP_PREFERENCES_INT = "mysettingsintn"; // это будет именем файла настроек
    public int symboln = 0;
     ImageView splash; 
    SharedPreferences mSettings; 
    Context context2;
Bitmap myBitmap,SPLCHN,SPLCHN2;Bitmap myBitmap52,Newstgn;Bitmap Newoblacn,Watenwaven,Watentransn,Watensmackn,Shmnlosestgn,Shmnlosestgfgn;
    Bitmap Gameend,befonSTGTVN,GameBGn;
    Bitmap Menun,MenuBTNactn,ChooseSTGN,ChooseSTGN1,ChooseSTGN2,ChooseSTGN3,Fullstgn,Congratulation,Exitn,waitn;
    Bitmap MAINgon,MAINStation,MAINRun,MAINFlyn,MAINFlyn2,MAINJumnp,Tectaundern,Tectaunderend,Brakingn,Ogon;
    Bitmap Cockn1staton,Cockmoven,Cocknrun,Cocksignificantn,Cocklogn; Bitmap Countingn;Bitmap Pignalln,Pighitn; 
     Bitmap NdrakenBN,DRKabuseN,NdrakenBN2,DRKabuseN2,SHamoon,JAWN;
     Bitmap SPRINGN,OBLAKON,BALLONmain,Obstaclen,Obstaclen2,Greenalln,Treen,LOGN,LONGLOGN;
     Bitmap Buttonsn,ButtonActn,ShsTchBtn,ActShsTchBtn,ButtonsnONtchn,ButtonONtchnActn,Scalebtn,Scalebtnsmalln;
     Bitmap mountainmain,mountainsplchn,mountaindown,housebn,Housenhighn,Fonhousen; MyTask mt;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       symboln = 0;
        context2 = getApplicationContext();
        mSettings = PreferenceManager.getDefaultSharedPreferences(context2); 
        setContentView(R.layout.activity_main);
        //--------------------------------------------
        splash = (ImageView) findViewById(R.id.splashscreen);
        //-----------------------------------------------
        //                                    кнопки
        Button startButton = (Button)findViewById(R.id.button1);
        startButton.setOnClickListener(this);
        
        Button exitButton = (Button)findViewById(R.id.button2);
        exitButton.setOnClickListener(this);
 
    }
   
    
    class MyTask extends AsyncTask<Void, Void, Void> {
 
        @Override
        protected void onPreExecute() {
          super.onPreExecute();
        }
 
        @Override
        protected Void doInBackground(Void... params) {
          try {
              TimeUnit.SECONDS.sleep(1);
zagnruzn();
          } catch (InterruptedException e) {
            e.printStackTrace();
          }
          return null;
        }
 
        @Override
        protected void onPostExecute(Void result) {
          super.onPostExecute(result);
          zagruzn=true; 
        }
      } 
   
   public void zagnruzn(){
       zagruzn=false;
          myBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.fonwatenrn);
         Menun=BitmapFactory.decodeResource(getResources(),R.drawable.menun);
         Newstgn=BitmapFactory.decodeResource(getResources(),R.drawable.nnn555);
         Fonhousen=BitmapFactory.decodeResource(getResources(),R.drawable.fonhousen);
         //------------------
        ...
     }  boolean zagruzn;
    public void onClick(View v) {
    Editor editor = mSettings.edit();
               switch (v.getId()) {
                       case R.id.button1: {
                           mt = new MyTask();mt.execute();
                             splash.setVisibility(View.VISIBLE);
                           mSettings.edit().putInt(APP_PREFERENCES_INT, symboln).commit();
                            break;
                       }
                       case R.id.button2: {
  //Если после того как все загрузилось нажать на кнопке "все загружено?-можно стереть" - изображение //исчезнет                    
                           if(zagruzn==true){splash.setVisibility(View.INVISIBLE);}
                           mSettings.edit().putInt(APP_PREFERENCES_INT, symboln).commit();
                       }break;
                       
                       default:
                               break;
               }
       }
}
Все изображения так же загружаются в методе zagnruzn() а он в фоновом потоке - doInBackground.Метод execute вызван как и должно быть в UI-потоке. Помотрите APK,может у меня с телефоном что то не то? Если после того как все загрузилось нажать на кнопке "все загружено?-можно стереть" - изображение исчезнет.
Вложения
Тип файла: 7z drawable.7z (8.02 Мб, 0 просмотров)
Тип файла: 7z Savendaten.7z (7.77 Мб, 0 просмотров)
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
20.06.2013, 22:07 #3
с какой ошибкой вылетает?
nnnikotinnn995
4 / 4 / 0
Регистрация: 07.07.2011
Сообщений: 313
20.06.2013, 22:13  [ТС] #4
Цитата Сообщение от V0v1k Посмотреть сообщение
с какой ошибкой вылетает?
На планшете - "приложение остановлено" а на телефоне "произошла ошибка", я точно не помню (у меня они не под рукой) но по памяти как то так.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
20.06.2013, 22:49 #5
какая конкретно произошла ошибка написано в логах.
nnnikotinnn995
4 / 4 / 0
Регистрация: 07.07.2011
Сообщений: 313
21.06.2013, 09:25  [ТС] #6
Цитата Сообщение от V0v1k Посмотреть сообщение
какая конкретно произошла ошибка написано в логах.
там много написано красным, но основное это наверно
06-21 05:17:02.202: E/AndroidRuntime(335): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
А вообще возможно все сразу загрузить? Посоветуйте пожалуйста что с ними перед загрузкой лучше всего сделать
(а то тут много вариантов а устройства далеко не всегда под рукой).
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.06.2013, 09:59 #7
нехватка памяти, попробуйте в манифесте прописать
XML
1
2
3
4
5
<application 
....
android:largeHeap="true">
. . .
</application>
и экономьте память.
nnnikotinnn995
4 / 4 / 0
Регистрация: 07.07.2011
Сообщений: 313
23.06.2013, 13:41  [ТС] #8
Спасибо. Сейчас значительно больше входит графики, но все равно не все. Кстати если Build Target ниже 3.0 - возникает ошибка, то есть эта опция доступна с 3 версии (примерно). У меня графика едва влазит в сцены так что без вашей подсказки не обойтись. А что будет если версия ниже 3? Не приведет ли отсутствие поддержки "данной опции" к вылетанию? И еще интересно, как здесь написано максимальный бюджет загружаемой памяти на одно приложение 16 МВ. Что происходит при внедрение данной опции в приложение, бюджет увеличивается, или тут что то другое происходит?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.06.2013, 14:23 #9
Цитата Сообщение от nnnikotinnn995 Посмотреть сообщение
лазит в сцены так что без вашей подсказки не обойтись. А что будет если версия ниже 3?
у меня не приводило, проверял.
Цитата Сообщение от nnnikotinnn995 Посмотреть сообщение
о происходит при внедрение данной опции в приложение, бюджет увеличивается, или тут что то другое происходит?
"бюджет увеличивается"

Добавлено через 1 минуту
Цитата Сообщение от nnnikotinnn995 Посмотреть сообщение
У меня графика едва влазит в сцены
уменьшайте вес графики.

Добавлено через 3 минуты
избавляйтесь от битмапок которые не используются в конкретный момент
Java
1
2
bitmap.recycle();
bitmap = null;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2013, 14:23
Привет! Вот еще темы с ответами:

Ошибка при загрузке приложения на Google Play - Программирование Android
Здравствуйте. При попытке загрузки приложения на Google Play возникает ошибка: В AndroidManifest.xml прописано: &lt;application...

Изменение ссылок на файлы при загрузке HTML страницы - Программирование Android
Добрый день, может кто имел опыт подмены ссылок при загрузке страницы в WebView, если перефразировать то нужно при загрузке страницы, в...

ActionBar при < android 3 - Программирование Android
Добрый день. Скажу сразу, что я полный нуб в этой теме. Мне нужно использовать ActionBar на версиях андроид меньше 3. Я знаю, что для этого...

Как проверить пустое SharedPreferences или нет при загрузке активити? - Программирование Android
У меня вот такая задача при первой загрузке приложения ничего. В строку ввода я ввожу разные фразы и сохраняю в preferences. При следующей...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.06.2013, 14:23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru