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

Двухуровневый список выбора (Spinner) "Страна->Город" c применением SQLite - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Не запускаются эмуляторы http://www.cyberforum.ru/android-dev/thread1839393.html
Здравствуйте, всем.. Никак не могу запустить хоть какой-либо эмулятор на Win7-x64. В Android Studio эмулятор запускается, появляется девайс и надпись "Android" и так весит вечно... =((( Попробовал GenyMotion, там белый экран при запуске. Поковырял VirtualBox... если для конкретной виртуальной машины отключить сеть вовсе и запустить напрямую - запускается, но работает крайне медленно....
Программирование Android Организация прямого сетевого взаимодействия между устройствами Здравствуйте. Сабж. Например для медиа связи. Учитывая, что адреса у мобильных устройств динамические и меняются каждую сессию, то понятно, что нужно промежуточное звено-сервер. Есть несколько вопросов: 1. Можно ли использовать сервер только для актуализации адресов(приложения-клиенты подключаются при открытии или изменении сетевого подключения и сообщают серверу свой текущий ip адрес) и... http://www.cyberforum.ru/android-dev/thread1839210.html
Программирование Android Сделать общие экранные кнопки (аналог экранных кнопок назад, домой, меню)
Прежде чем создать тему изрядно покопался, но ничего не нашел. Может, потому что мало информации или я не понимаю что ищу. Так вот, каждый наверняка видел смартфоны у которых кнопок(назад, домой, и меню) нет на корпусе, то есть они виртуальные. Данные кнопки всегда отображаются на экране, что бы в операционной системе не происходило. Поэтому вопрос такой, как добавить на экран еще таких...
Программирование Android Сделать слушателя перехода на другую вкладку таба
Доброго времени суток! Имеется статья: http://www.androidhive.info/2015/09/android-material-design-working-with-tabs/ Сделал все по образцу, все получилось и работает, Хотел только уточнить, как сделать слушателя, чтобы вызывалось событие при переходе на другую вкладку И как программно поменять вкладку. Спасибо! Добавлено через 1 час 36 минут Люди, вы где? Помогите плиз))
Программирование Android Работа с Service http://www.cyberforum.ru/android-dev/thread1838987.html
Всем добрый вечер! Есть приложение под андроид. С активити, с интерфейсом, всё как нужно. Теперь потребовалось сделать из него фоновое приложение. Читала про Сервисы, ИнтентСервисы. Возник важный, но может быть глупый, вопрос - мотает эта приложенька себе на фоне и должна выдавать мне данные только в определённый момент нажатия хардовой кнопки. Возможно ли сделать так, чтобы реакция на эту...
Программирование Android Групповые сетевые запросы с задержкой Всем добрый день. У меня есть три группы объектов находящиеся в одной Realm базе. Каждая из этих групп представляет набор тагов и другой информации, по каждому тагу я должен сделать запрос в сеть, чтобы получить id. Запрос в сеть для каждой группы объектов свой (меняется урл и ответ). Также необходимо делать запросы параллельно для каждой группы и нужно чтобы было не более 20 запросов в ... подробнее

Показать сообщение отдельно
zoleg
14 / 14 / 1
Регистрация: 10.01.2012
Сообщений: 138

Двухуровневый список выбора (Spinner) "Страна->Город" c применением SQLite - Программирование Android

01.11.2016, 11:36. Просмотров 378. Ответов 4
Метки (Все метки)

Подскажите пожалуйста в каком виде создавать данные в БД и как правильно переработать файлы чтоб выводить список стран и городов черпая данные из SQLite, а не из .списка.
Может где то есть пример подобного решения?

Файл java

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
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
public class TetFirstJabRegActivity extends Activity implements AdapterView.OnItemSelectedListener, View.OnClickListener {
 
 
    private TableRow tableRow0;
    private TextView candidatInfoTV;
    private TableRow tableRow1;
    private TextView countryTextView;
    Spinner spinnerCountry;
    private TableRow tableRow2;
    private TextView citytextView;
    Spinner spinnerCity;
    private TableRow tableRow3;
    private TextView phonetextView2;
    private TableRow tableRow4;
    private TextView carModelTextView;
    private TableRow tableRow5;
    private String pseudo_tag;
    private TextView jabberUserLabel;
    private TextView jabberPasswordLabel;
    private int posCountryId;
    private String serverField;
    private String dispField;
    private int city;
    private String user;
    private String pass;
    private String server;
    private String disp;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        android.util.Log.d(TetGlobalData.TAG_TET_A_TET, "=========== START  TetFirstJabRegActivity ===============");
 
        String action = getClass().getCanonicalName();
        int pos = action.lastIndexOf('.') + 1;
        String onlyClass = action.substring(pos);
        pseudo_tag = onlyClass;
        Log.e(pseudo_tag, "###  this.getTaskId() = " + this.getTaskId() + "");
 
        setContentView(R.layout.activity_tet_first_jab_reg);
 
        
        countryTextView = (TextView) findViewById(R.id.countryTextView);
        tableRow2 = (TableRow) findViewById(R.id.tableRow2);
        citytextView = (TextView) findViewById(R.id.citytextView);
        tableRow3 = (TableRow) findViewById(R.id.tableRow3);
        jabberUserLabel = (TextView) findViewById(R.id.jabberUserLabel);
        tableRow4 = (TableRow) findViewById(R.id.tableRow4);
        jabberPasswordLabel = (TextView) findViewById(R.id.jabberPasswordLabel);
        tableRow5 = (TableRow) findViewById(R.id.tableRow5);
        spinnerCountry = (Spinner) findViewById(R.id.spinnerCountry);
        spinnerCity = (Spinner) findViewById(R.id.spinnerCity);
        spinnerCountry.setOnItemSelectedListener(this);
        findViewById(R.id.jabberOkButton).setOnClickListener(this);
        findViewById(R.id.buttoniHaveNotLogin).setOnClickListener(this);
        findViewById(R.id.buttonExit).setOnClickListener(this);
    }
 
    @Override
    public void onItemSelected(AdapterView<?> parent, View arg1, int pos,
                               long arg3) {
        Log.e(pseudo_tag, "runing  onItemSelected");
        posCountryId = pos;
        parent.getItemAtPosition(pos);
        if (pos == 1) {
            ArrayAdapter<CharSequence> adapter = ArrayAdapter
                    .createFromResource(this, R.array.city_ru_arrays,
                            android.R.layout.simple_spinner_item);
            spinnerCity.setAdapter(adapter);
        } else if (pos == 2) {
            ArrayAdapter<CharSequence> adapter = ArrayAdapter
                    .createFromResource(this, R.array.city_ua_arrays,
                            android.R.layout.simple_spinner_item);
            spinnerCity.setAdapter(adapter);
        } else if (pos == 3) {
            ArrayAdapter<CharSequence> adapter = ArrayAdapter
                    .createFromResource(this, R.array.city_by_arrays,
                            android.R.layout.simple_spinner_item);
            spinnerCity.setAdapter(adapter);
        } else if (pos == 4) {
            ArrayAdapter<CharSequence> adapter = ArrayAdapter
                    .createFromResource(this, R.array.city_by_arrays,
                            android.R.layout.simple_spinner_item);
            spinnerCity.setAdapter(adapter);
        }
 
 
        spinnerCity.setOnItemSelectedListener(
 
                new AdapterView.OnItemSelectedListener() {
                    @Override
 
                    public void onItemSelected(AdapterView<?> parent, View itemSelected,
 
                                               int selectedltemPosition, long selectedId) {
 
                        parent.getItemAtPosition(selectedltemPosition);
                        String pos = (String) parent.getItemAtPosition(selectedltemPosition);
                        int posID = (int) parent.getSelectedItemPosition();
 
                        TetTempoDate.temp_str_1 = pos;
 
                        Log.e(pseudo_tag, "spinn pos=" + pos + "  posID=" + posID + "");
 
                        setServer(posCountryId, posID);
                    }
 
                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {
 
                    }
 
                    //… Other required overrides
 
                });
    }
 
    private void setServer(int posCountryId, int pos) {
 
        if (posCountryId == 1) { // Rusian federation
            city = pos;
            switch (pos) {
                case 1:
                    break;
                case 2:
                    break;
                case 3:
                    break;
                case 4:
                    break;
                case 5:
                    break;
                case 6:
                    break;
                case 7:
                    serverField = "brd.tet-a-tet.mobi";
                    dispField = "ustyug";
                    break;
                case 8:
                    break;
                case 9:
                    break;
                case 10:
                    break;
                case 11:
                    break;
                default:
                    break;
            }
 
        } else if (posCountryId == 2) { // Ukrain
            city = pos;
 
            switch (pos) {
                case 1:
                    break;
                case 2:
                    // Berdichev
                    serverField = "brd.tet-a-tet.mobi";
                    dispField = "tetatet";
                    break;
                case 3:
                    break;
                case 4:
                    break;
                case 5:
                    break;
                case 6:
                    break;
                case 7:
                    break;
                case 8:
                    break;
                case 9:
                    break;
                case 10:
                    break;
                case 11:
                    break;
                default:
                    break;
            }
        } else if (posCountryId == 3) { // Belarus
            city = pos;
            switch (pos) {
                case 1:
                    break;
                case 2:
                    break;
                case 3:
                    break;
                case 4:
                    break;
                case 5:
                    break;
                case 6:
                    break;
                case 7:
                    break;
                case 8:
                    break;
                case 9:
                    break;
                case 10:
                    break;
                case 11:
                    break;
                default:
                    break;
            }
        }
 
        
    }
 
 
    private void setTemp() {
        TextView phoneField = (TextView) findViewById(R.id.phoneField);
        TextView carField = (TextView) findViewById(R.id.carModelField);
        TetTempoDate.temp_str_2 = phoneField.getText().toString();
        TetTempoDate.temp_str_3 = carField.getText().toString();
 
    }
 
 
    @Override
    public void onNothingSelected(AdapterView<?> arg0) {
    }
 
    private EditText getEditText() {
        return (EditText) findViewById(R.id.phoneField);
    }
 
    private EditText getCarModelField() {
        return (EditText) findViewById(R.id.carModelField);
    }
 
 
    private Intent gogoclick() {
 
        Intent return_from_JabberdLoginActivity_Intent = new Intent();
        return_from_JabberdLoginActivity_Intent.putExtra(TetGlobalData.SJBP_KEY, pass);
        return_from_JabberdLoginActivity_Intent.putExtra(TetGlobalData.SJBS_KEY, server);
        return_from_JabberdLoginActivity_Intent.putExtra(TetGlobalData.SJBU_KEY, user);
        return_from_JabberdLoginActivity_Intent.putExtra(TetGlobalData.SJCALEE_KEY, disp);
 
        return return_from_JabberdLoginActivity_Intent;
 
    }
 
 
    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.jabberOkButton:
                //TODO implement
                TextView userField = (TextView) findViewById(R.id.jabberUserField);
                TextView passField = (TextView) findViewById(R.id.jabberPasswordField);
                server = serverField;
                user = userField.getText().toString();
                pass = passField.getText().toString();
                disp = dispField;
                if (city == 0) {
                    Toast.makeText(getApplicationContext(), R.string.noTown, Toast.LENGTH_SHORT).show();
                    //onResume();
                } else if (user.length() == 0) {
                    Toast.makeText(getApplicationContext(), R.string.noJabUser, Toast.LENGTH_LONG).show();
                    //onResume();
                } else if (pass.length() == 0) {
                    Toast.makeText(getApplicationContext(), R.string.noJabPasswd, Toast.LENGTH_LONG).show();
                    //onResume();
                } else {
 
                    TetGlobalData.CARRENT_ACTIVITY = TetGlobalData.JAB_LOGIN_ACTIVITY;
                    TetGlobalData.jabLoginAttempts = TetGlobalData.jabLoginAttempts + 1;
                    setResult(RESULT_FIRST_USER, gogoclick());
                    finish();
                }
                break;
            case R.id.buttoniHaveNotLogin:
                //TODO implement
                Intent nR = new Intent(getApplicationContext(), mobi.tet_a_tet.atda.tet_a_tet.FirstRegistration.NotRegisteredYetActivity.class);
                // Oth.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(nR);
                break;
            case R.id.buttonExit:
                //TODO implement
                Intent mA = new Intent(getApplicationContext(), MainActivity.class);
                mA.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(mA);
                finish();
                break;
        }
    }
 
    @Override
    public void onDestroy() {
        EventBus.getDefault().unregister(this);
        Log.e(pseudo_tag, "FINISHED");
        super.onDestroy();
    }
 
    @Override
    protected void onResume() {
        super.onResume();
        Log.e(pseudo_tag, "onResume()");
    }
}
Кусок xml
XML
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
            <Spinner
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/spinnerCountry"
                android:entries="@array/country_arrays"
                android:focusable="true"
                android:layout_weight="0.4" />
 
        </TableRow>
 
        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:focusable="false"
            android:focusableInTouchMode="false">
 
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="@string/cityIDE"
                android:id="@+id/citytextView"
                android:layout_weight="1" />
 
            <Spinner
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/spinnerCity"
                android:focusable="true"
                android:layout_weight="0.47" />
 
        </TableRow>
