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

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

Войти
Регистрация
Восстановить пароль
 
 
korep
51 / 44 / 9
Регистрация: 06.01.2013
Сообщений: 590
#1

Эмулятор VS телефон - Android

15.06.2015, 00:26. Просмотров 830. Ответов 26
Метки нет (Все метки)

Здравствуйте.
В общем ситуация очень интересная, а интересна она тем, что тестирую приложение на эмуляторе все отлично (хоть и медленно но работает), проверяю на телефоне, одна функция не работает хоть тресни.
А функция заключается в следующем:
У меня в базе, есть информация о куче кнопок (штук 800, может больше), т.е. положение на страницы их цвет, значение и т.п.
Я загружаю в webView основу страницы (каркас + js для подгрузки кнопок).
Так вот, на эмуляторе страница создается, а на телефоне нет. Подскажите, в чем может быть проблема?

Добавлено через 1 час 53 минуты
Кстати есть еще момент. На моем не запускается, запускал на более старой версии андроида у товарища для тестов брал, приложение реально летало, хотя телефон и не новый был и версия android постарше.
По диапазону сдк:
min - 1
mid - 10
max - 19
у телефона 18
у товарища не помню
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
korep
51 / 44 / 9
Регистрация: 06.01.2013
Сообщений: 590
26.06.2015, 13:26  [ТС]     Эмулятор VS телефон #21
А не может быть проблем, в том, что на activity висит две layout?
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
26.06.2015, 17:22     Эмулятор VS телефон #22
Цитата Сообщение от Spelcrawler Посмотреть сообщение
по-моему именно в 19 api они перешли на движок хрома в webView. Может в этом дело?
Пожалуй, вы правы.
korep
51 / 44 / 9
Регистрация: 06.01.2013
Сообщений: 590
26.06.2015, 20:00  [ТС]     Эмулятор VS телефон #23
Spelcrawler, CoolMind, скрин кода гляньте пожалуйста. Сколько не копал так и не понял. выкидывал загрузку в отдельный поток, даже пытался просто черный фон загрузить. Абсолютно все время выкидывает один тот же результат (ничего). На 16 версии все гуд.
Кликните здесь для просмотра всего текста
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
package com.yi.chs_01;
 
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.provider.CalendarContract;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.webkit.JavascriptInterface;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.zip.Inflater;
 
/**
 * Created by user on 07.05.2015.
 */
public class CashierTransaction extends Activity {
 
    ArrayList<CashierTransactionGoodAdapter.CashierTransactionGood> goods;
    ArrayList<Integer> PositionsId;
    ArrayList<Event> Events;
 
 
    String EditTextTime;
    String EditTextCount;
    int SpinnerGoodPosition;
    String ticketId;
    int UserId;
    int EventId;
    float EventPerc;
 
    ArrayList<String> GoodsName;
    ArrayList<String> GoodsNameBGR;
    ArrayList<Integer> GoodsId;
    ArrayList<Integer> GoodsPositioned;
    ArrayList<Float> GoodsCost;
 
    CashierTransactionGoodAdapter cashierTransactionGoodAdapter;
    AppSettings appSettings;
 
 
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
 
        UserId = getIntent().getIntExtra("UserId", 0);
 
        //объвление переменных
        goods = new ArrayList<CashierTransactionGoodAdapter.CashierTransactionGood>();
        PositionsId = new ArrayList<Integer>();
        Events = new ArrayList<Event>();
        EditTextCount = "";
        EditTextTime = "";
        SpinnerGoodPosition = 0;
        ticketId = "0";
        EventId = 0;
 
        //get Events
        SQLLiteHelperCHS helperCHS = new SQLLiteHelperCHS(getBaseContext());
        SQLiteDatabase database = helperCHS.getWritableDatabase();
        Cursor cursor = database.rawQuery("SELECT * FROM " + SQLLiteHelperCHS.TABLE_EVENTS + " ORDER BY " + SQLLiteHelperCHS.RESULT_EVENTS + " DESC", null);
        Events = new ArrayList<Event>();
        while (cursor.moveToNext()){
            Event event = new Event();
            event.setId(cursor.getInt(cursor.getColumnIndex(SQLLiteHelperCHS.ID_EVENTS)));
            event.setTime(cursor.getInt(cursor.getColumnIndex(SQLLiteHelperCHS.TIME_EVENTS)));
            event.setResult(cursor.getInt(cursor.getColumnIndex(SQLLiteHelperCHS.RESULT_EVENTS)));
            String RulesList = cursor.getString(cursor.getColumnIndex(SQLLiteHelperCHS.RULE_EVENTS));
            while (RulesList.length() > 0){
                String RuleItem = RulesList.substring(0 , RulesList.indexOf(";") + 1);
                Event.Rule rule = event.getRule();
                rule.setCount(Integer.parseInt(RuleItem.substring(0 , RuleItem.indexOf("x"))));
 
 
                String GoodId = RuleItem.substring(RuleItem.indexOf("x") + 1, RuleItem.length() - 1);
                rule.setGoodName(GoodId);
                event.getRules().add(rule);
                RulesList = RulesList.substring(RulesList.indexOf(";") + 1);
            }
            Events.add(event);
        }
        cursor.close();
        database.close();
        helperCHS.close();
        setContentView(R.layout.cashier_transaction);
        appSettings = new AppSettings(this);
 
        //настройка списка товаров в транзакции
        goods = new ArrayList<CashierTransactionGoodAdapter.CashierTransactionGood>();
        cashierTransactionGoodAdapter = new CashierTransactionGoodAdapter(this, goods);
 
        ListView listView = (ListView) findViewById(R.id.cashier_transaction_goods_list);
        listView.setAdapter(cashierTransactionGoodAdapter);
        cashierTransactionGoodAdapter.notifyDataSetChanged();
 
        //настройка списка товаров в спиннере
        helperCHS = new SQLLiteHelperCHS(this);
        database = helperCHS.getWritableDatabase();
        cursor = database.rawQuery("SELECT * FROM " + SQLLiteHelperCHS.TABLE_GOODS, null);
        GoodsName = new ArrayList<String>();
        GoodsNameBGR = new ArrayList<String>();
        GoodsId = new ArrayList<Integer>();
        GoodsPositioned = new ArrayList<Integer>();
        GoodsCost = new ArrayList<Float>();
        while (cursor.moveToNext()){
            GoodsPositioned.add(cursor.getInt(cursor.getColumnIndex(SQLLiteHelperCHS.POSITIONED_GOODS)));
            GoodsName.add(cursor.getString(cursor.getColumnIndex(SQLLiteHelperCHS.NAME_GOODS)));
            GoodsNameBGR.add(cursor.getString(cursor.getColumnIndex(SQLLiteHelperCHS.NAME_BGR_GOODS)));
            GoodsId.add(cursor.getInt(cursor.getColumnIndex(SQLLiteHelperCHS.ID_GOODS)));
            GoodsCost.add(cursor.getFloat(cursor.getColumnIndex(SQLLiteHelperCHS.COST_GOODS)));
        }
        cursor.close();
        database.close();
        helperCHS.close();
 
 
        ArrayAdapter<String> arrayAdapter = null;
 
        switch (appSettings.getLanguage()){
            case 0:
                arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, GoodsName);
                break;
            case 1:
                arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, GoodsNameBGR);
                break;
        }
        final Spinner spinner = (Spinner) findViewById(R.id.cashier_transaction_good_spinner);
        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(arrayAdapter);
        spinner.setPrompt("Title");
        spinner.setSelection(0);
 
        Button.OnClickListener addGood = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                forAddGood();
            }
        };
 
        Button.OnClickListener toReturn = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                forToPosition();
            }
        };
 
        Button.OnClickListener toPosition = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                forToReturn();
            }
        };
 
        Button button = (Button) findViewById(R.id.cashier_transaction_good_add);
        button.setOnClickListener(addGood);
 
        button = (Button) findViewById(R.id.cashier_transaction_good_position);
        button.setOnClickListener(toPosition);
 
        setNamesAndData();
        DeleteGood();
        onSpinnerFoodChangedPosition();
        SaveTransaction();
    }
korep
51 / 44 / 9
Регистрация: 06.01.2013
Сообщений: 590
26.06.2015, 20:01  [ТС]     Эмулятор VS телефон #24
Кликните здесь для просмотра всего текста
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
void changeResult(TextView result, TextView eventResult, int time){
 
        int EventId = -1;
        for(int j = 0; j < Events.size(); j++ ){
            for(int k = 0; k < Events.get(j).getRules().size(); k++){
                int count = 0;
                for(int g = 0; g < goods.size(); g++){
                    if(Events.get(j).getRules().get(k).getGoodName() == String.valueOf(goods.get(g).getId()))count += goods.get(g).getCount();
                }
                if(Events.get(j).getRules().get(k).getCount() <= count)break;
                if(((k + 1) == Events.get(j).getRules().size()) && (Events.get(j).getTime() <= time))EventId = j;
            }
            if(EventId != -1)break;
        }
 
        float percent = 0;
        if(EventId != -1){
            percent = Events.get(EventId).getResult();
        }
 
        float sum = 0;
        for(int i = 0; i < goods.size(); i++){
            sum += goods.get(i).getCost() * goods.get(i).getCount();
        }
 
        result.setText(String.valueOf(sum * time));
        eventResult.setText(String.valueOf(Math.round(sum * (100 - percent) * time) / 100));
        this.EventId = EventId;
        this.EventPerc = percent;
    }
 
    class WebAppInterfaceForCheckPositions extends WebAppInterface{
 
        /**
         * Instantiate the interface and set the context
         *
         * @param c
         * @param GoodsId
         * @param GoodsName
         */
        WebAppInterfaceForCheckPositions(Context c, ArrayList<Integer> GoodsId, ArrayList<String> GoodsName) {
            super(c, GoodsId, GoodsName);
        }
 
        @JavascriptInterface
        public void onCheckPosition(String id){
            PositionsId.add(Integer.parseInt(id));
        }
 
        public void onUnCheckPosition(String id){
            for(int i = 0 ; i < PositionsId.size(); i++)
                if(String.valueOf(PositionsId.get(i)) == id){
                    PositionsId.remove(i);
                    break;
                }
        }
 
        public String getGoodsPositions(){
            String positions = "";
            for(int i = 0; i < goods.size(); i++)positions += goods.get(i).getPositions();
            return positions;
        }
 
        public boolean isThat(String value){
            return (Integer.parseInt(value) == GoodsId.get(SpinnerGoodPosition));
        }
 
    }
 
 
 
    ArrayList<String> GroupName;
    ArrayList<String> GroupNameBGR;
    ArrayList<Integer> GroupId;
    //функция для перехода в выбор позиций
    void forToReturn(){
        EditTextTime = ((EditText)findViewById(R.id.cashier_transaction_time)).getText().toString();
        EditTextCount = ((EditText)findViewById(R.id.cashier_transaction_good_count)).getText().toString();
        ticketId = ((EditText)findViewById(R.id.cashier_transaction_good_count)).getText().toString();
        setContentView(R.layout.cashier_good_position);
 
        SQLLiteHelperCHS helperCHS = new SQLLiteHelperCHS(getBaseContext());
        SQLiteDatabase database = helperCHS.getWritableDatabase();
        Cursor cursor = database.rawQuery("SELECT * FROM " + SQLLiteHelperCHS.TABLE_GROUP, null);
        GroupName = new ArrayList<String>();
        GroupNameBGR = new ArrayList<String>();
        GroupId = new ArrayList<Integer>();
        while (cursor.moveToNext()){
            GroupName.add(cursor.getString(cursor.getColumnIndex(SQLLiteHelperCHS.NAME_GROUP)));
            GroupNameBGR.add(cursor.getString(cursor.getColumnIndex(SQLLiteHelperCHS.NAME_BGR_GROUP)));
            GroupId.add(cursor.getInt(cursor.getColumnIndex(SQLLiteHelperCHS.ID_GROUP)));
        }
        ArrayAdapter<String> arrayAdapter = null;
 
        switch (appSettings.getLanguage()){
            case 0:
                arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, GroupName);
                break;
            case 1:
                arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, GroupNameBGR);
                break;
        }
        final Spinner spinner = (Spinner) findViewById(R.id.cashier_transaction_good_positions_group_spinner);
        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(arrayAdapter);
        onSpinnerGoodPositionChangedGroup();
        spinner.setPrompt("Title");
        spinner.setSelection(0);
        Button button1 = (Button) findViewById(R.id.cashier_transaction_good_positions_add);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                forToPosition();
                String timeStr = ((EditText) findViewById(R.id.cashier_transaction_time)).getText().toString();
                int time = 0;
                if(timeStr.length() > 0)time = Integer.parseInt(timeStr);
                changeResult(((TextView) findViewById(R.id.cashier_transaction_result)),
                        ((TextView) findViewById(R.id.cashier_transaction_event_result)),
                        time);
                setNamesAndData();
            }
        });
 
        String bText = "";
        switch (appSettings.getLanguage()){
            case 0:
                bText = "Сохранить места";
                break;
            case 1:
                bText = "Сохранить позиции";
                break;
        }
        ((Button) findViewById(R.id.cashier_transaction_good_positions_add)).setText(bText);
        PositionsId = new ArrayList<Integer>();
    }
 
    //функция для добавления товара в транзакцию
    void forAddGood(){
        final Spinner spinner = (Spinner) findViewById(R.id.cashier_transaction_good_spinner);
        if(GoodsPositioned.get(spinner.getSelectedItemPosition()) == 1){
            String count = ((TextView) findViewById(R.id.cashier_transaction_good_count)).getText().toString();
            if((count.length() > 0)&&(Integer.parseInt(count)) != 0) {
                if (PositionsId.size() == Integer.parseInt(count)) {
                    CashierTransactionGoodAdapter.CashierTransactionGood cashierTransactionGood = cashierTransactionGoodAdapter.getCashierTransactionGood();
                    cashierTransactionGood.setId(GoodsId.get(spinner.getSelectedItemPosition()));
                    cashierTransactionGood.setName(GoodsName.get(spinner.getSelectedItemPosition()));
                    cashierTransactionGood.setName_bgr(GoodsNameBGR.get(spinner.getSelectedItemPosition()));
                    cashierTransactionGood.setCount(Integer.parseInt(count));
                    cashierTransactionGood.setCost(GoodsCost.get(spinner.getSelectedItemPosition()));
                    String positions = "";
                    for (int i = 0; i < PositionsId.size(); i++) {
                        positions += String.valueOf(PositionsId.get(i)) + ";";
                    }
                    cashierTransactionGood.setPositions(positions);
                    goods.add(cashierTransactionGood);
                    ((TextView) findViewById(R.id.cashier_transaction_good_count)).setText("0");
                    cashierTransactionGoodAdapter.notifyDataSetChanged();
                    String timeStr = ((EditText) findViewById(R.id.cashier_transaction_time)).getText().toString();
                    int time = 0;
                    if (timeStr.length() > 0) time = Integer.parseInt(timeStr);
                    changeResult(((TextView) findViewById(R.id.cashier_transaction_result)),
                            ((TextView) findViewById(R.id.cashier_transaction_event_result)),
                            time);
                    PositionsId = new ArrayList<Integer>();
                } else {
                    String toasttext = "";
                    switch (appSettings.getLanguage()) {
                        case 0:
                            toasttext = "Выберите позиции товаров";
                            break;
                        case 1:
                            toasttext = "Изберете позицията на стоките";
                            break;
                    }
                    Toast toast = Toast.makeText(getBaseContext(), toasttext, Toast.LENGTH_SHORT);
                    toast.show();
                }
            }
        }else{
            String count = ((TextView) findViewById(R.id.cashier_transaction_good_count)).getText().toString();
            if((count.length() > 0)&&(Integer.parseInt(count)) != 0) {
                CashierTransactionGoodAdapter.CashierTransactionGood cashierTransactionGood = cashierTransactionGoodAdapter.getCashierTransactionGood();
                cashierTransactionGood.setId(GoodsId.get(spinner.getSelectedItemPosition()));
                cashierTransactionGood.setName(GoodsName.get(spinner.getSelectedItemPosition()));
                cashierTransactionGood.setName_bgr(GoodsNameBGR.get(spinner.getSelectedItemPosition()));
                cashierTransactionGood.setCount(Integer.parseInt(count));
                cashierTransactionGood.setCost(GoodsCost.get(spinner.getSelectedItemPosition()));
                cashierTransactionGood.setPositions("");
                goods.add(cashierTransactionGood);
                ((TextView) findViewById(R.id.cashier_transaction_good_count)).setText("0");
                cashierTransactionGoodAdapter.notifyDataSetChanged();
                String timeStr = ((EditText) findViewById(R.id.cashier_transaction_time)).getText().toString();
                int time = 0;
                if (timeStr.length() > 0) time = Integer.parseInt(timeStr);
                changeResult(((TextView) findViewById(R.id.cashier_transaction_result)),
                        ((TextView) findViewById(R.id.cashier_transaction_event_result)),
                        time);
                PositionsId = new ArrayList<Integer>();
            }
        }
    }
 
    //функция для перехода в транзакцию
    void forToPosition(){
        setContentView(R.layout.cashier_transaction);
        Button button = (Button) findViewById(R.id.cashier_transaction_good_position);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                forToReturn();
            }
        });
 
        button = (Button) findViewById(R.id.cashier_transaction_good_add);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                forAddGood();
            }
        });
 
        ArrayAdapter<String> arrayAdapter = null;
        switch (appSettings.getLanguage()){
            case 0:
                arrayAdapter = new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_spinner_item, GoodsName);
                break;
            case 1:
                arrayAdapter = new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_spinner_item, GoodsNameBGR);
                break;
        }
        final Spinner spinner = (Spinner) findViewById(R.id.cashier_transaction_good_spinner);
        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(arrayAdapter);
        spinner.setPrompt("Title");
        spinner.setSelection(SpinnerGoodPosition);
 
        final CashierTransactionGoodAdapter cashierTransactionGoodAdapter = new CashierTransactionGoodAdapter(getBaseContext(), goods);
        ListView listView = (ListView) findViewById(R.id.cashier_transaction_goods_list);
        listView.setAdapter(cashierTransactionGoodAdapter);
        cashierTransactionGoodAdapter.notifyDataSetChanged();
 
        ((EditText)findViewById(R.id.cashier_transaction_time)).setText(EditTextTime);
        ((EditText)findViewById(R.id.cashier_transaction_good_count)).setText(EditTextCount);
 
        onTimeChanged();
        DeleteGood();
        onSpinnerFoodChangedPosition();
        setNamesAndData();
        SaveTransaction();
    }
 
    void setNamesAndData(){
        TextView textView;
        switch (appSettings.getLanguage()){
            case 0:
                ((Button) findViewById(R.id.cashier_transaction_save)).setText("Купить");
                ((Button) findViewById(R.id.cashier_transaction_good_add)).setText("Добавить");
                ((Button) findViewById(R.id.cashier_transaction_good_position)).setText("Места");
                ((TextView) findViewById(R.id.cashier_transaction_time_label)).setText("Время аренды");
                ((TextView) findViewById(R.id.cashier_transaction_id_label)).setText("Номер чека");
                textView = ((TextView) findViewById(R.id.cashier_transaction_result));
                if(textView.getText().length() == 0)textView.setText("Итого");
                textView = ((TextView) findViewById(R.id.cashier_transaction_event_result));
                if(textView.getText().length() == 0)textView.setText("Итого со скидкой");
                textView = ((TextView) findViewById(R.id.cashier_transaction_id));
                if(textView.getText().length() == 0)textView.setText(ticketId);
                break;
            case 1:
                ((Button) findViewById(R.id.cashier_transaction_save)).setText("Купувам");
                ((Button) findViewById(R.id.cashier_transaction_good_add)).setText("Добави");
                ((Button) findViewById(R.id.cashier_transaction_good_position)).setText("Локация");
                ((TextView) findViewById(R.id.cashier_transaction_time_label)).setText("Отдаване под наем на времето");
                ((TextView) findViewById(R.id.cashier_transaction_id_label)).setText("Проверете номера");
                textView = ((TextView) findViewById(R.id.cashier_transaction_result));
                if(textView.getText().length() == 0)textView.setText("Общо");
                textView = ((TextView) findViewById(R.id.cashier_transaction_event_result));
                if(textView.getText().length() == 0)textView.setText("Общо оферти");
                textView = ((TextView) findViewById(R.id.cashier_transaction_id));
                if(textView.getText().length() == 0)textView.setText(ticketId);
                break;
        }
    }
korep
51 / 44 / 9
Регистрация: 06.01.2013
Сообщений: 590
26.06.2015, 20:02  [ТС]     Эмулятор VS телефон #25
Кликните здесь для просмотра всего текста
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
    void onTimeChanged(){
        ((EditText)findViewById(R.id.cashier_transaction_time)).addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
 
            }
 
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
 
            }
 
            @Override
            public void afterTextChanged(Editable s) {
                int time = 0;
                if (s.toString().length() > 0) time = Integer.parseInt(s.toString());
                changeResult(((TextView) findViewById(R.id.cashier_transaction_result)),
                        ((TextView) findViewById(R.id.cashier_transaction_event_result)),
                        time);
            }
        });
    }
 
    void onSpinnerGoodPositionChangedGroup(){
        ((Spinner)findViewById(R.id.cashier_transaction_good_positions_group_spinner)).setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                WebAppInterfaceForCheckPositions webAppInterface = null;
                switch (appSettings.getLanguage()){
                    case 0:
                        webAppInterface = new WebAppInterfaceForCheckPositions(getBaseContext(), GoodsId, GoodsName);
                        break;
                    case 1:
                        webAppInterface = new WebAppInterfaceForCheckPositions(getBaseContext(), GoodsId, GoodsNameBGR);
                        break;
                }
 
                webAppInterface.setGroupId(GroupId.get(position));
 
                final WebAppInterfaceForCheckPositions webAppInterface1 = webAppInterface;
                WebView webView = (WebView)findViewById(R.id.cashier_transaction_good_positions_webview);
                webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
                webView.setOnTouchListener(new View.OnTouchListener() {
                    @Override
                    public boolean onTouch(View v, MotionEvent event) {
                        DisplayMetrics dm = getBaseContext().getResources().getDisplayMetrics();
                        int dpi = dm.densityDpi;
                        webAppInterface1.setX(Math.round((event.getX() + v.getScrollX()) / (dpi / 160)));
                        webAppInterface1.setY(Math.round((event.getY() + v.getScrollY()) / (dpi / 160)));
                        return false;
                    }
                });
 
                webView.getSettings().setJavaScriptEnabled(true);
                webView.getSettings().setUserAgentString("Mozilla/5.0 (Linux; Android 4.1.1; HTC One X Build/JRO03C) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.58 Mobile Safari/537.31");
                webView.getSettings().setUseWideViewPort(true);
//                webView.setWebViewClient(new WebViewClient());
                webView.setWebChromeClient(new WebChromeClient());
                webView.addJavascriptInterface(webAppInterface, "Android");
 
                String WebPage = "<html><body>";
//js for webpage;
                WebPage += "<script type=\"text/javascript\">\n" +
                        "function addView(){\n" +
                        "var element = event.target;\n" +
                        "if(element.id != \"fon\"){\n" +
                        "if((element.style.backgroundColor != \"white\")&&(Android.isThat(element.class))){\n" +
                        "if(element.style.backgroundColor == \"grey\"){\n" +
                        "element.style.backgroundColor = \"green\";\n" +
                        "Android.onCheckPosition(element.id);\n" +
                        "}else{\n" +
                        "if(element.style.backgroundColor == \"green\"){\n" +
                        "element.style.backgroundColor = \"grey\";\n" +
                        "Android.onUnCheckPosition(element.id);\n" +
                        "}\n" +
                        "}\n" +
                        "}\n" +
                        "}\n" +
                        "}\n" +
                        "function AddSaveView(){\n" +
                        "Android.OpenDB();\n" +
                        "for(var i = 0; i < Android.getCount(); i++){\n" +
                        "Android.NextInput();\n" +
                        "var id = Android.getId();\n" +
                        "var newView = document.createElement('input');\n" +
                        "newView.class = Android.getGoodClass();\n" +
                        "newView.value = Android.getName();\n" +
                        "newView.type = \"button\";\n" +
                        "newView.id = id;\n" +
                        "newView.style.position = \"absolute\";\n" +
                        "newView.style.top = (Android.getTop()-30)+\"px\";\n" +
                        "newView.style.left = (Android.getLeft()-30)+\"px\";\n" +
                        "newView.style.width = \"60px\";\n" +
                        "newView.style.height = \"60px\";\n" +
                        "if(Android.isUsed()){\n" +
                        "newView.style.backgroundColor = \"red\";\n" +
                        "}else{\n" +
                        "newView.style.backgroundColor = \"grey\";\n" +
                        "}\n" +
                        "document.getElementById('fon').appendChild(newView);\n" +
                        "}\n" +
                        "Android.CloseDB();\n" +
                        "}\n" +
                        "function updateAtTransaction(){\n" +
                        "var positions = Android.getGoodsPositions();\n" +
                        "while(positions.length > 0){\n" +
                        "var id = positions.substring(0,positions.indexOf(\";\"));\n" +
                        "positions = positions.substring(positions.indexOf(\";\") + 1, positions.length);\n" +
                        "document.getElementById(id).style.backgroundColor = \"white\";\n" +
                        "}\n" +
                        "}\n" +
                        "</script>\n";
 
                WebPage += "<div id=\"fon\" style=\"position: absolute; top: 0px; left: 0px; width: 1000000px; height: 1000000px;\" onclick=\"addView()\" ontouch=\"addView()\" >";
 
 
 
                WebPage += "</div><script type=\"text/javascript\">AddSaveView();updateAtTransaction();</script></body></html>";
 
                webView.loadData(WebPage, "text/html", "UTF-8");
            }
 
            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                SpinnerGoodPosition = 0;
            }
        });
    }
 
    void onSpinnerFoodChangedPosition(){
        ((Spinner)findViewById(R.id.cashier_transaction_good_spinner)).setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                if (SpinnerGoodPosition != position)
                    PositionsId = new ArrayList<Integer>();
                SpinnerGoodPosition = position;
            }
 
            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                SpinnerGoodPosition = 0;
            }
        });
    }
 
    void DeleteGood(){
        ((ListView)findViewById(R.id.cashier_transaction_goods_list)).setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                goods.remove(position);
                CashierTransactionGoodAdapter cashierTransactionGoodAdapter = (CashierTransactionGoodAdapter) parent.getAdapter();
                cashierTransactionGoodAdapter.notifyDataSetChanged();
                String timeStr = ((EditText) findViewById(R.id.cashier_transaction_time)).getText().toString();
                int time = 0;
                if (timeStr.length() > 0) time = Integer.parseInt(timeStr);
                changeResult(((TextView) findViewById(R.id.cashier_transaction_result)),
                        ((TextView) findViewById(R.id.cashier_transaction_event_result)),
                        time);
            }
        });
    }
 
    void SaveTransaction(){
        ((Button)findViewById(R.id.cashier_transaction_save)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (isNotNullGoods() && isNotNullTicketId() && isNotNullTime()) {
                    ArrayList<Integer> Pos = new ArrayList<Integer>();
                    String Goods = "";
                    String GoodsBGR = "";
                    for (int i = 0; i < goods.size(); i++) {
                        Goods += goods.get(i).getName() + "x" + String.valueOf(goods.get(i).getCost()) + "x" +
                                String.valueOf(goods.get(i).getCount()) + ";";
                        GoodsBGR += goods.get(i).getName_bgr() + "x" + String.valueOf(goods.get(i).getCost()) + "x" +
                                String.valueOf(goods.get(i).getCount()) + ";";
                        String positions = goods.get(i).getPositions();
                        while (positions.length() > 0) {
                            String position = positions.substring(0, positions.indexOf(";"));
                            positions = positions.substring(positions.indexOf(";") + 1);
                            Pos.add(Integer.parseInt(position));
                        }
                    }
                    SQLLiteHelperCHS helperCHS = new SQLLiteHelperCHS(getBaseContext());
                    SQLiteDatabase database = helperCHS.getWritableDatabase();
                    Cursor cursor = database.rawQuery("SELECT * FROM " + SQLLiteHelperCHS.TABLE_POSITIONS, null);
                    ArrayList<Integer> pos_id_list = new ArrayList<Integer>();
                    while (cursor.moveToNext()) {
                        pos_id_list.add(cursor.getInt(cursor.getColumnIndex(SQLLiteHelperCHS.TRANSACTION_ID_POSITIONS)));
                    }
                    int id = generateId(pos_id_list);
                    cursor.close();
                    String positions = "";
                    for (int i = 0; i < Pos.size(); i++)
                        positions += Pos.get(i).toString() + ";";
                    String query = "INSERT INTO " + SQLLiteHelperCHS.TABLE_TRANSACTIONS +
                            " ( " + SQLLiteHelperCHS.GOODS_TRANSACTIONS + " , " +
                            SQLLiteHelperCHS.GOODS_BGR_TRANSACTIONS + " , " +
                            SQLLiteHelperCHS.EVENT_ID_TRANSACTIONS + " , " +
                            SQLLiteHelperCHS.EVENT_PERCENT_TRANSACTIONS + " , " +
                            SQLLiteHelperCHS.TICKET_TRANSACTIONS + " , " +
                            SQLLiteHelperCHS.DATE_TRANSACTIONS + " , " +
                            SQLLiteHelperCHS.TIME_TRANSACTIONS + " , " +
                            SQLLiteHelperCHS.CASHIER_TRANSACTIONS + " , " +
                            SQLLiteHelperCHS.POSITIONS_ID_TRANSACTIONS + " ) VALUES ( '" +
                            Goods + "' , '" +
                            GoodsBGR + "' , " +
                            String.valueOf(EventId) + " , " +
                            String.valueOf(EventPerc) + " , " +
                            ((EditText) findViewById(R.id.cashier_transaction_id)).getText() + " , '" +
                            android.text.format.DateFormat.format("ddMMyyyy ", (new Date()).getTime()).toString().substring(0, 8) + "' , " +
                            ((EditText) findViewById(R.id.cashier_transaction_time)).getText() + " , " +
                            String.valueOf(UserId) + " , '" + positions + "')";
                    database.execSQL(query);
                    database.close();
                    helperCHS.close();
                    goods = new ArrayList<CashierTransactionGoodAdapter.CashierTransactionGood>();
                    CashierTransactionGoodAdapter cashierTransactionGoodAdapter = new CashierTransactionGoodAdapter(getBaseContext(), goods);
                    ((ListView) findViewById(R.id.cashier_transaction_goods_list)).setAdapter(cashierTransactionGoodAdapter);
                    cashierTransactionGoodAdapter.notifyDataSetChanged();
 
                    ((TextView) findViewById(R.id.cashier_transaction_result)).setText("0");
                    ((TextView) findViewById(R.id.cashier_transaction_event_result)).setText("0");
                    ((EditText) findViewById(R.id.cashier_transaction_time)).setText("0");
                    ((EditText) findViewById(R.id.cashier_transaction_id)).setText("0");
                }
            }
        });
    }
 
    boolean isNotNullTicketId(){
        String value = ((EditText) findViewById(R.id.cashier_transaction_id)).getText().toString();
        String toastText = "";
        switch (appSettings.getLanguage()){
            case 0:
                toastText = "Введите номер чека";
                break;
            case 1:
                toastText = "Введите номер чека";
                break;
        }
        boolean result = (value.length() != 0);
        if (!result) {
            Toast toast = Toast.makeText(getBaseContext(), toastText, Toast.LENGTH_SHORT);
            toast.show();
        }
        return result;
    }
