如何使用Google API进行翻译?

时间:2018-03-21 15:54:49

标签: android google-translate

我想制作一个翻译器,但是当我将任何样本复制到我的项目时,我总是在我的项目中遇到异常或编译错误。我从github或youtube教程源代码中尝试了很多样本​​。

示例:http://android-er.blogspot.in/2009/10/androidtranslate-using-google-translate.html

当我将以下内容复制并粘贴到项目中时:

import com.google.api.translate.Language;
import com.google.api.translate.Translate;

导入始终未使用。顺便说一句,apı标记为红色。如何才能正确使用Google的API?

Mainactivity.class:

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.google.api.translate.Language;
import com.google.api.translate.Translate;

public class MainActivity extends AppCompatActivity {
    EditText MyInputText;
    Button MyTranslateButton;
    TextView MyOutputText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        MyInputText = (EditText)findViewById(R.id.InputText);
        MyTranslateButton = (Button)findViewById(R.id.TranslateButton);
        MyOutputText = (TextView)findViewById(R.id.OutputText);

        MyTranslateButton.setOnClickListener(MyTranslateButtonOnClickListener);

    }
    private Button.OnClickListener MyTranslateButtonOnClickListener
            = new Button.OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String InputString;
            String OutputString = null;
            InputString = MyInputText.getText().toString();

            try {
                Translate.setHttpReferrer("http://android-er.blogspot.com/");
                OutputString = Translate.execute(InputString,
                        Language.ENGLISH, Language.FRENCH);
            } catch (Exception ex) {
                ex.printStackTrace();
                OutputString = "Error";
            }

            MyOutputText.setText(OutputString);

        }

    };




}

权限:

<uses-permission android:name="android.permission.INTERNET" ></uses-permission>

其余代码只是布局(只有一个布局)。

1 个答案:

答案 0 :(得分:0)

正如Ch4t4r所提到的,您链接的教程是从2009年开始的,不再相关。

当前的Cloud Translation API客户端库已记录here,但它声明:

  

注意:Google Cloud Java客户端库目前不支持Android。

您需要直接致电Cloud Translation REST API。它非常简单易用,您应该立即使用首选的HTTP库(例如Retrofit)。