GPLVote Sign Doc Android API

Материал из Сервис Облачной Демократии
(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «=== Общее описание === Приложение GPLVote Sign Doc может подписывать документы, которые ему будут п...»)
 
Строка 7: Строка 7:
 
Пример обращения с запросом на подписание документа:
 
Пример обращения с запросом на подписание документа:
  
<syntaxhighlight lang="java">
+
<pre>
                ArrayList<DocSignRequest> documents = new ArrayList<DocSignRequest>();
+
    public class DocSignRequest extends Doc {
                DocSignRequest sign_request = new DocSignRequest();
+
        public String type = "SIGN_REQUEST";
 +
        public String site;
 +
        public String doc_id;      // Внутренний (клиента) идентификатор документа
 +
        public String user_key_id; // Идентификатор открытого ключа пользователя
 +
        public String data;    // Данные - это зашифрованный JSON массив строк
 +
        public String dec_data; // Расшифрованные данные в строковом виде. Используются в коде, через сеть не передаются
 +
        public String template; // Шаблон
 +
    }
  
                sign_request.site = "app:trust_net";
+
    ArrayList<DocSignRequest> documents = new ArrayList<DocSignRequest>();
                sign_request.doc_id = genDocId();
+
    DocSignRequest sign_request = new DocSignRequest();
                sign_request.dec_data = "['Данные trust net 1','Данные trust net 2']";
+
                sign_request.template = "LIST\nЗаголовок 1\nЗаголовок 2";
+
  
                documents.add(sign_request);
+
    sign_request.site = "app:trust_net";
 +
    sign_request.doc_id = genDocId();
 +
    sign_request.dec_data = "['Данные trust net 1','Данные trust net 2']";
 +
    sign_request.template = "LIST\nЗаголовок 1\nЗаголовок 2";
  
                Intent intent = new Intent("org.gplvote.signdoc.DO_SIGN", Uri.parse("signdoc://sign_array"));
+
    documents.add(sign_request);
  
                Gson gson = new Gson();
+
    Intent intent = new Intent("org.gplvote.signdoc.DO_SIGN", Uri.parse("signdoc://sign_array"));
                intent.putExtra("DocsList", gson.toJson(documents));
+
                intent.putExtra("LastRecvTime", "");
+
  
                startActivityForResult(intent, DO_SIGN_REQUEST);
+
    Gson gson = new Gson();
</syntaxhighlight>
+
    intent.putExtra("DocsList", gson.toJson(documents));
 +
    intent.putExtra("LastRecvTime", "");
 +
 
 +
    startActivityForResult(intent, DO_SIGN_REQUEST);
 +
</pre>
 +
 
 +
Поле "site" должно иметь формат "app:<имя приложения, формирующего запрос на подписание>".

Версия 16:32, 19 января 2015

Общее описание

Приложение GPLVote Sign Doc может подписывать документы, которые ему будут предоставлять другие приложения, работающие на смартфоне. При этом документы сохраняются в истории приложения, но не отправляются на прокси сервера или сайты.

Для внешнего обращения из других приложений служит имя активити "org.gplvote.signdoc.DO_SIGN".

Пример обращения с запросом на подписание документа:

    public class DocSignRequest extends Doc {
        public String type = "SIGN_REQUEST";
        public String site;
        public String doc_id;       // Внутренний (клиента) идентификатор документа
        public String user_key_id;  // Идентификатор открытого ключа пользователя
        public String data;     // Данные - это зашифрованный JSON массив строк
        public String dec_data; // Расшифрованные данные в строковом виде. Используются в коде, через сеть не передаются
        public String template; // Шаблон
    }

    ArrayList<DocSignRequest> documents = new ArrayList<DocSignRequest>();
    DocSignRequest sign_request = new DocSignRequest();

    sign_request.site = "app:trust_net";
    sign_request.doc_id = genDocId();
    sign_request.dec_data = "['Данные trust net 1','Данные trust net 2']";
    sign_request.template = "LIST\nЗаголовок 1\nЗаголовок 2";

    documents.add(sign_request);

    Intent intent = new Intent("org.gplvote.signdoc.DO_SIGN", Uri.parse("signdoc://sign_array"));

    Gson gson = new Gson();
    intent.putExtra("DocsList", gson.toJson(documents));
    intent.putExtra("LastRecvTime", "");

    startActivityForResult(intent, DO_SIGN_REQUEST);

Поле "site" должно иметь формат "app:<имя приложения, формирующего запрос на подписание>".

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты