в params[0] - хранится название таблицы, также называется и файл на хостинге
таблицы на удаленном и в приложении имею одинаковые названия
Код: Выделить всё
private class ParseAppTable extends AsyncTask<String, Void, String>
{
HttpURLConnection urlConnection = null;
BufferedReader reader = null;
String resultJson = "";
JSONObject dataJsonObj = null;
ContentValues cv = new ContentValues();
@Override
protected String doInBackground(String... params)
{
// получаем данные с внешнего ресурса
try
{
parse_tbl = params[0];
URL url = new URL(HOST_URL+parse_tbl+".php");
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.connect();
InputStream inputStream = urlConnection.getInputStream();
StringBuffer buffer = new StringBuffer();
reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null)
{
buffer.append(line);
}
resultJson = buffer.toString();
}
catch (Exception e)
{
e.printStackTrace();
}
return resultJson;
} //doInBackground
@Override
protected void onPostExecute(String strJson)
{
super.onPostExecute(strJson);
if (strJson != "")
{
// здесь хотел делать что-то типа
// if (parse_tbl == "название таблицы") то такой-то код если другой таблице то другой код
try
{
dataJsonObj = new JSONObject(strJson);
JSONArray data = dataJsonObj.getJSONArray("data");
// перебираем и выводим контакты каждого друга
for (int i = 0; i < data.length(); i++)
{
JSONObject row = data.getJSONObject(i);
String app_id = row.getString("app_id");
String version = row.getString("version");
String copyright = row.getString("copyright");
// подготовим данные для вставки в виде пар: наименование столбца - значение
cv.put("app_id", app_id);
cv.put("version", version);
cv.put("copyright", copyright);
// вставляем запись и получаем ее ID
long rowID = db.insert(parse_tbl , null, cv);
}
Log.d(LOG_TAG,"--- import zrk_app ---");
}
catch (JSONException e)
{
e.printStackTrace();
}
}
} // end onPostExecute
}
new ParseTable1.execute("my_table1");
new ParseTable2.execute("my_table2");
Как можно использовать один и тот же код, чтобы для каждой таблицы не создавать свой поток