Aplikacja w C# pobierajaca dane z MySQL (Windows Phone)

0

Witam wszystkich programistów.
To moj pierwszy post na tym forum, mam nadzieje ze niezostane na starcie Od razu zlinczowany :)

Otóz, mam pewną wizję ciekawej aplikacji na telefony z systemem Windows Phone.
Postanowilem rzucic sie na gleboka wode i napisac aplikacje, ktora bedzie kieszonkową bazą artykułów.

Prowadze serwis internetowy, do ktorego ludzie wysylaja artykuly i chcialbym, aby aplikacja pobierala te artykuly z bazy danych na telefon i tam je przechowywala i wyswietlala.
Aplikacja powinna sprawdzac czy dany artykul, ktory jest na serwerze portalu jest juz w bazie telefonu, jesli nie to powinna go pobrac.

Stad moje pytanie... w jaki sposob najlepiej to wykonac?

Czy te dane, ktore są w bazie danych (mySQL) powinny byc konwertowane do plików XML (napisalbym taki skrypt) i aplikacja pobierala by gotowe pliki *.xml ?

Każdy artykuł obrany jest w znaczniki html (pogrubanie, zmienianie czcionek itd).
Czy jezyk C# potrafi czytac kody html?
W jaki sposob moglbym wyswietlic w telefonie taki obrany w html artykul? czy moglbym stworzyc w aplikacji okienko Internet Explorera, ktore bedzie wyswietlalo mi caly artykul?

prosze o porady, sugestie, wasze wizje, cokolwiek co musialbym uwzglednic przed rozpoczeciem pisania aplikacji.

0
Bullek napisał(a)

Czy te dane, ktore są w bazie danych (mySQL) powinny byc konwertowane do plików XML (napisalbym taki skrypt) i aplikacja pobierala by gotowe pliki *.xml ?

Jest to jedno z rozwiązań. Pewno całkiem dobre, bo niekoniecznie możesz mieć dostęp z zewnątrz do bazy danych swojego serwisu, więc bezpośrednie połączenia mogą nie być wykonalne.

Każdy artykuł obrany jest w znaczniki html (pogrubanie, zmienianie czcionek itd).

Czy jezyk C# potrafi czytac kody html?

Czemu język miałby coś potrafić? Język to tylko składnia i semantyka.

W jaki sposob moglbym wyswietlic w telefonie taki obrany w html artykul? czy moglbym stworzyc w aplikacji okienko Internet Explorera, ktore bedzie wyswietlalo mi caly artykul?

Możesz użyć kontrolki WebBrowser, która sama sobie poradzi z wyświetleniem HTML.

Ale co to Windows Phone pozostanie zagadką ;)

0

Co do meritum. Proponuję, żeby cała ta lista artykułów, jakie posiadasz w bazie, mogła być dostępna za pomocą RSS. Pobieranie i przetwarzanie danych z takiego źródła to już kwestia kilku linijek. W tym celu można użyć klasy do obsługi dokumentów XML - XDocument.
I taki plus, że dostępne by to było także w telefonach, które nie mają Windowsa, ale za to mają zainstalowane czytniki RSS.

Nie programowałem na smartfony nigdy, także nie znam szczegółów, co do wizualnej strony ( komponenty, itd. ).

I taka ciekawostka, może już wiesz, może nie ;) W Visual Studio dostępne są proste, acz funkcjonalne emulatory takich telefonów, więc myślę, że pisane programiki łatwo można sprawdzać w działaniu.

Taki przykładowy kod, wyświetlający tytuły z RSSa forum 4p ( z tym, że na Windowsowską konsolę ):

using System.Xml.Linq;

...

const string URL = "http://4programmers.net/rss.php?rss=topic";

XDocument document = XDocument.Load(URL);

foreach (var item in document.Descendants("title"))
{
  Console.WriteLine(item.Value);
}
0
kubARek napisał(a)

W Visual Studio dostępne są proste, acz funkcjonalne emulatory takich telefonów, więc myślę, że pisane programiki łatwo można sprawdzać w działaniu.

W wersjach Professional wzwyż.

0
kubARek napisał(a)

