web-dev-qa-db-ja.com

Java Desktop App?

私はJavaプログラミングは初めてではありませんが、外部ライブラリなどで作業したことはありません。 APIの使用法に関しては、mが行き詰っています。

https://core.telegram.org/api にあるTelegram APIに関するドキュメントがほとんどあります。また、既にgitproto、telegram-api、およびtl-coreをgithubからダウンロードしています。 gradleを使用してソースから独自のライブラリjarをコンパイルしました。同様に、ユーザーがボタンをクリックして電話番号の入力を促す小さなアプリケーションをすでに作成しました。これにはJava-swing-LibrariesとActionListenerを使用しています。

ユーザーが入力した電話番号は、既に登録されている場合は確認する必要があります。auth.checkPhoneメソッドはその機能があるようです。しかし、Eclipseプロジェクト内でそれをどのように参照できますか?どのクラスにも「checkPhone」というメソッドはありません!私は何をすべきか?

私を助けてください、私は自分自身を助けることができず、私は自分のプロジェクトに必死に立ち往生しています。小さなヒントでも役立ちます。

事前に感謝、ルーカス

26
LukeLR

基本的に、GitHubの ex3ndr/telegram-api リポジトリにあるコードの空白を埋める必要があります。ビルドしたライブラリJarファイルとEclipseプロジェクトのJavaビルドパス)にtl-api-v12.jarfileがある場合は、 RPC Calls セクションを見てくださいREADMEおよび

最初にAppInfoオブジェクトを APIクレデンシャル で設定する必要があります。次に、AbsApiStateおよびApiCallbackインターフェイス。これらが利用可能になったら、次のようにTelegramApiオブジェクトを作成し、TelegramサービスへのRPC呼び出しを行うことができます。この場合、推奨される auth.checkPhone メソッドを使用します。

// TODO set up AbsApiState, AppInfo and ApiCallback objects
TelegramApi api = new TelegramApi(state, appInfo, apiCallback);

// Create request
String phoneNumber = "1234567890";
TLRequestAuthCheckPhone checkPhone = new TLRequestAuthCheckPhone(phoneNumber);

// Call service synchronously
TLCheckedPhone checkedPhone = api.doRpcCall(checkPhone);
boolean invited = checkedPhone.getPhoneInvited();
boolean registered = checkedPhone.getPhoneRegistered();
// TODO process response further

TelegramApiオブジェクトは、リモートサービスへの接続を表します。これは、APIの要求応答スタイルです。 RPC呼び出しは、適切なパラメーターが設定されたorg.telegram.api.requestsパッケージ(この例ではdoRpcCallタイプ)から要求オブジェクトを取得するTLRequestAuthCheckPhoneメソッドを介して行われます。応答オブジェクト(上記のTLCheckedPhone)は、使用可能な場合に結果とともに返されます。

非同期呼び出しの場合、メソッドはすぐに戻り、結果が利用可能になるとonResultコールバックメソッドが実行されます。

// Call service aynchronously
api.doRpcCall(checkPhone, new RpcCallbackEx<TLCheckedPhone>() {
    public void onConfirmed() { }
    public void onResult(TLCheckedPhone result) {
        boolean invited = checkedPhone.getPhoneInvited();
        boolean registered = checkedPhone.getPhoneRegistered();
        // TODO process response further
    }
    public void onError(int errorCode, String message) { }
});
19
grkvlt

または、このAPIをご覧ください https://github.com/pengrad/Java-telegram-bot-api

使い方はとても簡単です

0
red