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

Куда вставить проверку капчи? Все данные внутри - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Передача данных из базы JSON http://www.cyberforum.ru/android-dev/thread1275614.html
Все привет. Есть локальная база, мне нужно из нее JSONом передать данные на сервер. Скажем так, можно даже не из базы, просто данные. Я не знаю как это делается, знаю, что есть библиотека под андроид для этого, но что, как не пойму.
Программирование Android Как начать программирование для Андроид? Какой так сказать порог вхождения в эту сферу? Очень высокий? Изучил я Java например, и все? Можно начинать? Хочу делать мобильные приложения или игры. http://www.cyberforum.ru/android-dev/thread1275576.html
Java для Android Программирование Android
Добрый день ! Учу андроид примерно 4 месяца, сделал пару игр (в основе лежит пальцетыкалка ), сейчас думаю идти дальше ( что бы можно было бегать, прыгать и т.п. ), и вот прочитал про LibGDX, кроссплатформенность, много плюшек ... Где проще это делать, и где больше перспектив, дальше программировать в ADT или доставлять LibGDX, учить джаву и кодиТь там ?
Программирование Android Синхронизация баз через файлы обмена
Гуру! Подскажите! Нужно сделать синхронизацию SQLite-баз с двух устройств работающих оффлайн через файлы обмена. Знаю что аналогичная схема встроена в 1С и в большинство SQL-серверов данных. Искал в инете и похоже эта технология называется "асинхронная репликация баз" Сейчас изобретаю свою систему и понимаю что отладка алгоритма и проверка надежности займет не меньше месяца... Не хотелось бы...
Программирование Android Совместная работы функций Canvas.scale и Canvas.translate http://www.cyberforum.ru/android-dev/thread1274926.html
Если указать точку опоры масштабирования в scale, то относительно неё происходит масштабирование. А что если предварительно холст переместить, т.е. выполнить функцию translate с некими параметрами, то вмести с этим переместиться ли точка опоры масштабирования или же нет? И имеет ли разница в порядке указания функций scale и translate или же их можно менять местами и получиться тот же результат,...
Программирование Android Google Sign In Error - There is no linked app associated with this client ID Здравствуйте! Пишу игрушку под андройд и хочу прикрутить к ней таблицу рекордов от гугла, вроде все сделал по инструкции, но не взлетает. Вызываю активити. context.startActivity(new Intent(context, LeaderBoardActivity.class)); Код активити package com.moitalant.Hundred; подробнее

Показать сообщение отдельно
helpvits
Сообщений: n/a

Куда вставить проверку капчи? Все данные внутри - Программирование Android

15.10.2014, 15:55. Просмотров 397. Ответов 0
Метки (Все метки)

пилю прожку для вк простенькую для освоения програмирования и вроде все запускается и работает но вот уперся в реализацию капчи и чего я только не пробовал.
Вот код куска отвечающего за отправку сообщения.
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
package com.perm.kate.api.sample;
import com.perm.kate.api.Api;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
 
public class MainActivity extends Activity {
    
    private final int REQUEST_LOGIN=1;
    
    Button authorizeButton;
    Button logoutButton;
    Button postButton;
    EditText messageEditText;
    
    Account account=new Account();
    Api api;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        setupUI();
        
        //Восстановление сохранённой сессии
        account.restore(this);
        
        //Если сессия есть создаём API для обращения к серверу
        if(account.access_token!=null)
            api=new Api(account.access_token, Constants.API_ID);
        
        showButtons();
    }
 
    private void setupUI() {
        authorizeButton=(Button)findViewById(R.id.authorize);
        logoutButton=(Button)findViewById(R.id.logout);
        postButton=(Button)findViewById(R.id.post);
        messageEditText=(EditText)findViewById(R.id.message);
        authorizeButton.setOnClickListener(authorizeClick);
        logoutButton.setOnClickListener(logoutClick);
        postButton.setOnClickListener(postClick);
    }
    
    private OnClickListener authorizeClick=new OnClickListener(){
        @Override
        public void onClick(View v) {
            startLoginActivity();
        }
    };
    
    private OnClickListener logoutClick=new OnClickListener(){
        @Override
        public void onClick(View v) {
            logOut();
        }
    };
    
    private OnClickListener postClick=new OnClickListener(){
        @Override
        public void onClick(View v) {
            postToWall();
        }
    };
    
    private void startLoginActivity() {
        Intent intent = new Intent();
        intent.setClass(this, LoginActivity.class);
        startActivityForResult(intent, REQUEST_LOGIN);
    }
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_LOGIN) {
            if (resultCode == RESULT_OK) {
                //авторизовались успешно 
                account.access_token=data.getStringExtra("token");
                account.user_id=data.getLongExtra("user_id", 0);
                account.save(MainActivity.this);
                api=new Api(account.access_token, Constants.API_ID);
                showButtons();
            }
        }
    }
    
    private void postToWall() {
        //Общение с сервером в отдельном потоке чтобы не блокировать UI поток
        new Thread(){
            @Override
            public void run(){
                try {
                    String text=messageEditText.getText().toString();
                    api.createWallPost(account.user_id, text, null, null, false, false, false, null, null, null, 0L, null, null);
                    //Показать сообщение в UI потоке 
                    runOnUiThread(successRunnable);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();
    }
    
    Runnable successRunnable=new Runnable(){
        @Override
        public void run() {
            Toast.makeText(getApplicationContext(), "Запись успешно добавлена", Toast.LENGTH_LONG).show();
        }
    };
    
    private void logOut() {
        api=null;
        account.access_token=null;
        account.user_id=0;
        account.save(MainActivity.this);
        showButtons();
    }
    
    void showButtons(){
        if(api!=null){
            authorizeButton.setVisibility(View.GONE);
            logoutButton.setVisibility(View.VISIBLE);
            postButton.setVisibility(View.VISIBLE);
            messageEditText.setVisibility(View.VISIBLE);
        }else{
            authorizeButton.setVisibility(View.VISIBLE);
            logoutButton.setVisibility(View.GONE);
            postButton.setVisibility(View.GONE);
            messageEditText.setVisibility(View.GONE);
        }
    }
}
Чтоб не казаться пройобиком который хочет получить код на халяву, я перепробывал различные методы вставок и комбинаций , по моему мнению необходимо чтобы эта проверка была в private void postToWall() и скорее всего даже после catch но как реализовать передачу данных об ошибке в public void onCaptchaError так и не догодался ((( помогите поэжалуйста начинающему дроид девелоперу :roll:
вот советы по ее использованию от ВК
VKError содержит свойство errorCode.
При проверке ошибок следует сначала проверить code на совпадение с глобальной константой VKError.VK_API_ERROR. Если это так, то необходимо обрабатывать поле apiError, которое содержит описание ошибки VK API.
Если же code не совпадает с VK_API_ERROR, то code содержит в себе http-код ошибки, и следует обрабатывать поле httpError.
Некоторые ошибки SDK может обработать сам (ошибка капчи, ошибка валидации). Для этого у делегата будут вызваны соответствующие методы.
Пример обработки в делегате ошибки, для которой требуется ввод капчи:
Java
1
2
3
public void onCaptchaError(VKError captchaError) { 
new VKCaptchaDialog(captchaError).show(); 
}
ЗЫ использую в основе андроид АПИ от самих вк https://github.com/thest1/Android-VK...nActivity.java

Добавлено через 4 часа 27 минут
Если какой то инфы не достаточно я предоставлю

Добавлено через 18 часов 59 минут
60+ просмотрев не ужели никто не в силах помочь?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru