Oprettet lør. d. 05. marts 2011 kl. 16:30:48

ra__mus
ra__mus (7.031 point. Point ude: 60)

hjælp til at lave form til android

hej
jeg er begyndt på android, og vil lave en app til android. Nogen der kan fortælle mig hvordan jeg laver en form som brugeren kan indtaste eks. sit navn, adresse, tlf nr og lignende ind i, og det så kan sendes til en fil efterfølgende ??

Skrevet lør. d. 05. marts 2011 kl. 17:28:12| #1

heinzdmx
heinzdmx (23.760 point)
Har du styr på hvordan du laver et basalt program?

Du skal have:

Layout i en xml fil
- Der findes TextView der bruges til input af tegn

Kode:
- Validering af input
- Skal det gemmes på telefonen eller skal det sendes over netværket til en server?

Skrevet lør. d. 05. marts 2011 kl. 18:16:01| #2

ra__mus
ra__mus (7.031 point)
er rimelig ny i det.
Men okay jeg vil prøve at lave det layout i TextView,
men aner ikke hvordan jeg får det lavet som en form og sendt det videre i en fil ?? Det skal gemmes i en fil på en server...

Vil jo lave det som med en form i html.. og action=post..er godt klar over det er noget hel andet her, men mere for at forklare hvad det skal gøre...

Skrevet lør. d. 05. marts 2011 kl. 18:33:58| #3

Pkallesoe
Pkallesoe (4.735 point)
Hvis du intet aner om det, så vil jeg foreslå dig at gå igennem nogle tutorials omkring emnet, der er en del på nettet - og læse mere ind i xml

Skrevet lør. d. 05. marts 2011 kl. 18:38:34| #4

heinzdmx
heinzdmx (23.760 point)
Behøver det så være et decideret app til Android?

Kan du ikke nøjes med at man går til en adresse på telefonen hvor der er de html elementer der skal til for at give de oplysninger der skal bruges?

Så kan du lave et kortlink med QR-codes. På den måde irritere du ikke brugere med at de skal installere et program for blot at udfylde en web-survery

Skrevet lør. d. 05. marts 2011 kl. 19:49:56| #5


Skrevet søn. d. 06. marts 2011 kl. 10:28:14| #6

ra__mus
ra__mus (7.031 point)
Heinz
Det er til en app det skal bruges...
Kan godt lave text view , mere det med at få det indtastede sendt videre i en fil...?

Skrevet søn. d. 06. marts 2011 kl. 11:28:25| #7

heinzdmx
heinzdmx (23.760 point)
Så skal du jo bare lave en url ala ?navn=textview1&alder=textview2

Så kan du lave en post med det. Det kræver at du i dit manifest skriver at du skal have internet rettigheder, det kan du prøve at Google

På serveren kan du så lave det som du ville med en hvilken som helst anden side

Skrevet søn. d. 06. marts 2011 kl. 12:11:37| #8

ra__mus
ra__mus (7.031 point)
heinz
du er nødt til at forklare lidt mere detaljeret hvor jeg skal lave den url...
altså skal jo lave en aktivitet med det i java fil, men hvad skal jeg skrive der ??

Skrevet søn. d. 06. marts 2011 kl. 16:22:53| #9

arne_v
arne_v (1.016.169 point)
Vil du gemme i en fil på telefonen eller i en fil på en central server?

Skrevet søn. d. 06. marts 2011 kl. 16:26:40| #10

ra__mus
ra__mus (7.031 point)
Det skal være i en fil på en central server...som jeg så kan læse informationerne ind fra igen i et listeview..

Skrevet søn. d. 06. marts 2011 kl. 16:31:35| #11

arne_v
arne_v (1.016.169 point)
Så skal du kigge på HTTP.

Android kommer med HttpClient til at lave GET pg POST med.

Skrevet søn. d. 06. marts 2011 kl. 17:13:41| #12

ra__mus
ra__mus (7.031 point)
Ved du hvor jeg kan finde noget om det ?

Skrevet søn. d. 06. marts 2011 kl. 17:22:49| #13


Skrevet søn. d. 06. marts 2011 kl. 18:16:14| #14

ra__mus
ra__mus (7.031 point)
Fint, men kunne måske godt her i starten tænke mig nogle eksempler på det, den måde kan jeg bedst lære det på...du har ikke eller ved hvor jeg kan finde noget kode ? Har forsøgt at søge på det uden held..

