С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Динамический интерфейс, восстановление Activity - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как отделить бинарные данные от текстовых при передаче TCP http://www.cyberforum.ru/android-dev/thread1559082.html
У меня есть несколько категорий текстовых данных, которые я передаю по TCP сокетам от клиента андроид на сервер TCP Qt. Я эти категории разделяю символами STX и ETX и то что между ними вырезаю и...
Программирование Android Размер картинки в webview привет всем. попробую общими словами, если найдется кто - дам детали. вообще задача сложнее, но хотелось бы понять основы. есть webview на вертикальном экране, в нее выводиться горизонтальная... http://www.cyberforum.ru/android-dev/thread1558728.html
Замена строки id на переменную типа String Программирование Android
Здравствуйте, возможно ли заменить в поиске id "LockIm1": LockImg = (ImageView) findViewById(R.id.LockIm1); на переменную String lock = "LockIm1", чтобы получилось что-то типа: LockImg = (ImageView)...
Доступ к общей папке Программирование Android
Доброго времени суток. Раздумываю о написании своей программы для доступа к общим локальным папкам (что-то типа Samba). Задача: получить доступ к файлам из общей папки ПК со смартфона. Может...
Программирование Android POST запрос http://www.cyberforum.ru/android-dev/thread1558127.html
Существует активити "Register", содержащий несколько элементов edittext. Пытаюсь передать текст из них в другой класс "RestClient", чтобы отправить пост запрос. в Момент нажатия на кнопку приложение...
Программирование Android Как создать оконное приложение в IntelliJ IDEA Подскажите можно ли создавать оконые приложения в IntelliJ IDEA как в Visual Studio, то есть что бы не кодом писать а перености элементы на экран формы, если до скиньте документации или подскажите как подробнее

Показать сообщение отдельно
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 51

Динамический интерфейс, восстановление Activity - Программирование Android

22.10.2015, 14:58. Просмотров 265. Ответов 2
Метки (Все метки)

Как восстановить переменную при возврате в активность.(варианты с записью в файл или БД пока не рассматриваются, интересен базовый функционал)

