導航:首頁 > 操作系統 > 有道apiandroid

有道apiandroid

發布時間:2023-01-22 23:49:06

『壹』 如何調用有道翻譯API

{"query":"$value","errorCode":50}這說明你的key沒用,需要重新申請,或者是你的使用超出了許可權

答題不易,互相理解,您的採納是我前進的動力

『貳』 怎樣用百度,有道翻譯API開發自己的翻譯軟體

先在網路翻譯API介面頁面申請介面的使用。點擊申請接入。

進入到申請頁面後,我們按照要求填寫好相關內容。因為我們是個人使用,所以選擇個人開發者,而且當月翻譯字元數200W以下免費,夠用了。

在點擊提交申請後,可以看到一些我們需要的信息。這些是我們待會要寫代碼用到的信息。

點擊申請接入成功提示頁面下面的接入文檔,可以看到詳細的使用說明。

通過點擊 管理控制台 可以看到很多信息,包括我們剛才申請的信息。

好的,萬事具備,只差代碼了。下面把python3的代碼貼出來,然後運行下看看效果如何:

import hashlib

import urllib.request

import json

import random


appid = '20161120000032362'

secretKey = '這里是你申請的密鑰'

httpClient = None

myurl = 'http://api.fanyi..com/api/trans/vip/translate'

q = 'hello'

fromLang = 'en'

toLang = 'zh'

salt = random.randint(32768, 65536)

sign = appid+q+str(salt)+secretKey

m1 = hashlib.md5()

m1.update(sign.encode(encoding='utf-8'))

sign = m1.hexdigest()

myurl = myurl+'?appid='+appid+'&q='+urllib.parse.quote(q)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign

response = urllib.request.urlopen(myurl).read().decode('utf8')

getJson = json.loads(response)

getInfo = getJson['trans_result']

s=getInfo[0]

re=s['dst']

print(re)

7

有道翻譯api的過程大同小異,童鞋可以自行研究。我的Linux系統中的命令行翻譯工具就是利用有道翻譯api和python寫的,方便簡單。

『叄』 我在做android有道詞典項目,有個問題找不到答案,就是為什麼要申請有道API KEY,有什麼用

要使用android api的時候,就要申請api key。

比如要使用網路地圖api的時候,就要申請網路地圖的api key

『肆』 有道智雲api免費嗎

有道智雲api不免費。使用有道智雲api需進入官方得支付系統支付後才能使用。先在有道智雲進行注冊,添加應用後即可得到賬號,申請購買智雲api。

『伍』 有道詞典api key要如何申請,沒有自己的網站,要如何處理

有道API是要你復制代碼到你的網站或者應用程序的源代碼中實現的

『陸』 如何寫一個android studio插件

首先需要安裝IntelliJ IDEA
下載網址:https://www.jetbrains.com/idea/
下載好就可以了~~
然後安裝,運行,點擊create New Project:

按照上圖進行選擇,如果沒有SDK,則點擊New新建一個即可。
然後點擊Next,輸入項目名稱選擇位置,就可以點擊finish了。
項目的結構如下:

src目錄下主要用於存放我們編寫的代碼。
這樣准備工作就結束了~~
三、編碼
(1) 關鍵知識
編碼實際上核心的一個類叫做AnAction,可以直接選擇NEW->Action,如下圖:

然後填寫一些相關信息:

需要填寫的屬性如下:
ActionID:代表該Action的唯一的ID,一般的格式為:pluginName.ID ClassName:類名 Name:就是最終插件在菜單上的名稱 Description:對這個Action的描述信息
然後往下,選擇這個Action即將存在的位置:
我們選擇的是EditMenu,右側選擇為first,即EditMenu下的第一個,效果如圖:

再往下就是制定快捷鍵了~~
都填寫完成就可以點擊OK了。
點擊ok之後,可以看到為我們生成了下類:
?

1
2
3
4
5
6

<code class="language-java hljs ">public class TranslateAction extends AnAction {
@Override
public void actionPerformed(AnActionEvent e) {
// TODO: insert action logic here
}
}</code>

此外我們剛才填寫的信息,也在plugin.xml中完成了注冊,大家可以進去看一眼,actions的標簽中,
當我們點擊菜單的時候,就回觸發actionPerformed()方法。
那麼這么看,我們在這個方法中只要完成三件事:
獲得當前選中的單詞 調用相關API得到單詞的意思 通過一個類似於PopupWindow來顯示
當然,為了盡快的測試,你可以先在裡面彈一個對話框,例如如下:
?

1
2
3

<code class="language-java hljs "> public void actionPerformed(AnActionEvent event) {
Messages.showMessageDialog("Hello World !", "Information", Messages.getInformationIcon());
}</code>

預期效果是點擊Tranlate菜單,或者按快捷鍵會彈出一個提示對話框。
那麼點擊Run:

然後它會默認啟動一個新的IntelliJ IDEA的界面,你可以隨便新建一個項目,進入以後,你會發現Edit下多了一個Translate菜單,點擊即可彈出我們設定的對話框:

ok,測試通過就放心了~
獲得當前選中的單詞 調用相關API得到單詞的意思 通過一個類似於PopupWindow來顯示
剩下的就是功能性的API了~
(2) 獲得當前選中的單詞
?

1
2
3
4
5
6
7
8
9
10
11
12
13