Skrevet søn. d. 06. marts 2011 kl. 18:43:15| #15

heinzdmx
heinzdmx (23.760 point)
Her er et eksemple:
http://www.ibm.com/ (...)

Den bruger en seperat tråd (den der hedder Requester) så programmet ikke går i ANR (svarer ikke) mens der postes.

Skrevet søn. d. 06. marts 2011 kl. 21:30:28| #16

arne_v
arne_v (1.016.169 point)
Der er rigtigt mange google hits på:
  android httpclient example

Jeg faldt bl.a. over:
  http://www.remwebdevelopment.com/ (...)

Skrevet tir. d. 08. marts 2011 kl. 12:22:41| #17

ra__mus
ra__mus (7.031 point)
Jeg har nu gjort det at jeg har data liggende i en tekstfil..som jeg så skal have uploadet til webserveren.. hvordan er det man gør der ?
data i tekstfilen er nogle jeg selv har indtastet..

Så mangler også stadig at brugeren kan indtaste data i editwiew i android og de så kommer over i en tekstfil, istedet for jeg selv indtaster dem direkte i filen..
Nogen der har et eksempel på et editwiew med data, hvor der klikkes på en send button og der så skrives til en fil ?

Skrevet tir. d. 08. marts 2011 kl. 16:58:51| #18

heinzdmx
heinzdmx (23.760 point)
I stedet for at gemme filen lokalt kunne du jo i stedet have alle data i den url du kan sende afsted til serveren. På den måde kan serveren returnere "true", hvis det fik godt og en fejlmeddelse eller bare "false" hvis det ikke gik godt?

Og tag nu at kig på det link Arne har givet dig her til sidst. Der er den fulde klasse til at lave en forespørgsmål på en url og få et tilbagesvar.

men kort uden svar:
String url = "websermedhttp/p.php?Navn=" + ((EditText)findViewById(R.id.url)).getText().toString();

HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
try{
    HttpResponse response = client.execute(request);
    txtResult.setText(HttpHelper.request(response));
}
catch(Exception ex){
            txtResult.setText("Failed!");
        }

Skrevet tir. d. 08. marts 2011 kl. 17:25:13| #19

ra__mus
ra__mus (7.031 point)
det link arne har givet i #16 , viser det ikke hvordan man får data fra webserveren ??
Jeg skal jo sende en fil til webserveren ....

Skrevet tir. d. 08. marts 2011 kl. 17:35:36| #20

heinzdmx
heinzdmx (23.760 point)
Øhhh nu modsiger du dig selv.

At få data fra webserveren er ikke det samme som at sende en fil til webserveren.

Og desuden hvorfor er det ikke fint nok at du gør det i URL, indeholder det billeder eller noget der ikke kan overføres i tekst form?

Skrevet tir. d. 08. marts 2011 kl. 17:48:39| #21

ra__mus
ra__mus (7.031 point)
modsiger jeg mig selv ??
skal sende en fil til serveren.
url er også fint. jeg kan bare se at det link som arne viser et at trække data fra serveren, så det kan jeg vil ikke bruge når jeg skal sende eller hvad ??

Skrevet tir. d. 08. marts 2011 kl. 18:04:00| #22

heinzdmx
heinzdmx (23.760 point)
Du skal jo ikke trække data fra en server når du sender data til en server.

Men jo det kan du godt.

HttpHelper henter responsen fra serveren og viser den i et tekstfelt.

Skrevet tir. d. 08. marts 2011 kl. 18:22:18| #23

ra__mus
ra__mus (7.031 point)
Ved du hvordan man sender data til serveren ?
er det med det du skriver i #18 ??

ved ikke om vi har misforstået hinanden...

Skrevet tir. d. 08. marts 2011 kl. 18:48:18| #24

heinzdmx
heinzdmx (23.760 point)
Min ide var bare at du kunne skrive det i URL:

php?navn=ditnavn&alder=dinalder

Osv.

Det kan bruges hvis det er kort mængde data der skal overføres.

Hvis du skal uploade en fil:
http://getablogger.blogspot.com/ (...)

Skrevet tir. d. 08. marts 2011 kl. 19:00:39| #25

ra__mus
ra__mus (7.031 point)
Fint så skal jeg bare bruge en xml fil...hvor brugere kan indtaste værdier...kan du hjælpe med det så det virker sammen med det du har linket til ? Det ville være super..