korep
51 / 44 / 9
Регистрация: 06.01.2013
Сообщений: 590
26.06.2015, 20:03  [ТС]     Эмулятор VS телефон #26
Кликните здесь для просмотра всего текста
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
boolean isNotNullTime(){
        String value = ((EditText) findViewById(R.id.cashier_transaction_time)).getText().toString();
        String toastText = "";
        switch (appSettings.getLanguage()){
            case 0:
                toastText = "Введите продолжительность аренды";
                break;
            case 1:
                toastText = "Введите продолжительность аренды";
                break;
        }
        boolean result = (value.length() != 0);
        if (!result) {
            Toast toast = Toast.makeText(getBaseContext(), toastText, Toast.LENGTH_SHORT);
            toast.show();
        }
        return result;
    }
 
 
    boolean isNotNullGoods(){
        String value = ((EditText) findViewById(R.id.cashier_transaction_time)).getText().toString();
        String toastText = "";
        switch (appSettings.getLanguage()){
            case 0:
                toastText = "Введите продолжительность аренды";
                break;
            case 1:
                toastText = "Введите продолжительность аренды";
                break;
        }
        boolean result = (goods.size() != 0);
        if (!result) {
            Toast toast = Toast.makeText(getBaseContext(), toastText, Toast.LENGTH_SHORT);
            toast.show();
        }
        return result;
    }
 
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        AppSettings appSettings = new AppSettings(this);
        switch (appSettings.getLanguage()){
            case 0:
                inflater.inflate(R.menu.cashier_menu, menu);
                break;
            case 1:
                inflater.inflate(R.menu.cashier_menu_bgr, menu);
                break;
        }
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item){
        Intent intent;
        switch (item.getItemId()){
            case R.id.cashier_menu_tickets:
                intent = new Intent(getBaseContext(), CashierTransaction.class);
                startActivity(intent);
                return true;
 
            case R.id.cashier_menu_events:
                intent = new Intent(getBaseContext(), CashierEvents.class);
                startActivity(intent);
                return true;
 
            case R.id.cashier_menu_options:
                intent = new Intent(getBaseContext(), CashierOptions.class);
                startActivity(intent);
                return true;
 
            case R.id.cashier_menu_tickets_bgr:
                intent = new Intent(getBaseContext(), CashierTransaction.class);
                startActivity(intent);
                return true;
 
            case R.id.cashier_menu_events_bgr:
                intent = new Intent(getBaseContext(), CashierEvents.class);
                startActivity(intent);
                return true;
 
            case R.id.cashier_menu_options_bgr:
                intent = new Intent(getBaseContext(), CashierOptions.class);
                startActivity(intent);
                return true;
 
            default:
                return super.onOptionsItemSelected(item);
        }
    }
 
    int generateId(ArrayList<Integer> list){
        int result = 0;
        while (true){
            int between = result;
            for (int i = 0; i < list.size(); i++){
                if (list.get(i) == result){
                    result++;
                    break;
                }
            }
            if (result == between)break;
        }
        return result;
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2015, 14:24     Эмулятор VS телефон
Еще ссылки по теме:

Android Не запускается эмулятор
Android GoogleMaps и эмулятор
Не работает эмулятор Android
Android Эмулятор не запускает приложение
Android Не могу запустить эмулятор

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

Или воспользуйтесь поиском по форуму:
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
28.06.2015, 14:24     Эмулятор VS телефон #27
korep, http://www.cyberforum.ru/order-program/ - здесь с удовольствием поглядят.

Добавлено через 57 минут
Вижу, вы уже написали туда.
Yandex
Объявления
28.06.2015, 14:24     Эмулятор VS телефон
Ответ Создать тему
Опции темы

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