<code class="language-java hljs "> @Override
public void actionPerformed(AnActionEvent e) {
// TODO: insert action logic here
final Editor mEditor = e.getData(PlatformDataKeys.EDITOR);
if (null == mEditor) {
return;
}
SelectionModel model = mEditor.getSelectionModel();
final String selectedText = model.getSelectedText();
if (TextUtils.isEmpty(selectedText)) {
return;
}
}</code>

是不是覺得API很陌生,恩,我也覺得很陌生,關於API這里介紹其實沒什麼意義,本文主要目的是讓大家對自定義插件有個類helloworld的認識,至於插件裡面的代碼涉及到的API等到大家需要編寫插件的時候,再詳細學習就好了,現在就不要浪費精力記憶這些東西了。
上面的代碼就是獲得選中的文本,通過一個Editor,然後拿到SelectionModel,再拿到selectedText,從字面上還是蠻好理解的。
拿到選中的文本之後,應該就是去查詢該單詞的意思了,查詢呢,ECTranslation用的是you的Open SDK,其實也很簡單,就是拼接一個url,然後等著解析返回數據就好了。
(3)調用相關API得到單詞的意思
有道API的地址:
http://fanyi.you.com/openapi?path=data-mode
大家如果想要做單詞翻譯,可以看下,非常簡單。
涉及到的代碼:
?

1
2
3
4
5
6
7
8

<code class="language-java hljs ">String baseUrl = "http://fanyi.you.com/openapi.do?keyfrom=Skykai521&key=977124034&type=data&doctype=json&version=1.1&q=";

HttpUtils.doGetAsyn(baseUrl + selectedText, new HttpUtils.CallBack() {
public void onRequestComplete(String result) {
Translation translation = gson.fromJson(result, Translation.class);
showPopupBalloon(mEditor, translation.toString());
}
});</code>

HttpUtils就不貼了,就是直接開了個線程,通過HttpUrlConnection去訪問網路,大家的項目中或者通過搜索引擎,代碼一搜一堆。
baseUrl就是有道的url,加上我們選中的單詞就是完整的url了,然後通過http訪問,callback回調出返回的字元串,這里返回的是json類型的字元串。
baseUri是:
http://fanyi.you.com/openapi.do?keyfrom=Skykai521&key=977124034&type=data&doctype=json&version=1.1&q=name
我們根據返回的json字元串生成了一個類Translation;
然後通過Gson轉化為Translation對象。
ps:拿著上面的baseUrl後面跟一個任何單詞,直接訪問瀏覽器就能看到返回的json數據了,這里大家天天寫介面,類似的步驟比我肯定還熟悉。
好了,有了返回的數據以後,直接通過一個類似popupWindow展現即可。
(4)通過一個類似於PopupWindow來顯示
涉及到的代碼:
?

1
2
3
4
5
6
7
8
9
10
11

<code class="language-java hljs ">private void showPopupBalloon(final Editor editor, final String result) {
ApplicationManager.getApplication().invokeLater(new Runnable() {
public void run() {
JBPopupFactory factory = JBPopupFactory.getInstance();
factory.createHtmlTextBalloonBuilder(result, null, new JBColor(new Color(186, 238, 186), new Color(73, 117, 73)), null)
.setFadeoutTime(5000)
.createBalloon()
.show(factory.guessBestPopupLocation(editor), Balloon.Position.below);
}
});
}</code>

這個API,恩,我的源碼,依然是不求記住,知道這有個類似的功能即可。
簡單看一下,是通過創建一個JBPopupFactory,然後通過它創建一個HtmlTextBalloonBuilder,通過這個builder去設置各種參數,最後show。
ok,對於一個入門的例子,不要太強求對插件中這些API的掌握,還是那句話,等需要寫了再去查,需要什麼功能,哪怕到對應的插件中去源碼都可以,當然也有文檔:
http://www.jetbrains.org/intellij/sdk/docs/tutorials.html
有興趣的可以整理各種類型的插件,比如彈出popupWindow,生成代碼,生成文件類別的,然後對相關的API進行收集與整理。
這樣代碼寫完了,先測試一下,點擊RUN,然後看效果~
我們這里肯定是測試沒問題的,效果圖就是開始的那個gif.
如果沒有問題,就可以去部署和發布我們的插件給別人去使用了。
這兩部也非常簡單。

閱讀全文

與有道apiandroid相關的資料

熱點內容
安卓手機mp3壓縮工具 瀏覽:214
程序員和交易員 瀏覽:422
怎麼變字體樣式app 瀏覽:173
名字叫湯什麼的視頻app 瀏覽:209
金屬加密鍵盤聯系電話 瀏覽:335
自製解壓牛奶盒子教程 瀏覽:64
編譯高手的圖片 瀏覽:922
單片機數碼管顯示時分秒 瀏覽:780
手指解壓最簡單的方法 瀏覽:345
韓國郵箱伺服器地址 瀏覽:967
android版本介紹 瀏覽:410
pdf文件加密軟體 瀏覽:410
長沙住房app怎麼看備案 瀏覽:603
安裝加密軟體的電腦會被監控么 瀏覽:221
java微博源碼 瀏覽:569
堆排序簡單實現python 瀏覽:461
單片機引腳與鍵盤的關系 瀏覽:132
壓縮火柴盒製作 瀏覽:38
谷歌地圖android偏移 瀏覽:214
bitlocker硬碟加密空間 瀏覽:238