Ανάπτυξη Android εφαρμογής σε PHP

Android συσκευές και εφαρμογές.

Συντονιστές: Super-Moderators, Software & Hardware Moderators

Απάντηση
Άβαταρ μέλους
philos
Δημοσιεύσεις: 264
Εγγραφή: 30 Αύγ 2007 23:32

Ανάπτυξη Android εφαρμογής σε PHP

Δημοσίευση από philos » 25 Ιαν 2014 18:00

Καλησπέρα παιδιά!

Σύντομα θα ξεκινήσω την ανάπτυξη εφαρμογών για το Android σε PHP (μέχρι στιγμής έχω εμπειρία στη χρήση PHP αλλά μηδαμινή εμπειρία σε ανάπτυξη εφαρμογών με Android). Θα χρησιμοποιήσω PHP γιατί βιάζομαι να ολοκληρώσω κάτι που χρειάζομαι και μετέπειτα αν ασχοληθώ με Java κάνω τις απαραίτητες ενέργειες.

Θα ήθελα μερικές συμβουλές - πληροφορίες - βοήθεια για το παρακάτω.

Η βασική εφαρμογή που θέλω να φτιάξω θέλω να κάνει το εξής:
1. Ουσιαστικά πρόκειται για μια εφαρμογή που θα παρουσιάζει πληροφορίες από ένα online forum (δηλαδή θα προσομοιώνει τη διαδικασία που κάνει ο χρήστης με τον browser), αλλά ο χρήστης δε θα έχει την εντύπωση ότι σερφάρει σε site, αλλά θα περιηγείται στις πληροφορίες μέσα από την εφαρμογή.
2. Ο χρήστης θα πρέπει να μπορεί να κάνει register ή και login μέσω της εφαρμογής αλλά και να ποστάρει και σχόλια (οπότε η εφαρμογή θα πρέπει και να στέλνει- κάνει post πληροφορίες στο site, όχι δλδ μόνο read της σελίδας).
Φανταστείτε ότι κάνετε register σε ένα forum ή δημοσιεύετε σχόλια - κλασσικά - μέσω του browser σας. Εμείς θέλουμε μια Android εφαρμογή που θα το κάνει αυτό αλλά με τα πλαίσια - διαλόγους - λίστες του Android.


Η βοήθεια που ζητάω εστιάζεται στα εξής:
1. Ποιες κλάσεις του Android API θα μου είναι χρήσιμες για να πετύχω τα παραπάνω; Δηλαδή να τραβάω πληροφορίες από το online site μου (πχ χρησιμοποιώντας την file_get_contents της PHP;; Επίσης πως θα στείλω δεδομένα; ) ; Τι πρέπει να προσέξω σε θέματα ασφαλείας;
Να σημειωθεί ότι μπορώ να φτιάξω ένα ειδικό PHP αρχείο στον server μου το οποίο θα τροφοδοτεί την Android εφαρμογή με τις πληροφορίες (αν η ιδέα μου είναι σωστή, έχετε προτάσεις πάνω σε αυτός; πχ το PHP να επιστρέφει σε xml τα μηνύματα μιας συζήτησης στο forum κτλ ώστε μετά να τα διαχειριστώ με την PHP και να τα εμφανίσω ως λίστα στην Android εφαρμογή; Ή άλλη μορφή; )
2. Να μου προτείνετε ιστοσελίδες με PHP εφαρμογές Android ώστε να παραδειγματιστώ, σαν επιπλέον με το διάβασμα του Android API.

Δε ζητάω να μου φτιάξετε την εφαρμογή, απλά ως έμπειροι θα ήθελα να μου πείτε λίγα λόγια ώστε να με διευκολύνετε. :-) Ό,τι πληροφορία μπορεί να δώσει ο καθένας καλοδεχούμενη. :)

Έχω δει εφαρμογές στο Play Store που κάνουν τα παραπάνω (δλδ τροφοδοτούν δεδομένα από ιστοσελίδες και τα παρουσιάζουν ως εφαρμογή τηλεφώνου), αλλά προφανώς δεν έχω τον πηγαίο κώδικά τους ώστε να πάρω μια ιδέα.

Ευχαριστώ πολύ!

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Ανάπτυξη Android εφαρμογής σε PHP

Δημοσίευση από giannis17 » 25 Ιαν 2014 18:36

H PHP είναι γλώσσα για να φτιάχνεις δυναμικές ιστοσελίδες, δεν έχει καμία σχέση με mobile application, άσχετα αν αυτό θα συνεργάζεται με κάποιο τρόπο με μια ιστοσελίδα, για να παίξει η PHP χρειάζεται web browser. Το πιο εύκολο που μπορείς να κάνεις είναι να φτιάξεις ένα css για το forum σου για να δείχνει σωστά σε κινητά (αν δεν είναι ήδη responsive) και μετά να φτιάξεις ένα υπερ-απλό application σε java που να φορτώνει την ιστοσελίδα σου, άντε να βγάζει και ένα μήνυμα error αν δεν είναι ο χρήστης στο internet.

http://developer.android.com/reference/ ... bView.html
http://stackoverflow.com/questions/2789 ... to-the-web

υπάρχει εκτενές παράδειγμα εδώ:
http://samadmalik.com/converting-website-android-app/
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Άβαταρ μέλους
philos
Δημοσιεύσεις: 264
Εγγραφή: 30 Αύγ 2007 23:32

Ανάπτυξη Android εφαρμογής σε PHP

Δημοσίευση από philos » 25 Ιαν 2014 18:40

Σε ευχαριστώ για την απάντηση Giannis!
Υπάρχει έτοιμο project που σου επιτρέπει να προγραμματίσεις εφαρμογές Android στη γλώσσα PHP:
http://phpforandroid.net/doku.php

Πάντως κι εγώ τείνω στη λύση που πρότεινες. Θα το σκεφτώ κι άλλο όμως.

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Ανάπτυξη Android εφαρμογής σε PHP

Δημοσίευση από giannis17 » 25 Ιαν 2014 18:52

Το phpforandroid από ότι καταλαβαίνω δεν είναι τίποτε άλλο από ένα web server που τρέχει στο κινητό και εκτελεί ένα αρχείο php που του έχεις δηλώσει.

Δηλαδή δίνεις στον (έμπειρο) χρήστη τον κώδικα σου, τους κωδικούς για τη βάση δεδομένων του site σου...μια χαρά. Αναρωτιέμαι πόσοι έξυπνοι το έχουν χρησιμοποιήσει!!
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Άβαταρ μέλους
philos
Δημοσιεύσεις: 264
Εγγραφή: 30 Αύγ 2007 23:32

Ανάπτυξη Android εφαρμογής σε PHP

Δημοσίευση από philos » 25 Ιαν 2014 20:48

giannis17 έγραψε:Το phpforandroid από ότι καταλαβαίνω δεν είναι τίποτε άλλο από ένα web server που τρέχει στο κινητό και εκτελεί ένα αρχείο php που του έχεις δηλώσει.

Δηλαδή δίνεις στον (έμπειρο) χρήστη τον κώδικα σου, τους κωδικούς για τη βάση δεδομένων του site σου...μια χαρά. Αναρωτιέμαι πόσοι έξυπνοι το έχουν χρησιμοποιήσει!!
Όχι ότι έχω καταλάβει στο 100% το phpforandroid, πάντως αυτό που καταλαβαίνω προσωπικά είναι ότι ο κώδικας που γράφεις τρέχει σε τοπικό (συσκευή) επίπεδο. Συνεπώς δε μπορείς να συνδεθείς με βάση δεδομένων εξωτερικού site ή να τρέξει php αρχείο εξωτερικού site και να δει τα περιεχόμενα του (σε ένα παράδειγμα επίσης αν δεις, κάνει include αρχείο name.php.txt από online site, αφού αν το τραβούσε ως .php ο server δε θα έστελνε το κείμενο - ενώ online .php.txt αρχείο προφανώς δεν τρέχει στον εξωτερικό server).

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Ανάπτυξη Android εφαρμογής σε PHP

Δημοσίευση από giannis17 » 25 Ιαν 2014 21:16

αυτό ακριβώς εννοώ είτε θα κάνεις include κάποιο αρχείο κειμένου άρα με το url του βλέπει τι έχει μέσα, ή τα γράφεις όλα τοπικά οπότε όποιος βρει το αρχείο php με τον filemanager έχει πάλι τον κώδικα.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Άβαταρ μέλους
philos
Δημοσιεύσεις: 264
Εγγραφή: 30 Αύγ 2007 23:32

Ανάπτυξη Android εφαρμογής σε PHP

Δημοσίευση από philos » 26 Ιαν 2014 21:13

giannis17 έγραψε:αυτό ακριβώς εννοώ είτε θα κάνεις include κάποιο αρχείο κειμένου άρα με το url του βλέπει τι έχει μέσα, ή τα γράφεις όλα τοπικά οπότε όποιος βρει το αρχείο php με τον filemanager έχει πάλι τον κώδικα.
Ίσως όταν τη μετατρέπεις σε *apk να μη φαίνονται τα αρχεία php. :idea:

anyway, τελικά ξεκίνησα να αναπτύσσω αυτό που θέλω σύμφωνα με τον οδηγό που παρέθεσες (thank you very much! )
http://samadmalik.com/converting-website-android-app/

Έχω μια απορία. Προκειμένου να αναγνωρίζει η μηχανή του site, ότι ο χρήστης σερφάρει από Android ώστε να του εμφανίζει το site στη "mobile έκδοση", κάνω το εξής:

Κώδικας: Επιλογή όλων

if (strpos($_SERVER['HTTP_USER_AGENT'], 'Android'))
{
  $styleid = 13;
}
Όμως θα προτιμήσω να το κάνω με χρήση cookie, καθώς επιθυμώ όταν ο χρήστης σερφάρει από τον κανονικό browser του Android να βλέπει το κανονικό/full site.

Συνεπώς, τι κώδικα πρέπει να προσθέσω στο java αρχείο (έχω χρησιμοποιήσει ακριβώς τον κώδικα του παραπάνω οδηγού), ώστε όταν η εφαρμογή ξεκινάει, να σεττάρει και ένα cookie με ονομασία "cookiename" και value "cookievalue"? Δοκίμασα διάφορους κώδικες που βρήκα στο stackoverflow αλλά χωρίς αποτέλεσμα.

Ευχαριστώ!

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Ανάπτυξη Android εφαρμογής σε PHP

Δημοσίευση από giannis17 » 26 Ιαν 2014 21:28

Στην java εφαρμογή σου προσθέτεις:

Κώδικας: Επιλογή όλων

myWebView.getSettings().setUserAgentString("Uber android App for all y0 b*tches!");
Και στην php αλλάζεις ακολούθως:

Κώδικας: Επιλογή όλων

if (strpos($_SERVER['HTTP_USER_AGENT'], 'Uber android App for all y0 b*tches!'))
{
  $styleid = 13;
}
πιστεύω κατάλαβες ότι μπορείς να γράψεις ότι γουστάρεις εκεί πέρα...
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Άβαταρ μέλους
philos
Δημοσιεύσεις: 264
Εγγραφή: 30 Αύγ 2007 23:32

Ανάπτυξη Android εφαρμογής σε PHP

Δημοσίευση από philos » 27 Ιαν 2014 01:00

Σε ευχαριστώ πολύ Γιάννη!
Δυστυχώς όμως δεν δουλεύει. Πιστεύω ο κώδικάς σου είναι σωστός, ωστόσο στον emulator δεν λειτουργεί (είδα αναφορά σε άλλο site από χρήστη με το ίδιο πρόβλημα, δηλαδή ότι δεν του λειτουργούσε η αλλαγή user agent και του εμφάνιζε το default στον emulator, ενώ όταν έμπαινε από αυθεντική συσκευή, λειτουργούσε).

Μιας που είμαι και σε φάση που μαθαίνω, μπορείς να μου πεις πως ορίζω και ένα απλό cookie στον browser της εφαρμογής;

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Ανάπτυξη Android εφαρμογής σε PHP

Δημοσίευση από giannis17 » 27 Ιαν 2014 09:23

Επειδή εμένα μου κάνει αρκετά κουλά ο emulator πλέον δεν τον εμπιστεύομαι και τα δοκιμάζω κατευθείαν σε κινητό. Το συγκεκριμένο με το user agent παίζει μια χαρά.

Δεν έχω χρησιμοποιήσει ποτέ cookies σε app αλλά λογικά έτσι θα παίξει:

Δες το guide εδώ: http://code.walletapp.net/post/46414301 ... to-webview

Αν δεν παίξει προς το τέλος του app σου προσθέτεις

Κώδικας: Επιλογή όλων

CookieManager.getInstance().setAcceptCookie(true);
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1948
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Ανάπτυξη Android εφαρμογής σε PHP

Δημοσίευση από Alice_Cooper » 27 Ιαν 2014 12:41


Άβαταρ μέλους
philos
Δημοσιεύσεις: 264
Εγγραφή: 30 Αύγ 2007 23:32

Ανάπτυξη Android εφαρμογής σε PHP

Δημοσίευση από philos » 08 Φεβ 2014 23:40

Γεια σας και πάλι παιδιά!

Λοιπόν, επέστρεψα με νέα ερωτήματα. :)
1. Πως μπορώ (php) να βεβαιωθώ ότι ένας χρήστης σερφάρει στην ιστοσελίδα με:
a) Android
b) Windows Phone 7/8
c) iOS
... ώστε να του εμφανίζω την mobile έκδοση; Θέλω να πω, υπάρχει κανένας άλλος πιο αξιόπιστος τρόπος από τον παραπάνω που περιγράψαμε με το Useragent;

2. Υπάρχει κάπου στο διαδίκτυο κάποιος οδηγός σαν αυτόν που παρατέθηκε παραπάνω:
http://samadmalik.com/converting-website-android-app/
..ή γνωρίζεις κάποιος, πως μπορώ να κάνω μια εφαρμογή για Windows Phone η οποία απλά θα χρησιμοποιεί τον ενσωματωμένο Web Browser των Windows Phone για να συνδέεται στο site μου; Η Android εφαρμογή είναι σχεδόν έτοιμη, πολύ καλός ο οδηγός! Τώρα ψάχνω για κάτι αντίστοιχο για Windows Phone και εν συνεχεία για iOS.

Σας ευχαριστώ πολύ!

Απάντηση

Επιστροφή στο “Android”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες