Im having a problem. I am trying to build a software that communicates with a website. simply, i would like to have a php webpage that when i click a button it creates an alert on the phone.
I planned on doing that by using a mysql database to with the website where the click from the webpage will update the database, then the mobile phone will (at intervals) make a request to the webpage or database to retrieve that info. Here's what im thinking of using: PHP Mysql Android OS Windows Mobile OS I found a tutorial from Apress called 'Apress Android Tutorials July 2008' and found an example that was about 90% similar to what i want (with the source code) but when i try it i get errors and I cant find a way to contact Apress(site is down etc) The example was called Chapter 5: Loading a List from the Web. when i use eclipse with the source, the error i get is "UIThreadUtilities cannot be resolved". I noticed that when i excluded the rest of the code and specify to import UIThreadUtilities it doesnt work. I know this message is a bit long and it involves a lot but If anyone can please help: 1. request i send them the source code from Apress to see if it works on their eclipse. So I know how to fix it. or 2. recommend an alternative way for me to pull info from a URL(or php page) or a database. Heres the code its supposed to pick a list of radio stations via xml parsing from a web location: I get errors where it says UiThreadutilities and other related places ====================================================================== package com.apress.radio; import java.io.InputStream; import java.util.List; import java.util.Vector; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpUriRequest; import org.apache.http.impl.client.DefaultHttpClient; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.Locator; import org.xml.sax.XMLReader; import android.app.Activity; import android.app.ListActivity; import android.content.Context; import android.graphics.Color; import android.media.MediaPlayer; import android.os.Bundle; import android.speech.recognition.Logger; import android.util.Log; import android.view.UIThreadUtilities; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnFocusChangeListener; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; public class StationPicker extends ListActivity { Vector<StationData> stationListVector = new Vector<StationData>(); SAXParser parser = null; XMLReader reader = null; XMLHandler handler = new XMLHandler(); ArrayAdapter<StationData> adapter = null; Activity ctx = this; class XMLHandler implements org.xml.sax.ContentHandler { StationData currentStation; String lastName; public void endDocument(){} public void endPrefixMapping(String prefix){} public void ignorableWhitespace(char[] ch, int start, int length) {} public void processingInstruction(String s, String a){} public void setDocumentLocator(Locator l){} public void skippedEntity(String name){} public void startDocument(){} public void startPrefixMapping(String prefix, String s){} public void characters(char[] ch, int start, int length) { if(lastName.equals("title") && currentStation.title.length() == 0) { currentStation.title = String.copyValueOf(ch, start, length); } else if(lastName.equals("audioUrl") && currentStation.url.length() == 0) { currentStation.url = String.copyValueOf(ch, start, length); } } public void startElement(String uri, String localName, String qName, Attributes atts) { lastName = localName; if(localName.equals("station")) { currentStation = new StationData(); } } public void endElement(String uri, String localName, String qName) { if(localName.equals("station")) { if(currentStation != null) stationListVector.add(currentStation); } } } class StationData { public String title = ""; public String url = ""; public String toString() { return title; } } private void initList() { adapter = new ArrayAdapter<StationData>(StationPicker.this, R.layout.list_element, R.id.textElement); setListAdapter(adapter); } public void onCreate(Bundle icicle) { super.onCreate(icicle); try { setContentView(R.layout.main); SAXParserFactory f = SAXParserFactory.newInstance(); parser = f.newSAXParser(); reader = parser.getXMLReader(); reader.setContentHandler(handler); initList(); } catch (Exception e) { Log.e("StationPicker", "Parser FAIL!"); } } protected void onListItemClick(ListView l, View v, int position, long id) { StationData selectedStation = stationListVector.elementAt (position); MediaPlayer player = new MediaPlayer(); try { player.setDataSource(selectedStation.url); player.start(); } catch (Exception e) { Log.e("PlayerException", "SetData"); } } public void onStart() { super.onStart(); Thread t = new Thread() { public void run() { HttpUriRequest request = null; HttpResponse resp = null; InputStream is = null; DefaultHttpClient client = new DefaultHttpClient(); try{ //Build the request request = new HttpGet("http://www.wanderingoak.net/ stations.xml"); //Execute it using the default HTTP Client settings; resp = client.execute(request); //Pull out the entity HttpEntity entity= resp.getEntity(); //Snag the response stream from the entity is = entity.getContent(); //Initalize a new XML parser reader.parse(new InputSource(is)); Runnable r = new Runnable() { public void run() { TextView t = (TextView) findViewById (R.id.loadingStatus); t.setText("Stations Loaded"); try{ for(int i=0; i < stationListVector.size(); i++) adapter.addObject(stationListVector.elementAt(i)); }catch (Exception e) { Log.e("Fail", "Superfail"); } getListView().invalidate(); } }; UIThreadUtilities.runOnUIThread(StationPicker.this,r); } catch (Exception e) { Log.e("Stations()", "Exception", e); } } }; t.start(); } } --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Beginners" group. To post to this group, send email to android-beginners@googlegroups.com To unsubscribe from this group, send email to android-beginners-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~----------~----~----~----~------~----~------~--~---