Proponuję, żeby cała ta lista artykułów, jakie posiadasz w bazie, mogła być dostępna za pomocą RSS. Pobieranie i przetwarzanie danych z takiego źródła to już kwestia kilku linijek. W tym celu można użyć klasy do obsługi dokumentów XML - XDocument.
I taki plus, że dostępne by to było także w telefonach, które nie mają Windowsa, ale za to mają zainstalowane czytniki RSS.

Hmmm...
Ale czy generowane artykuły do RSSa, beda mogly byc wyswietlane przez WebBrowsera? Zauwaz, ze kazdy z artykulow jest obrany w znaczniki html... Czytniki RSS "rozumieja" htmla czy wyswietlą goły kod?

kubARek napisał(a)

I taka ciekawostka, może już wiesz, może nie ;) W Visual Studio dostępne są proste, acz funkcjonalne emulatory takich telefonów, więc myślę, że pisane programiki łatwo można sprawdzać w działaniu.

Planuje napisac ta aplikacje w SharpDevelopie, darmowym i freewarowym odpowiedniku VS. On tez posiada emulator.
Ktos uzywal tego srodowiska? Warto sie w to ładowac? Nie stac mnie na VS, coprawda mam z uczelni przez MSDN udostepnionego Visual Studio PRO, ale z tego co wiem, nie moge udostepniac tworow tym srodowiskiem.

0

Czytniki RSS "rozumieja" htmla czy wyswietlą goły kod?

Większość rozumie HTML-a i pozwala wyświetlać sformatowany tekst.

mam z uczelni przez MSDN udostepnionego Visual Studio PRO, ale z tego co wiem, nie moge udostepniac tworow tym srodowiskiem.

Udostępniać możesz, byle niekomercyjnie.

0

Sluchajcie, tworze wlasnie skrypt, ktory wygeneruje mi z mojej bazy danych z artykulow XML'e

Skrypt jest gotowy i powinien hulac, ale niestety chyba mam za stara wersje PHP na serwerze (PHP 4,4) i tworzenie dokumentow DOMDocument powinno miec inną skladnie... tak przynajmniej wyczytalem w googlach, ale niesrtety w dokumentacji tez niewiele znajduje... moze ktos powiedziec czemu wyskakuja mi takie bledy:

Warning: domdocument() [function.domdocument]: Start tag expected, '<' not found in /home/bull/public_html/egzomobile.php on line 24

Fatal error: Call to undefined function: createelement() in /home/bull/public_html/egzomobile.php on line 26

Moj skrypt wyglada tak:

$zapytanie = "SELECT * FROM articles WHERE category_id=16";
  $idzapytania = mysql_query($zapytanie);

  echo mysql_error();

  while ($row = mysql_fetch_row($idzapytania)){
	$doc = new DOMDocument();

        $article = $doc->createElement("article");
        $doc->appendChild($article);

        $title = $doc->createElement("title");
	$article->appendChild($title);
	$title->appendChild($doc->createTextNode($row[2]));

	$author = $doc->createElement("author");
	$author->appendChild($doc->createTextNode($row[1]));
	
	

	//$text = $doc->createElement("text");
        //$date->appendChild($doc->createTextNode($row[1]));

        //$articles->appendChild($date);

	$fxml =  $doc->saveXML();

	$f = fopen("/ixemele/".$row[2].".xml","w");
	fwrite($f,$fxml);
	fclose($f);



  }
  mysql_close($connection);

prosze o pomoc bo juz mi rece opadają.

0

mi tez rece opadaja.. bo to jest dzial C# i .NET a nie webmastering (bo chyba tam leca pytania odnsnie php ? :> )

0
HideYoshi napisał(a)

mi tez rece opadaja.. bo to jest dzial C# i .NET a nie webmastering (bo chyba tam leca pytania odnsnie php ? :> )

Czyli wedlug Ciebie mam zkadac kilka roznych tematow w roznych dzialach i w kazdym odpoczatku opisujac swoj cel ?
Troche nielogiczne...

Potrafi ktos pomóc w TYM temacie w TEJ kategorii? ;)

0

tu pisza ze createElement jest z php5
http://us3.php.net/manual/pl/domdocument.createelement.php

coz jesli go nie masz to uwierz mi jedyne rozwiazanie! to zainstalowac php5 zeby uzyc tej funkcji :)