Естественно в ресурсах (strings.xml )есть запись:

XML
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
    <string name="country">Страна</string>
 
    <string-array name="country_arrays">
        <item>Укажите страну</item> <!-- 0 -->
        <item>Россия</item> <!-- 1 -->
        <item>Украина</item> <!-- 2 -->
        <item>Беларусь</item> <!-- 3 -->
    </string-array>
 
    <string-array name="city_ru_arrays">
        <item>Укажите город</item> <!-- 0 -->
        <item>Ижевск</item> <!-- 1 -->
        <item>Ковров</item> <!-- 2 -->
        <item>Тазовский</item> <!-- 3 -->
        <item>Воткинск</item> <!-- 4 -->
        <item>Шадки</item> <!-- 5 -->
        <item>Череповец</item> <!-- 6 -->
        <item>В. Устюг</item> <!-- 7 -->
    </string-array>
 
    <string-array name="city_ua_arrays">
        <item>Укажите город</item> <!-- 0 -->
        <item>Белая Церковь</item> <!-- 1 -->
        <item>Бердичев</item> <!-- 2 -->
        <item>Казатин</item> <!-- 3 -->
        <item>Кельменцы</item> <!-- 4 -->
        <item>Новомосковск</item> <!-- 5 -->
        <item>Мироновка</item> <!-- 6 -->
        <item>Мукачево</item> <!-- 7 -->
        <item>Рубежное</item> <!-- 8 -->
        <item>Житомир</item> <!-- 9-->
    </string-array>
 
    <string-array name="city_by_arrays">
        <item>Укажите город</item>
        <item>Лепель</item> <!-- 1 -->
    </string-array>
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru