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

Сохранить imageview при повороте экрана - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Реализовать график истории батареи http://www.cyberforum.ru/android-dev/thread1811933.html
Привет! Есть задача реализовать график истории использования батареи. Вопрос заключается в том каким образом организовать это. Нужна модель. Есть андроид девайс который подключается по блютуз к устройству на котором есть батарея. Это устройство фиксирует изменение заряда своей батареи и шлет данные на телефон, я эти данные загоняю в базу андроид девайса. Причем если телефон не подключен к...
Android Определить взаимную блокировку (диагностика) как правильно определить причину взаимной блокировки в большом приложении, в большом проекте? Как правильно собрать дамп потоков и его проанализировать? http://www.cyberforum.ru/android-dev/thread1811864.html
Android Защита apk
Есть игра, которую хочу выложить в плей маркет. В игре реализованы рекорды, которые хранятся на сервере. Что, если злоумышленник вытащит apk, из него прочитает код, найдёт адреса скриптов для взаимодействия с сервером для отправки рекордов и их получения и отправит напрямую свои рекорды без прохождения игры. Как этого избежать?
Android В чем писать?
здравствуйте, подскажите пожалуйста в чем вы пишите? я скачал andrid studio, а там компилируется 10ть минут или так во всех заранее спасибо
Android I7 6700HQ + 8 гб оперативки, будет летать? http://www.cyberforum.ru/android-dev/thread1811830.html
Покупаю ноут (100% нужен именно ноут) с такими характеристиками, как долго собирается проект? Удобно работать?
Android Теория. Какой IF лучше? Добрый день. Хочу понять какой IF лучше использовать, какие недостатки и плюсы. Есть ли вообще разница. Возможно есть разница в использовании памяти? 1) Не используется return, функция добегает до конца и выходит public void SomeFunction(bool someCondition) { if (someCondition) { // Do Something } } подробнее

Показать сообщение отдельно
MSKOT
0 / 0 / 0
Регистрация: 18.04.2015
Сообщений: 6

Сохранить imageview при повороте экрана - Android

22.09.2016, 18:05. Просмотров 165. Ответов 6
Метки (Все метки)

Доброго времени суток. При повороте екрана нужно сохранить imageView. Знаю что нужно использовать onSaveInstanceState() и onRestoreInstanceState() но ничего не получаеться. Пожалуйста помогите.

Вот собственно код:
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
package com.example.user.photoproject;
 
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.AsyncTask;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
 
import android.widget.ProgressBar;
import android.widget.TextView;
import java.io.IOException;
import java.util.Random;
import java.util.concurrent.TimeUnit;
 
public class MainActivity extends AppCompatActivity {
 
    static final int GALLERY_REQUEST = 1;
    TextView textView;
    ImageView imageView;
    Button button1;
    Bitmap bmpOriginal;
    Bitmap bmpOriginalUnchange;
    // Bitmap bmpSave;
    ProgressBar progressBar;
    static final String STATE_SCORE = "playerScore";
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = (TextView) findViewById(R.id.textView);
        imageView = (ImageView) findViewById(R.id.imageView);
        progressBar = (ProgressBar) findViewById(R.id.progressBar);
        progressBar.setVisibility(View.GONE);
 
        Button button = (Button) findViewById(R.id.button);
        button1 = (Button) findViewById(R.id.button1);
        Button button2 = (Button) findViewById(R.id.button2);
 
 
        button.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
                photoPickerIntent.setType("image/*");
                startActivityForResult(photoPickerIntent, GALLERY_REQUEST);
 
            }
        });
 
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
 
                button1.setEnabled(false);
                bmpOriginal = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
                MyTask myTask = new MyTask();
                myTask.execute();
 
 
            }
        });
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ChagePhoto(textView, imageView);
            }
        });
    }
 
    protected void BlackandWhite(ImageView imageView) {
        //Picasso.with(this)
        //      .load(R.id.imageView)
        //     .into(imageView);
        bmpOriginal = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
        int width, height;
        height = bmpOriginal.getHeight();
        width = bmpOriginal.getWidth();
        Bitmap bmpGrayscale = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        Canvas c = new Canvas(bmpGrayscale);
        Paint paint = new Paint();
        ColorMatrix cm = new ColorMatrix();
        cm.setSaturation(0);
        ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm);
        paint.setColorFilter(f);
        c.drawBitmap(bmpOriginal, 0, 0, paint);
//        Picasso.with(this).load( bmpGrayscale).into(imageView)
        // imageView.setImageBitmap(bmpGrayscale);
        bmpOriginalUnchange = bmpGrayscale;
        //  runOnUiThread(runn1);
    }
  /*  Runnable runn1 = new Runnable() {
        public void run() {
            imageView.setImageBitmap(bmpOriginalUnchange);
        }
    };*/
 
 
    protected void ChagePhoto(TextView textView, ImageView imageView) {
 
        int x;
        int y;
        int width, height;
        Random random = new Random();
        x = random.nextInt(4) + 1;
        y = random.nextInt(4) + 1;
        bmpOriginal = bmpOriginalUnchange;
        height = bmpOriginal.getHeight();
        width = bmpOriginal.getWidth();
        height = height / 4;
        width = width / 4;
        int x1 = (x - 1) * width;
        int y1 = (y - 1) * height;
        Bitmap bmpchange = Bitmap.createBitmap(bmpOriginal, x1, y1, width, height);
        imageView.setImageBitmap(bmpchange);
        String s = Integer.toString(x);
        String s1 = Integer.toString(y);
        textView.setText("x,y=" + s + s1);
    }
 
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
        super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
 
        Bitmap bitmap = null;
        imageView = (ImageView) findViewById(R.id.imageView);
 
        switch (requestCode) {
            case GALLERY_REQUEST:
                if (resultCode == RESULT_OK) {
                    Uri selectedImage = imageReturnedIntent.getData();
                    try {
                        bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), selectedImage);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    imageView.setImageBitmap(bitmap);
                    bmpOriginalUnchange = bitmap;
 
                }
        }
    }
 
 
    class MyTask extends AsyncTask<Void, Void, Void> {
 
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            progressBar.setVisibility(View.VISIBLE);
 
        }
 
 
        @Override
        protected Void doInBackground(Void... params) {
            try {
                TimeUnit.SECONDS.sleep(2);
                BlackandWhite(imageView);
 
            } catch (InterruptedException e) {
                e.printStackTrace();
 
            }
            return null;
        }
 
        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);
            imageView.setImageBitmap(bmpOriginalUnchange);
            button1.setEnabled(true);
            progressBar.setVisibility(View.GONE);
 
        }
    }
 
 
    public void onBackPressed() {
        if (!getSupportFragmentManager().popBackStackImmediate()) {
            moveTaskToBack(true);
        }
    }
 
  
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru