gpt4 book ai didi

java - 如何在Android Studio中从java中的另一个文件导入类?

转载 作者:太空宇宙 更新时间:2023-11-04 13:24:40 25 4
gpt4 key购买 nike

我正在尝试将 seismic_text.java 文件内的函数 getUrlContents(string) 调用到我的 MainActivity.java 文件。如何从文件中的任何位置调用该函数?任何信息或提示表示赞赏。我将我的文件放在下面。

这是我的MainActivity.java:

package bt.alfaquake;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.app.NotificationManager;
import android.content.Intent;
import android.view.View;
import android.app.PendingIntent;
import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.NotificationCompat;
import bt.alfaquake.seismic_text;

public class MainActivity extends AppCompatActivity {

NotificationCompat.Builder notification;
private static final int uniqueID = 123;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

notification = new NotificationCompat.Builder(this);
}
}

这是我的seismic_text.java: 包 bt.alfaquake;

import java.net.*;
import java.io.*;

public class seismic_text {

public static String getUrlContents(String theUrl) {
StringBuilder content = new StringBuilder();
try
{
URL url = new URL(theUrl);
URLConnection urlConnection = url.openConnection();

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
String line;

while ((line = bufferedReader.readLine()) != null)
{
content.append(line + "\n");
}
bufferedReader.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return content.toString();
}
}
}

最佳答案

可以调用地震_text.getUrlContents(url);但这会导致NetworkOnMainThreadException

只需将此调用包装到 Simple AsynkTask 即可。

class MyTask extends AsyncTask<Void, Void, String> {

@Override
protected String doInBackground(Void... params) {
try {
return seismic_text.getUrlContents(url);
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}

@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
// TODO handle result here
}
}

并从您的代码中调用它:

new MyTask().execute();

关于java - 如何在Android Studio中从java中的另一个文件导入类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32785381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com