У меня есть класс, который реализует AsyncTask. класс загружает CSV-файл порта и построчно импортирует в таблицу mysqlite. Часть создания базы данных заключается в передаче текущего контекста. и у меня проблемы с созданием контекста. обычно getApplicationContext () делает это для меня. Но не работает в этом случае. Как я могу это сделать? (урок не полностью закончен) Другое дело, что я нахожу Android-студию, заполняющую полный путь для моих занятий. это начало происходить после того, как я создал папку и начал организовывать свои классы внутри папок. Я импортирую org.pctechtips.netdroid. *; но это не работает
package org.pctechtips.netdroid;
import android.os.AsyncTask;
import org.pctechtips.netdroid.*;
import org.pctechtips.netdroid.dbhelper.*;
import org.pctechtips.netdroid.dbhelper.*;
import android.content.Context;
import java.io.*;
import java.net.*;
import java.util.zip.*;
import javax.net.ssl.*;
/**
* Java class to downloand and parse service-port csv file from iana.org
*/
public class PortParser {
public static final String PORT_URL = "https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv";
org.pctechtips.netdroid.dbhelper.DatabaseHelper dbHelper;
Context context;
public class DownloadPortFile extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
context = (Context) org.pctechtips.netdroid.activity.MainActivity;
dbHelper = new org.pctechtips.netdroid.dbhelper.DatabaseHelper(context);
}
@Override
protected Void doInBackground(Void... voids) {
BufferedReader in = null;
HttpsURLConnection connection = null;
try {
URL url = new URL(PORT_URL);
connection = (HttpsURLConnection) url.openConnection();
connection.setRequestProperty("Accept-Encoding", "gzip");
connection.connect();
if (connection.getResponseCode() != HttpsURLConnection.HTTP_OK) {
// publishProgress;
//reuturn
}
in = new BufferedReader(new InputStreamReader(new GZIPInputStream(connection.getInputStream()), "UTF-8"));
String line;
while ((line = in.readLine()) != null) {
if (isCancelled()) {
return;
}
/*String[] data = parser.parseLine(line);
if (data == null) {
continue;
}
if (parser.saveLine(db, data) == -1) {
publishProgress("Failed to insert data into the database. Please run this operation again");
return;
}*/
}
} catch (Exception e) {
// publishProgress(e.toString());
} finally {
try {
if (in != null) {
in.close();
}
} catch (IOException ignored) {
}
if (connection != null) {
connection.disconnect();
}
}
return null;
}
@Override
protected void onProgressUpdate(Void... voids) {
}
@Override
protected void onPostExecute(Void aVoid) {
}
}
}