Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 静态void main中的TextView_Java_Android_Static - Fatal编程技术网

Java 静态void main中的TextView

Java 静态void main中的TextView,java,android,static,Java,Android,Static,因此,我正在尝试获取翻译后的文本并将其显示在我的文本视图中。 我该怎么做?我注意到,翻译必须在静态void main中使用它。。。如果没有,则会出现问题。 (java初学者) Android不需要main()方法来像在Java应用程序中一样执行。 而且您不需要编写那些http调用来转换字符串值。 Android为您提供了一个string.xml文件,您可以在其中创建自己的文件WRT以进行本地化,但键入的字符串应相同,您可以将其分配给textview。Android不需要main()方法来像在Ja

因此,我正在尝试获取翻译后的文本并将其显示在我的文本视图中。
我该怎么做?我注意到,翻译必须在静态void main中使用它。。。如果没有,则会出现问题。
(java初学者)


Android不需要main()方法来像在Java应用程序中一样执行。
而且您不需要编写那些http调用来转换字符串值。

Android为您提供了一个string.xml文件,您可以在其中创建自己的文件WRT以进行本地化,但键入的字符串应相同,您可以将其分配给textview。

Android不需要main()方法来像在Java应用程序中一样执行。
而且您不需要编写那些http调用来转换字符串值。

Android为您提供了一个string.xml文件,您可以在其中创建自己的文件WRT以进行本地化,但这些字符串的键应该相同,您可以将其分配给textview。

使用类似的方式

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class TranslateText extends AppCompatActivity {
TextView TText;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_translate_text);
    TText = findViewById(R.id.TranslatedView);
    String text = "Hello world!";
    new TransText(text).execute();
}


private String translate(String langFrom, String langTo, String text) throws IOException {

    String urlStr = "https://script.google.com/macros/s/AKfycbzjyCsF9eoo7MR38wVg0WFU9oxc9I2aU4Bt4YPEiqtRLJLx0XU/exec" +
            "?q=" + URLEncoder.encode(text, "UTF-8") +
            "&target=" + langTo +
            "&source=" + langFrom;
    URL url = new URL(urlStr);
    StringBuilder response = new StringBuilder();
    HttpURLConnection con = (HttpURLConnection) url.openConnection();
    con.setRequestProperty("User-Agent", "Mozilla/5.0");
    BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
    String inputLine;
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    return response.toString();
}

private class TransText extends AsyncTask<Void, Void, String> {
    String text;

    public TransText(String text) {
        this.text = text;
    }

    @Override
    protected String doInBackground(Void... voids) {
        String result = null;
        try {
            result = translate("en", "zh-CN", text);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result;
    }

    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
        if(result != null){
            TText.setText(result);
        }
    }
}
}
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入android.widget.TextView;
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.net.HttpURLConnection;
导入java.net.URL;
导入java.net.urlcoder;
公共类TranslateText扩展了AppCompatActivity{
文本视图TText;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u translate\u text);
TText=findViewById(R.id.TranslatedView);
String text=“你好,世界!”;
新建TransText(text.execute();
}
私有字符串转换(字符串langFrom、字符串langTo、字符串文本)引发IOException{
字符串urlStr=”https://script.google.com/macros/s/AKfycbzjyCsF9eoo7MR38wVg0WFU9oxc9I2aU4Bt4YPEiqtRLJLx0XU/exec" +
“?q=“+URLEncoder.encode(文本,“UTF-8”)+
“&target=“+langTo”+
“&source=“+langFrom;
URL=新URL(urlStr);
StringBuilder响应=新建StringBuilder();
HttpURLConnection con=(HttpURLConnection)url.openConnection();
con.setRequestProperty(“用户代理”、“Mozilla/5.0”);
BufferedReader in=新的BufferedReader(新的InputStreamReader(con.getInputStream());
字符串输入线;
而((inputLine=in.readLine())!=null){
追加(inputLine);
}
in.close();
返回response.toString();
}
私有类TransText扩展异步任务{
字符串文本;
公共转换文本(字符串文本){
this.text=文本;
}
@凌驾
受保护的字符串背景(无效…无效){
字符串结果=null;
试一试{
结果=翻译(“en”,“zh-CN”,文本);
}捕获(IOE异常){
e、 printStackTrace();
}
返回结果;
}
@凌驾
受保护的void onPostExecute(字符串结果){
super.onPostExecute(结果);
如果(结果!=null){
TText.setText(结果);
}
}
}
}