Skrevet tir. d. 08. marts 2011 kl. 19:05:35| #26

heinzdmx
heinzdmx (23.760 point)
En xml fil til hvad?

Skrevet tir. d. 08. marts 2011 kl. 19:21:47| #27

ra__mus
ra__mus (7.031 point)
jeg skal jo give brugere mulighed for at indtaste vædrier i nogle editviews i android og de skal så klikke på "send" og herefter skal de skrives til en tekstfil som så sendes til serveren.
Og skærmbilledet i android dannes jo udfra xml filen der indeholder disse eitviews, og der skal jo også noget java kode til at behandle de indtastede værdier så de kan skrives til en fil..

Skrevet tir. d. 08. marts 2011 kl. 19:39:01| #28

heinzdmx
heinzdmx (23.760 point)
Layout kan jeg jo ikke rigtigt hjælpe så meget mere med end hvad der ligger på nogle af de sidder du har kigget på.

Men kort sagt er den jo bygget op af:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/ (...)
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<EditText
android:id="@+id/Navn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""
/>
<Button
android:id="@+id/buttonUpload"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Upload"
/>
</LinearLayout>


Du laver så lige så mange EditText som du vil, men husk at android:id skal være unikt.

Herefter kan du få teksten ud i kode vha.:

((EditText)findViewById(R.id.Navn)).getText().toString()

Skrevet tir. d. 08. marts 2011 kl. 20:16:43| #29

ra__mus
ra__mus (7.031 point)
den brokkker sig over EditText i den nederste kode ??
cannot find symbol.....

Skrevet tir. d. 08. marts 2011 kl. 20:52:02| #30

heinzdmx
heinzdmx (23.760 point)
Hvad bruger du til at udvikle?

Hvis det er Eclipse, så prøv projekt -> clean projekt data

Skrevet tir. d. 08. marts 2011 kl. 21:10:11| #31

ra__mus
ra__mus (7.031 point)
det var fordi jeg bruger textview i dette tilfælde :)
men der bliver ikke skrevet noget til skærmen.. så skal vel give en metode kommando for at få det ud på skærmen ??

Skrevet tir. d. 08. marts 2011 kl. 21:39:35| #32

heinzdmx
heinzdmx (23.760 point)
Hvis brugeren skal kunne indtaste data så skal du jo bruge en EditText ??

Skrevet tir. d. 08. marts 2011 kl. 22:08:01| #33

ra__mus
ra__mus (7.031 point)
ja ved jeg godt. men det vare lige et felt som ikke skal kunne indtastes i...men ved sgu ik lige hvordan jeg får det frem på skærmen...det er sådan at ,an klikker i et listeview på startskærmen og så kommer man til den anden skærm hvor textviewet skal være og der skal den så skrive noget som er afhængig af hvilket textview man klikkede på på forsiden...
men ved ik lige hvordan jeg får overført det ??

Skrevet tir. d. 08. marts 2011 kl. 22:52:42| #34

heinzdmx
heinzdmx (23.760 point)
Så skal du bruge Bundle.

Følgende er hvad jeg gør i et af mine Android programmer:

I din activity der, her Main der kalder en ny activity her kaldet New

ListView lv = getListView();

lv.setOnItemClickListener(new OnItemClickListener()
{
    public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id)
    {
            String viewText = (String) ((TextView) view).getText();
    Intent tempIntent = new Intent(Main.this, New.class);
    tempIntent.putExtra("Text", viewText);
    startActivity(tempIntent);
    tempIntent = null;
    }
});


Og i New

Bundle extras = getIntent().getExtras();
Log.e("Test", extras.getString("Text"));


Der bør lave et output til logcat der indeholder hvad din listViews text var.

Skrevet søn. d. 20. november 2011 kl. 16:46:31| #35

ra__mus
ra__mus (7.031 point)
læg et svar heinz :-)

Skrevet søn. d. 20. november 2011 kl. 20:55:53| #36


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

How to try my form spam filter?

Oprettet den 24. maj 2012 kl. 21.07
fredand giver 30 point for svar | Giv et svar »

problemer med at oprette en objekt i en while løkke

Oprettet den 23. maj 2012 kl. 09.59
Driton giver 100 point for svar | Giv et svar »

print funktion

Oprettet den 18. maj 2012 kl. 21.41
changelevel giver 30 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger