Hi,
As stated in the title, I need help on this. I am downloading content
from a http connection and storing the contents in String array
mStrings[] and dStrings[]. But how do I pass the values from the
asynctask to the arrays in main activity? Thanks
Activity.java
ListView list;
LazyAdapter adapter;
ProgressDialog dialog;
private String[] mStrings = {};
private String[] dStrings = {};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cats);
new TheTask().execute();
list=(ListView)findViewById(R.id.list);
adapter=new LazyAdapter(this, mStrings, dStrings);
list.setAdapter(adapter);
}
private class TheTask extends AsyncTask<Void, Void, Void>{
@Override
protected void onPreExecute() {
dialog = ProgressDialog.show(Activity.this, "Retrieving
Information", "Please wait for few seconds...", true, false);
dialog.setCancelable(true);
}
@Override
protected Void doInBackground(Void... params) {
searchContent();
return null;
}
protected void onPostExecute(Void... params) {
dialog.dismiss();
}
}
public void searchContent()
{
String imageC = "";
String textC = "";
try {
// Get the URL from text box and make the URL object
URL url = new URL(targetURL);
// Make the connection
URLConnection conn = url.openConnection();
BufferedReader reader = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line = reader.readLine();
Pattern sChar = Pattern.compile("&.*?;");
line.replaceAll("\\<.*?\\>", "");
Matcher msChar = sChar.matcher(line);
while (msChar.find()) line = msChar.replaceAll("");
while (line != null) {
if(line.contains("../../"))
{
int startIndex = line.indexOf("../../") + 6;
imageC += line +";";
mStrings = imageC.split(";");
line = reader.readLine();
}
if(line.contains("../../") == false)
{
line = reader.readLine();
}
if (line.contains("Gnametag"))
{
int startIndex = line.indexOf("Gnametag") + 10;
int endIndex = line.indexOf("<", startIndex +
1);
String gname =
line.substring(startIndex,endIndex);
textC = textC.replaceAll("</span>", "");
textC += "Name: "+gname+ "\n";
}
if (line.contains("Gender"))
{
int startIndex2 = line.indexOf("Gender") + 0;
int endIndex2 = line.indexOf("<", startIndex2 +
1);
String gender =
line.substring(startIndex2,endIndex2);
textC += gender +"\n";
}
if (line.contains("Last Update"))
{
reader.close();
}
}
// Close the reader
reader.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en