使用类似的方法

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class TranslateText extends AppCompatActivity {
TextView TText;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_translate_text);
    TText = findViewById(R.id.TranslatedView);
    String text = "Hello world!";
    new TransText(text).execute();
}


private String translate(String langFrom, String langTo, String text) throws IOException {

    String urlStr = "https://script.google.com/macros/s/AKfycbzjyCsF9eoo7MR38wVg0WFU9oxc9I2aU4Bt4YPEiqtRLJLx0XU/exec" +
            "?q=" + URLEncoder.encode(text, "UTF-8") +
            "&target=" + langTo +
            "&source=" + langFrom;
    URL url = new URL(urlStr);
    StringBuilder response = new StringBuilder();
    HttpURLConnection con = (HttpURLConnection) url.openConnection();
    con.setRequestProperty("User-Agent", "Mozilla/5.0");
    BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
    String inputLine;
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    return response.toString();
}

private class TransText extends AsyncTask<Void, Void, String> {
    String text;

    public TransText(String text) {
        this.text = text;
    }

    @Override
    protected String doInBackground(Void... voids) {
        String result = null;
        try {
            result = translate("en", "zh-CN", text);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result;
    }

    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
        if(result != null){
            TText.setText(result);
        }
    }
}
}
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入android.widget.TextView;
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.net.HttpURLConnection;
导入java.net.URL;
导入java.net.urlcoder;
公共类TranslateText扩展了AppCompatActivity{
文本视图TText;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u translate\u text);
TText=findViewById(R.id.TranslatedView);
String text=“你好,世界!”;
新建TransText(text.execute();
}
私有字符串转换(字符串langFrom、字符串langTo、字符串文本)引发IOException{
字符串urlStr=”https://script.google.com/macros/s/AKfycbzjyCsF9eoo7MR38wVg0WFU9oxc9I2aU4Bt4YPEiqtRLJLx0XU/exec" +
“?q=“+URLEncoder.encode(文本,“UTF-8”)+
“&target=“+langTo”+
“&source=“+langFrom;
URL=新URL(urlStr);
StringBuilder响应=新建StringBuilder();
HttpURLConnection con=(HttpURLConnection)url.openConnection();
con.setRequestProperty(“用户代理”、“Mozilla/5.0”);
BufferedReader in=新的BufferedReader(新的InputStreamReader(con.getInputStream());
字符串输入线;
而((inputLine=in.readLine())!=null){
追加(inputLine);
}
in.close();
返回response.toString();
}
私有类TransText扩展异步任务{
字符串文本;
公共转换文本(字符串文本){
this.text=文本;
}
@凌驾
受保护的字符串背景(无效…无效){
字符串结果=null;
试一试{
结果=翻译(“en”,“zh-CN”,文本);
}捕获(IOE异常){
e、 printStackTrace();
}
返回结果;
}
@凌驾
受保护的void onPostExecute(字符串结果){
super.onPostExecute(结果);
如果(结果!=null){
TText.setText(结果);
}
}
}
}

为什么在android应用程序中使用公共静态void main(String[]args){}?我在这里指的是-我在做翻译工作,如果翻译(“en”,“zh CN”,text)在公共静态void main之外,它就不起作用了@GaneshGudgheSo是thr无论如何我可以使用翻译文本(zh CN)并在我的文本视图中显示它吗?使用asyntask并在DoinBackgrounds中执行你的translate()。为什么你在android应用程序中使用公共静态void main(String[]args){}?我在这里指的是-我在做翻译工作,如果翻译(“en”,“zh CN”不起作用,text)在公共静态void main之外@GaneshGudgheSo是thr无论如何我可以使用翻译文本(zh CN)并在我的文本视图中显示它吗?使用asyntask并在DoinBackground中执行你的translate()。翻译部分没有问题,我测试了它。但是我不知道如何使用翻译(“en”,“zh-CN”,text)在我的te中