tu jest dokumentacja DOM XML (PHP 4) Funkcje
http://www.php.net/manual/pl/ref.domxml.php

nie znam php na tyle z glowy zeby ci bardziej pomoc, no ale tu juz powinno byc wszystko na tacy

a jesli chodzi o pomysl na ten program to cos mi sie zdaje ze jest on troche nietrafiony, bo skoro mam wypas przegladarke w moim telefonie (opera mobile) i mam pakiet kilkuset MB/mies. to po co mam uzywac jakis program, ktory sciagnie mi jakies artykuly, czy sa one na tyle niesamowite, ze bede chcial je czytac kilka/kilkanascie razy? i to na telefonie? (lapek/komp jest wygodniejszy)
poza tym faktycznie rzuciles sie na gleboka wode, warto chociaz wiedziec ze system operacyjny na telefony od M$ to Windows Mobile najczesciej wersja 6.1 lub 6.5

i jeszcze jedno, w sumie jak ktos nie chce chlopakowi pomoc, to przynajmniej niech go nie beszta
krytyka - tak, ale konstruktywna

0
Ktos napisał(a)

Udostępniać możesz, byle niekomercyjnie.

Jesteś pewien? Ponoć licencja MSDNAA jest do nauki i badań, nie tworzenia oprogramowania, nawet niekomercyjnego. Jest gdzieś dokładnie napisane, czy wolno czy nie?

Bull napisał(a)

Czyli wedlug Ciebie mam zkadac kilka roznych tematow w roznych dzialach i w kazdym odpoczatku opisujac swoj cel ?
Troche nielogiczne...

Obstawiam, że programiści PHP zaglądają do tego działu tak często, jak ja do Webmasteringu. Czyli raz na int.Max lat.
No, ale jeśli nie chcesz pomocy, to Twoja sprawa. Tylko, że w tym momencie, to Twoje zachowanie jest trochę nielogiczne...

0

Nie jest napisane, że wolno, ale nie jest napisane, że nie wolno, zatem wolno :-)

Jedyne ograniczenia, jakie są w licencji uzupełniającej MSDN Academic Alliance:

b. Ograniczenia. Nie mogą Państwo używać oprogramowania:
• w celach komercyjnych; lub
• do rozwijania i obsługi własnych systemów administracyjnych lub informatycznych.

e. Zakaz użytkowania komercyjnego. Jeśli Państwa kadra lub studenci używają tego oprogramowania do tworzenia programów, mogą oni komercyjnie używać lub oferować takie programy tylko po zakupieniu odpowiedniej komercyjnej licencji na oprogramowanie.

http://download.microsoft.com/download/5/2/B/52B44815-A62F-413B-8A66-4A1C69F42F87/uzupelniajace_postanowienia_licencyjne_msdnaa.doc

W licencji MSDN jako takiego w zasadzie tylko jeden punkt mówi o ograniczeniach:

Produkt może być używany tylko w celach projektowania oprogramowania, jak opisano
w niniejszej Umowie Licencyjnej - EULA, i nie może być używany w środowisku produkcyjnym, chyba że takie użycie jest dozwolone na mocy postanowień Urnowy Składnika dostarczonej z odpowiednim SKŁADNIKIEM i postanowienia te nie zostały uchylone postanowieniami punktu 3 niniejszej Umowy Licencyjnej – EULA.

Nie ma ani słowa o nieudostępnianiu swoich tworów - chyba, że bardzo pokracznie rozumiane jest użytkowanie produkcyjne.

Do tego takie wątki na CodeGuru:
http://www.codeguru.pl/forum-posts-427.aspx
http://codeguru.pl/forum-posts-1997-6.aspx

0

W celu wyjasnienia tych rozbieznosci zadzwonilem dzis do Pomocy Microsoftu - zapytalem i dostalem odpowiedz, ze w licencji zabronione jest udostepnianie tworow przy pomocy Visual Studio z MSDNA w celach komercyjnych. Nie ma nic o niekomercyjnym udostepnieniu wiec legalnie mozemy udostepnaic swoje prace, tak powiedzial mi przedstawiciel MS.

1 użytkowników online, w tym zalogowanych: 0, gości: 1