При вращении экрана активность создается в соответствии с реализованным SQL запросом.
отрабатывают методы:
10-22 16:49:26.012 16758-16758/com.example.funktion D/Проверка﹕ onPause
10-22 16:49:26.022 16758-16758/com.example.funktion D/Проверка﹕ onSaveInstanceState
10-22 16:49:26.022 16758-16758/com.example.funktion D/Проверка﹕ onStop
10-22 16:49:26.022 16758-16758/com.example.funktion D/Проверка﹕ onDestroy
10-22 16:49:26.054 16758-16758/com.example.funktion D/Проверка﹕ onStart
10-22 16:49:26.062 16758-16758/com.example.funktion D/Проверка﹕ onRestoreInstanceState
в случае если перехожу в новую активность
10-22 16:53:38.646 16758-16758/com.example.funktion D/Проверка﹕ onPause
10-22 16:53:38.887 16758-16758/com.example.funktion D/Проверка﹕ onSaveInstanceState
10-22 16:53:38.887 16758-16758/com.example.funktion D/Проверка﹕ onStop
судя по последовательности необходимые данные сохраняются, но при возврате
10-22 16:54:21.247 16758-16758/com.example.funktion D/Проверка﹕ onDestroy
10-22 16:54:21.247 16758-16758/com.example.funktion D/Проверка﹕ onStart
не вызывается метод 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
public class MainActivity extends Activity {
    private static final String TAG = "Проверка";
    public final static String EXTRA_MESSAGE ="com.example.funktion.MESSAGE";
    private ArrayList<String> MyList;
    {
        MyList = new ArrayList<String>();
    }
    ListView mList;
    String mMessage;
    EditText meditText;
    DatabaseHelper sqlHelper;
    Cursor userCursor = null;
         /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.activity_main);
        mList=(ListView)findViewById(R.id.listView);
        meditText= (EditText) findViewById(R.id.edit_message);
        mMessage = meditText.getText().toString();
 
    }
    protected void onDestroy() {
        super.onDestroy();
        Log.d(TAG, "onDestroy");
    }
    protected void onPause() {
        super.onPause();
        Log.d(TAG, "onPause");
    }
    protected void onRestart() {
        super.onRestart();
        Log.d(TAG, "onRestart");
    }
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        mMessage=savedInstanceState.getString("count");
        Log.d(TAG, "onRestoreInstanceState");
    }
    protected void onResume() {
        super.onResume();
        SQL(mMessage);
        Log.d(TAG, "onResume ");
    }
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putString("count",mMessage);
        Log.d(TAG, "onSaveInstanceState");
    }
    protected void onStart() {
        super.onStart();
        Log.d(TAG, "onStart");
    }
    protected void onStop() {
        super.onStop();
        Log.d(TAG, "onStop");
    }
   @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
    public void sendMessage(View view)  {
         mMessage = meditText.getText().toString();
         SQL(mMessage);
   }
    ListView SQL(String mMessage){
        sqlHelper=new DatabaseHelper(this);
        sqlHelper = new DatabaseHelper(getApplicationContext());
        sqlHelper.create_db();
        MyList.clear();
        if (mMessage.length()==0) {
            Toast toast = Toast.makeText(getApplicationContext(),
                    "Введите RAS статус", Toast.LENGTH_SHORT);
            toast.show();
        }
        else {
 
 
            try {
 
                sqlHelper.open();
                String query = " SELECT * FROM " + DatabaseHelper.TABLE +
                        " Where " + DatabaseHelper.COLUMN_E_CODE + " LIKE " + " '%" + mMessage + "%' ";
               // Log.i(TAG, "Значение из массива mMessage из SQL  " + mMessage);
 
                userCursor = sqlHelper.database.rawQuery(query, null);
                int sql=userCursor.getCount();
 
                // Log.i(TAG, "String.valueOf(userCursor.getCount())"+String.valueOf(userCursor.getCount()) );
                //Log.i(TAG,""+ sql );
 
 
 
                if(sql == 0){
                    Toast toast = Toast.makeText(getApplicationContext(),
                            "Вы ввели какую то Х...", Toast.LENGTH_SHORT);
                    toast.show();
 
                }
                else if (sql ==1) {
                    userCursor.moveToFirst();
                    MyList.add(" COLUMN_ID:  " + userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_ID)));
                    MyList.add(" COLUMN_E_CODE:  " + userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_E_CODE)));
                    MyList.add(" COLUMN_E_MESSAGE:  " + userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_E_MESSAGE)));
                    MyList.add(" COLUMN_DETECT:  " +userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_DETECT)));
                    MyList.add(" COLUMN_CHECK:  " + userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_CHECK)));
                    MyList.add(" COLUMN_MOTOR:  " +userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_MOTOR)));
                    MyList.add(" COLUMN_SENSOR:  " + userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_SENSOR)));
                    MyList.add(" COLUMN_ROOT_CHECK:  " +userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_ROOT_CHECK)));
                    MyList.add(" COLUMN_RESOL:  " + userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_RESOL)));
 
                }
                else if (sql>1) {
                    while (userCursor.moveToNext())
                    {
                        MyList.add(" COLUMN_ID:  " + userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_ID)));
                        MyList.add(" COLUMN_E_CODE:  " + userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_E_CODE)));
                        MyList.add(" COLUMN_E_MESSAGE:  " + userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_E_MESSAGE)));
                        MyList.add(" COLUMN_DETECT:  " +userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_DETECT)));
                        MyList.add(" COLUMN_CHECK:  " + userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_CHECK)));
                        MyList.add(" COLUMN_MOTOR:  " +userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_MOTOR)));
                        MyList.add(" COLUMN_SENSOR:  " + userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_SENSOR)));
                        MyList.add(" COLUMN_ROOT_CHECK:  " +userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_ROOT_CHECK)));
                        MyList.add(" COLUMN_RESOL:  " + userCursor.getString(userCursor.getColumnIndex(DatabaseHelper.COLUMN_RESOL)));
                    }
 
                }
                // getListView().setOnItemLongClickListener(this);
                sqlHelper.database.close();
                userCursor.close();
 
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
 
        ArrayAdapter mAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, MyList);
        mList.setAdapter(mAdapter);
        mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
 
                if (MyList.size() < 10){
                    Intent MyIntent = new Intent(MainActivity.this, ImageSoSO.class);
                    MyIntent.putExtra(EXTRA_MESSAGE, MyList.get(position));
                    startActivity(MyIntent);}
                else {
                    // MyList.clear();
                    Toast toast = Toast.makeText(getApplicationContext(),
                            "Все же утоните запрос", Toast.LENGTH_SHORT);
                    toast.show();
                }
              //  Log.i(TAG, "Значение из массива" + MyList.get(position));
              //  Log.v(TAG, "Запись = " + position + ", id = " + id);
              //  Log.i(TAG, "Значение из массива CREAT" + MyList.size());
           }
        });
        return mList;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.