Skocz do zawartości

Znajdź zawartość

Wyświetlanie wyników dla tagów 'xml' .



Więcej opcji wyszukiwania

  • Wyszukaj za pomocą tagów

    Wpisz tagi, oddzielając je przecinkami.
  • Wyszukaj przy użyciu nazwy użytkownika

Typ zawartości


Forum

  • Społeczność android.com.pl
    • Regulaminy Forum
    • Przywitaj się!
    • Android.com.pl
    • Konkursy
    • OFF-Topic
  • Android
    • Nowości i plotki
    • FAQ Android
    • Android 10
    • Android 9.0 Pie
    • Android 8.0 Oreo
    • Android 7.0 Nougat
    • Android 6.0 Marshmallow
    • Android 5.0 Lollipop
    • Android 4.4 KitKat
    • Archiwum Android
    • Software PC
  • Gry i Aplikacje
    • Aplikacje Android
    • Gry Android
    • Poszukiwania gier i aplikacji
    • Porównania gier i aplikacji
    • Android Wear - Smartwatch
    • Modyfikacje Wizualne
    • Download
    • Multimedia
  • Co i gdzie kupić?
  • Programowanie
  • Modyfikacje Android OS
  • Elektronika
  • Honor
  • Google
  • HTC
  • LG
  • Samsung
  • Sony
  • Motorola
  • Huawei
  • Xiaomi / MIUI
  • OnePlus
  • Lenovo
  • Asus
  • myPhone
  • Pozostałe marki

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Od tej daty

    Do tej daty


Ostatnia aktualizacja

  • Od tej daty

    Do tej daty


Filtruj po ilości...

Znaleziono 26 wyników

  1. Hejka! chcę zbudować prosty program magazynowy i mam problem. Chciałbym zwielokrotnić produkty i opcje dodaj / odejmij i nie potrafię tego zrobić. Coś już zacząłem kombinować, ale że jestem na początku przygody z java, muszę prosić o jakąś podpowiedź. Z góry dzięki za pomoc dla początkującego DOTYCHCZASOWY REZULTAT: DZIAŁAJĄ NA RAZ DWA PRODUKTY, JAK WCISKAM + TO ROSNĄ STANY DWÓCH PRODUKTÓW. ZAŁĄCZYŁEM SCREEN-SHOT xml 2 produkty, a każdy ma: 2 buttony DODAJ + i - ODEJMIJ nazwa produktu i stan początkowy <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" tools:context=".MainActivity" android:orientation="horizontal"> <!--- pierwszy produkt A01> --> <!--- DODANIE STANU --> <Button android:id="@+id/increment" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="+" android:onClick="increment"/> <!--- STAN POCZĄTKOWY --> <TextView android:id="@+id/skuA01_text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0" /> <!--- NAZWA PRODUKTU --> <TextView android:id="@+id/SkuNumer_text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="A01" /> <!--- ODJĘCIE STANU --> <Button android:id="@+id/decrement" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="-" android:onClick="decrement"/> <!--- drugi produkt A02> --> <Button android:id="@+id/increment2" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="+" android:onClick="increment2"/> <TextView android:id="@+id/skuA02_text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0" /> <TextView android:id="@+id/skuNumer_text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="A02" /> <Button android:id="@+id/decrement2" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="-" android:onClick="decrement2"/> </LinearLayout> i JAVA /** * IMPORTANT: Add your package below. Package name can be found in the project's AndroidManifest.xml file. * This is the package name our example uses: * * package com.example.android.justjava; * */ package com.example.android.justjava; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.TextView; /** * This app displays an order form to order coffee. */ public class MainActivity extends AppCompatActivity { int skuA01 = 0; int skuA02 = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** * This method is called when the plus button is clicked. */ public void increment (View view) { skuA01 = skuA01 + 1; display(skuA01); } /** * This method is called when the minus button is clicked. */ public void decrement(View view) { skuA01 = skuA01 - 1; display(skuA01); } public void increment2 (View view) { skuA02 = skuA02 + 1; display(skuA02); } public void decrement2(View view) { skuA02 = skuA02 - 1; display(skuA02); } /** * This method displays the given quantity value on the screen. */ private void display(int number) { TextView skuA01TextView = (TextView) findViewById(R.id.skuA01_text_view); skuA01TextView.setText("" + number); TextView skuA02TextView = (TextView) findViewById(R.id.skuA02_text_view); skuA02TextView.setText("" + number); } }
  2. Tworzę swoją pierwszą "większą" aplikację i utknąłem. Mam klasę: //xml public class BackgroundAsyncTask extends AsyncTask<String, Void, String>{ @Override protected String doInBackground(String ...params) { URL url = null; String returnedResult = ""; try { url = new URL(params[0]); } catch (MalformedURLException e) { e.printStackTrace(); } HttpURLConnection conn = null; try { conn = (HttpURLConnection)url.openConnection(); conn.setReadTimeout(10000); conn.setConnectTimeout(20000); conn.setRequestMethod("GET"); conn.setDoInput(true); conn.connect(); InputStream is = conn.getInputStream(); parser.setInput(is, null); returnedResult = getLoadedXmlValues(parser); } catch (IOException e) { e.printStackTrace(); } catch (XmlPullParserException e) { e.printStackTrace(); } return returnedResult; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); if(!s.equals("")){ displayXmlContent.setText(s); } } private String getLoadedXmlValues(XmlPullParser parser) throws XmlPullParserException, IOException { int eventType = parser.getEventType(); String name = null; pogoda.BackgroundAsyncTask.Entity mEntity = new pogoda.BackgroundAsyncTask.Entity(); while (eventType != XmlPullParser.END_DOCUMENT){ if(eventType == XmlPullParser.START_TAG){ name = parser.getName(); if(name.equals("act_model_date")){ mEntity.act_model_date = parser.nextText(); } } eventType = parser.next(); } return mEntity.act_model_date.replace(" ",""); } public class Entity{ public String act_model_date; } } Wszystko super //xml pogoda.BackgroundAsyncTask backgroundAsyncTask = new pogoda.BackgroundAsyncTask(); backgroundAsyncTask.execute(xmlPath); try { xmlPullParserFactory = XmlPullParserFactory.newInstance(); xmlPullParserFactory.setNamespaceAware(false); parser = xmlPullParserFactory.newPullParser(); } catch (XmlPullParserException e) { e.printStackTrace(); } displayXmlContent = (TextView)findViewById(R.id.display_xml); Ładnie wyświetla się w text view. Natomiast najważniejszym elementem jest wyświetlenie aktualnej pogody, a żeby całość zadziałała muszę pobrać aktualną datę z xml. Robię to w ten sposób: new pogoda.DownloadImageFromInternet((ImageView) findViewById(R.id.imageView16)) .execute("http://www.meteo.pl/um/metco/mgram_pict.php?ntype=0u&fdate="+displayXmlContent+"&row=461&col=215&lang=pl"); Natomiast +displayXmlContent+ nie działa. Proszę Was o pomoc. Co zrobić, aby dodać do linku dane z XML? Zamienić zmienną w stinga? Jak to zrobić? Z góry dziękuję! dodana zawartość Pytanie dodatkowe, także mam z tym problem. Próbowałem "wszystkie" i niestety nadal nie działa. Otóż... co jeśli pobierany plik XML ma więcej danych? Które nazywają się tak samo, a mają inne wartości? Serdeczna prośba o podpowiedź.
  3. Witam, Jeśli poszukujesz nowych wyzwań i chcesz rozwijać się zawodowo, a jednocześnie masz dosyć korporacji ze sztywnymi procedurami postępowania – mam dla Ciebie świetną ofertę pracy! IMPAQ oferuje pracę w doświadczonym zespole programistów przy projektach realizowanych w nowych technologiach i w przemiłej atmosferze J Naszym pracownikom oferujemy: • umowę o pracę lub długoterminowy kontrakt (z pakietem benefitów) • przyjazne środowisko pracy, wsparcie merytoryczne i szkolenia wewnętrzne • elastyczne godziny pracy, • promujemy: pisanie czystego kodu, nacisk na testowalność kodu, wzorce projektowe Kluczowe kompetencje na stanowisku: • dobra znajomość języka Java i technologii JEE, • znajomość Spring, Hibernate, • doświadczenie w wykonywaniu rozwiązań na podstawie wymagań, • znajomość relacyjnych baz danych i SQL ze szczególnym uwzględnieniem bazy Oracle, • znajomość XML oraz technologii z nim związanych, • znajomość wzorców projektowych i architektonicznych, • znajomość serwerów aplikacyjnych Tomcat, Jetty, • znajomość narzędzi do automatyzacji procesu budowania oprogramowania MAVEN2, Ant, • umiejętność organizacji pracy własnej oraz współpracy w zespole, • Dobra znajomość języka angielskiego Lokalizacja: Warszawa, Poznań lub Lublin Jeśli masz jakieś pytania odnośnie naszej oferty – pisz śmiało, odpowiemy na wszystkie pytania. Ponadto, jeśli znasz kogoś, kto byłby zainteresowany tą ofertą, również proszę o kontakt. CV proszę przesyłać na maila: [email protected] Pozdrawiam serdecznie, Edyta Zarzeczna
  4. Witajcie, czy pisząc dużą ilość tekstu w aplikacji mobilnej wpisujemy ją w xml'u czy innym pliku, który importujemy do Android Studio? Dzięki i pozdrawiam.
  5. piotrsg

    Edycja theme

    Hej, czy można edytować theme? Mam np Holo.light i chciałbym żeby np edittext był zielony zamiast niebieskiego (przykład z głowy). Mozna to jakoś przeedytować? Gdzie w ogóle sa pliki opisujące theme?
  6. Software Android Manager @ CROSSOVER ESSENTIALS: Location: Warsaw, Poland Employment Type: Permanent Start Date: ASAP Salary (gross): 4500 - 5500 USD / Month Project Industry: Software House/Fortune 500 Company Company Size: 2500+ Project Team Size: Various REQUIREMENTS - MUST HAVE: - Ajax - Android Studio - HTML5 - Java 8 - JavaScript - jQuery - JSON - OO programming and design patterns - REST - SOAP - XML REQUIREMENTS - NICE TO HAVE: - APIs and Web Services - iOS SDK - Maps (Google, ArcGis) - Server-side technologies More info and apply form on nofluffjobs.com https://nofluffjobs.com/job/Software/Android/Manager/projectManager/CROSSOVER/NJWMMABC -- https://nofluffjobs.co
  7. Khuzyy

    Parsowanie xml

    Witam, jestem w trakcie robienia aplikacji pogodowej, która polega na sciąganiu aktualnej pogody z http://api.openweathermap.org/. Wykorzystuje do tego AsyncTask i problem polega na tym , że aplikacja nie znajduje określonego tagu( przynajmniej tak mi się wydaję), nie wyrzuca zadnego wyjątku, nie zatrzymuje się. Działa ale nie daje rezultatu. O to poszczególne kody: XML: <current> <city id="756135" name="Warsaw"> <coord lon="21.01" lat="52.23"/> <country>PL</country> <sun rise="2016-08-15T03:20:37" set="2016-08-15T17:58:46"/> </city> <temperature value="294.48" min="292.59" max="295.93" unit="kelvin"/> <humidity value="65" unit="%"/> <pressure value="1018" unit="hPa"/> <wind> <speed value="5.36" name="Gentle Breeze"/> <gusts/> <direction value="276.505" code="W" name="West"/> </wind> <clouds value="12" name="few clouds"/> <visibility/> <precipitation value="24.65" mode="rain" unit="1h"/> <weather number="503" value="very heavy rain" icon="10d"/> <lastupdate value="2016-08-15T12:03:56"/> </current> Klasa Weather,java: public class Weather extends AsyncTask<String[],Void,String[]> { private MainActivity activity; private XmlPullParserFactory factoryObj; private String url; private ProgressDialog pDialog; public Weather(MainActivity activity, String url) { this.activity = activity; this.url = url; } @Override protected void onPreExecute() { super.onPreExecute(); pDialog = new ProgressDialog(activity); pDialog.setMessage("Loading..."); pDialog.setTitle("Please wait"); pDialog.show(); } @Override protected String[] doInBackground(String[]... params) { try{ URL myurl = new URL(url); HttpURLConnection connection = (HttpURLConnection) myurl.openConnection(); connection.setReadTimeout(10000 /* milliseconds */); connection.setConnectTimeout(15000 /* milliseconds */); connection.setRequestMethod("GET"); connection.setDoInput(true); connection.connect(); InputStream stream = connection.getInputStream(); factoryObj = XmlPullParserFactory.newInstance(); XmlPullParser parser = factoryObj.newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES,false); parser.setInput(stream,null); String[] result = parseXML(parser); stream.close(); return result; }catch(Exception e) { e.printStackTrace(); return null; } } public String[] parseXML(XmlPullParser parser) throws IOException,XmlPullParserException{ int event; String text=null; String[] result =new String[1]; event = parser.getEventType(); while(event != XmlPullParser.END_DOCUMENT){ String name = parser.getName(); switch(event){ case XmlPullParser.START_TAG: break; case XmlPullParser.TEXT: break; case XmlPullParser.END_TAG: if(name.equals("temperature")) result[0] = parser.getAttributeValue(null,"value"); break; } event = parser.next(); } return result; } @Override protected void onPostExecute(String[] result) { super.onPostExecute(result); pDialog.dismiss(); activity.callBackData(result); } } oraz MainActivity.java: public class MainActivity extends Activity { TextView temp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); temp = (TextView) findViewById(R.id.temptextView); String url ="http://api.openweathermap.org/data/2.5/weather?q=warsaw&mode=xml&appid=35fae97674d2f8032b66a35addf05450"; new Weather(this,url).execute(); } public void callBackData(String[] result) { temp.setText(result[0]); } } Z góry dziękuje za wszelką pomoc
  8. Witam, w moim programie duża cześć jego funkcjonalności działa tylko na terenie Europy, reszta działa na całym świecie. Pytanie jak wyłączyć w krajach z poza Europy MenuItems, preferencje, buttony w zależności od kraju, w którym program jest uruchomiony? Wiem oczywiście do czego służą foldery z odpowiednimi qualifier names w /res tyle, że nie uśmiecha mi się tworzenie przeszło 130 x /res/xml itd. różnych folderów i myślę nad jakimś rozwiązaniem programistycznym. Czy stworzenie statycznej klasy pomocniczej z tabelą krajów, w której dana funkcjonalność dział i włączanie/wyłączanie wyłączanie poszczególnych menu itemów, buttonów itd. na podstawie takiej tabeli jest dobrym pomysłem? Ewentualnie może jakiś skrypt bash albo jakiś program by przyspieszył sprawę tworzenia tych folderów?
  9. witam chciałem się was zapytać czy istnieje możliwość utworzenia w np. TextView, w którym tło jest przezroczyste obramowania które nie ma jednolitego koloru, tylko żeby kolor tego obramowania był gradientem coś jak w obrazku poniżej: Próbowałem zrobić tak: <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <layer-list> <item> <shape> <corners android:radius="30dp"/> <gradient android:angle="270" android:startColor="#000000" android:endColor="#cccccc"/> </shape> </item> <item android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp"> <shape> <corners android:radius="30dp"/> <solid android:color="#e5e5e5"/> </shape> </item> </layer-list> </item> </selector> Dwie warstwy - warstwa "pod spodem" ma tło gradientu a warstwa "na wierzchu" jest mniejsza z każdej strony o 2dp i jest biała, tylko właśnie wtedy przezroczytosci nie ustawie tak jak na obrazku powyżej, gdyż jest przezroczysta względem niższej warstwy.. Czy moglibyście mi pomóc ?
  10. Witam! Dodałem do TextView obrazek w pliku xml: <TextView android:id="@+id/TextView11" android:text="11" android:layout_weight = "1" android:layout_height = "57dp" android:background = "@color/White" android:gravity="top|center_horizontal" android:drawableBottom="@drawable/my_picture" //tutaj dodajemy obrazek android:textSize = "20dp" /> Teraz w pliku .java chciałbym móc ingerować w jego widoczność. Znalazłem więc metodę getCompoundDrawables() i poprzez nią staram się dobrać do pożądanego obrazka. Robię to tak: textView.getCompoundDrawables()[3].setVisible(false, false); // czwarty element tablicy, ponieważ referuję do obrazka położonego pod tekstem (bottom) Problem polega na tym, że obrazek nadal jest widoczny. Sprawdziłem metodą: textView.getCompoundDrawables()[3].isVisible() ona zaś zwraca wartość "false". Nie mam pomysłu z której strony ugryźć problem, byłbym wdzięczny za każdą wskazówkę Pozdrawiam serdecznie
  11. Glorifind

    Przenoszenie layoutu z PSD do XML

    Cześć, jest to mój pierwszy post tutaj dlatego chciałem wszystkich serdecznie przywitać. Ostatnimi czasy próbuję nauczyć się tworzenia aplikacji i mam pewne wątpliwości co do przenoszenia layoutów z psd. Otóż według developer.android.com w plikach xml należy używać jednostek dp do grafiki i sp do tekstu. Znalazłem też bardzo interesujący post na stackoverflow. Jednak mam jeszcze wątpliwości. Otóż mam projekt w pliku PSD który ma wymiar 320px szerokości i 1140px wysokości. Oczywiście (a może i nie?) wysokość nie jest dla nas tak istotna jak szerokość. Posiłkując się powyższymi tekstami przyjąłem, że jeśli płótno w photoshopie ma 320px to w takim razie projektując layout dla rozdzielczości mdpi 1px w ps powinien odpowiadać 1 dp a 1px fonta powinien odpowiadać 1sp. Jednak nie do końca tak to wygląda. Szczególnie jeżeli chodzi o fonty - zazwyczaj muszę ich wielkość dzielić na pół aby layout w xmlu wyglądał mniej więcej tak jak w photoshopie. Większe są również marginesy ustawiane w dp czy paddingi. Nie mam pojęcia gdzie tkwi mój błąd (czy to techniczny, czy to w rozumowaniu) i będę wdzięczy za każdą okazaną pomoc.
  12. Witam Napisałem kod który ma wyciągnąć kurs średni wybranej waluty ze strony internetowej. Niestety kod który wydaje mi się poprawny coś nie spełnia swoich wymagań ponieważ wypisuje html zamaist wartości public class HTML { private String _nameCurrency,_rate="html"; HTML(String nam){ this._nameCurrency=nam; } private XmlPullParserFactory xmlFactoryObject; public volatile boolean parsingComplete = true; public String getRate(){ return _rate; } public void parseXMLAndStoreIt(XmlPullParser myParser) { ArrayList<Currency> _currencyList=null; Currency _currency=null; int event; String text=null; try { event = myParser.getEventType(); while (event != XmlPullParser.END_DOCUMENT) { String name=null; switch (event) { case XmlPullParser.START_TAG: name = myParser.getName(); if (name == "pozycja") { _currency = new Currency(); } else if (_currency != null) { if (name == "nazwa_waluty") { _currency.name = myParser.nextText(); } else if (name == "przelicznik") { _currency.number = myParser.nextText(); } else if (name == "kod_waluty") { _currency.kod = myParser.nextText(); } else if (name == "kurs_sredni") { _currency.rate = myParser.nextText(); } } break; case XmlPullParser.END_TAG: name = myParser.getName(); if (name.equalsIgnoreCase("pozycja") && _currency != null) { _currencyList.add(_currency); } break; } event = myParser.next(); } parsingComplete = false; } catch (Exception e) { e.printStackTrace(); } for(Currency tmp: _currencyList){ if (tmp.name==_nameCurrency) _rate=tmp.getRate(); } } public void fetchXML() { Thread thread = new Thread(new Runnable() { @Override public void run() { try { URL url = new URL("http://www.nbp.pl/kursy/xml/a103z150529.xml"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setReadTimeout(10000); conn.setConnectTimeout(15000); conn.setRequestMethod("GET"); conn.setDoInput(true); conn.connect(); InputStream stream = conn.getInputStream(); xmlFactoryObject = XmlPullParserFactory.newInstance(); XmlPullParser myparser = xmlFactoryObject.newPullParser(); myparser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); myparser.setInput(stream, null); parseXMLAndStoreIt(myparser); stream.close(); } catch (Exception e) { e.printStackTrace(); } } }); } }
  13. Witam mam problem z pobieraniem kursów walut do tablicy. Chciałbym aby pobrane kursy średnie dla danych walut były zapisywane w tablicy aby można było je dalej łatwo wykorzystać do przeliczania. Stworzyłem przycisk który ma wykonywac aktualizację tych kursów, lecz na androidzie wyskakuje bład android.os.NetworkOnMainThreadException. Dodałem do kodu <uses-permission android:name="android.permission.INTERNET" /> lecz nadal nie działa. Oto kod dla aktualizacji: public void onClick(View vv) { TextView kod_waluty[]; TextView kurs_sredni[]; try { URL url = new URL("http://www.nbp.pl/kursy/xml/LastA.xml"); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new InputSource(url.openStream())); doc.getDocumentElement().normalize(); NodeList nodeList = doc.getElementsByTagName("pozycja"); kod_waluty = new TextView[nodeList.getLength()]; kurs_sredni = new TextView[nodeList.getLength()]; for (int i = 0; i < nodeList.getLength(); i++) { Node node = nodeList.item(i); Element kodElmnt = (Element) node; NodeList kodList = kodElmnt.getElementsByTagName("kod_waluty"); Element kodElement = (Element) kodList.item(0); kodList = kodElement.getChildNodes(); kod_waluty[i].setText(((Node) kodList.item(0)).getNodeValue()); Element kursElmnt = (Element) node; NodeList kursList = kursElmnt.getElementsByTagName("kurs_sredni"); Element kursElement = (Element) kursList.item(0); kodList = kursElement.getChildNodes(); kurs_sredni[i].setText(((Node) kursList.item(0)).getNodeValue()); } } catch (Exception e) { onClick.setText("Blad: " + e); } }
  14. Przy próbie "Run" wywali mi "Error:(75) Error parsing XML: mismatched tag" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MyActivity"> <TabHost android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/tabHost" android:layout_weight="1"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content"></TabWidget> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:id="@+id/Calc" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="number" android:ems="10" android:id="@+id/InWiek" android:layout_gravity="center_horizontal" android:layout_marginTop="50dp" android:hint="Your Age" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="number" android:ems="10" android:id="@+id/InTspocz" android:layout_marginTop="25dp" android:hint="Your resting heart rate (Hint)" /> <Button android:layout_width="100dp" android:layout_height="50dp" android:id="@+id/Btn" android:layout_gravity="center_horizontal" android:layout_marginTop="40dp" android:hint="Do it" /> </LinearLayout> <LinearLayout android:id="@+id/Hints" android:layout_width="fill_parent" android:layout_height="fill_parent"> </LinearLayout> </FrameLayout> </TabHost> </LinearLayout> </TabHost> </LinearLayout> Nie moge dojść jakiego zamknięcia tam zabrkało ::/ ---------- Post dołączono o 04:30 ---------- Poprzedni post napisano o 04:14 ---------- Chyba już za długo siedze.... Był tam jeden "</TabHost>" za dużo. Temat można usunąć
  15. Witam! Utkwiłem i to chyba na dobre. Hobbystycznie modyfikuje aplikację mobilną. Modyfikacja miała polegać na: Dodaniu do menu rozwijanego nowych pozycji i wyedytowaniu starych (udało się po edycji pliku arrays.xml) pozycje z menu odnoszą się do danych kontaktowych, czyli po wybraniu z menu opcji kontakt wyswietla sie lista osób, i tę liste wyedytowałem w xml, nastepnie po kliknięciu w osobe z listy aplikacja wyświetla dane tej osoby jak imię nazwisko numery telefonów i mail. Udało sie to pozamieniać w pliku ActivitiContact.smali i działa. Nie udało mi się dopisać do pliku ActivitiContact.smali danych o nowych kontaktach. Aplikację apk zdekompilowałem pozmieniałem co potrafiłem, skompilowałem i pdpisałem - więc tutaj problemów nie ma. Problem jest w kodzie pliku smali do którego odnosi się lista kontaktów z manu. Może jest jakieś narzędzie wizualne, które pomoże w dopisaniu kodu lub jego analizie? ---------- Post dołączono o 23:50 ---------- Poprzedni post napisano o 16:40 ---------- Na wstępie przepraszam za długi listing i może nie tak powinien być tu pokazany. Proszę o podpowiedź jakąś mądrą głowę. Plik ContactActivity.smali : Do pliku xml wiem jak dodac pozycje, wiadomo. natomiast w smali jest klopot. kompiluje sie ale wywala apkę. Edit: Jestem w czarnej <ciach>, a juz myślałem że problem rozwiązałem. 1. Apk zamieniłem na zip, zmieniając rozszerzenie pliku i rozpakowałem potem winrarem, 2. wziałem sobie plik classes.dex i go przetworzyłem programem dex2jar do jar, w środku otrzymałem pliki class 3. Zdekompilowałem jar programem jd-gui i otrzymałem pliki java 4. Poprawiłem co trzeba. 5 nie mogę znaleźć drogi powrotnej. wszystko, albo przynajmniej dwa pliki java które poprawiłem muszę skompilować do class, ale javac wywala błędy "package android.content.res does not exist" i inne takie o androidzie że mu brakuje innych komponentów. 6 gdyby udało mi się skompilowac te dwapliki do class to popróbowałbym wrócic z tym do classes.dex a to juz prawie koniec pracy. Ma ktoś jakieś pomysły?
  16. Witam! Nie wiem czy w dobrym dziale pisze, wybaczcie jestem tu nowy. Jakoś nigdy nie prosiłem o pomoc na forach, zawsze wolałem sam znaleźć odpowiedz, jednak teraz mi się nie udało, dlatego pisze Znalazłem taki artykuł na xda forum [Guide] Port ICS Lockscreen for Gingerbread Devices without any third party app - xda-developers Z pozoru wydaje się być proste. Jednak blad sie pojawia przy "In that open res\layout paste the downloaded xml files". Gdy to zrobię przy kompilacji framework wywala błąd. (Gdyby ktoś potrzebował mogę dodać log) Z edycja pliku xml to o jest prosta sprawa, ale czy ktoś może wie jak dodać nowy plik do framework'a ?
  17. Witam. Jestem w trakcie tworzenia programu do zarządzania profilami, ale mam problem a:| A mianowicie: -korzystam z klasy SharedPreferences do zapisania ustawień w bieżącym profilu, korzystając z tutoriala SharedPreferences – zapisywanie danych aplikacji | android4devs -tworze sobie plik xml w którym są zapisane ustawienia public class MainActivity extends Activity { private static final String PREFERENCES_NAME = "myPreferences"; private static final String PREFERENCES_TEXT_FIELD = "textField"; private EditText etToSave; private Button btnSave; private SharedPreferences preferences; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); preferences = getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE); etToSave = (EditText) findViewById(R.id.etToSave); btnSave = (Button) findViewById(R.id.btnSave); initButtonOnClick(); restoreData(); } private void initButtonOnClick() { btnSave.setOnClickListener(new OnClickListener() { public void onClick(View v) { saveData(); showToast("Data saved"); } }); } private void showToast(String msg) { Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); } } //Zapisywanie danych private void saveData() { SharedPreferences.Editor preferencesEditor = preferences.edit(); String editTextData = etToSave.getText().toString(); preferencesEditor.putString(PREFERENCES_TEXT_FIELD, editTextData); preferencesEditor.commit(); } //Odczyt danych private void restoreData() { String textFromPreferences = preferences.getString(PREFERENCES_TEXT_FIELD, ""); etToSave.setText(textFromPreferences); } i chciałbym, aby po kliknięciu przycisku "zapisz" każdy profil zapisywał się do osobnego pliku xml np. Profil1.xml, Profil2.xml, Profil3.xml itp. lub pobierał nazwę z pola EditText. Czy ktoś mógłby mi podpowiedzieć jak to zrobić korzystając z klasy SharedPreferences? Z góry wielkie dzięki za jakąkolwiek odpowiedźa;)
  18. Rorschach

    Dostęp do entries spod Activity

    ---------- Post dołączono o 08:11 ---------- Poprzedni post napisano o 22:12 ---------- [/color]Którki update sytuacji: z xmla wyrzuciłem entries, ListView wygląda teraz tak: <ListView android:id="@+id/lvFollowed" android:layout_height="wrap_content" android:layout_width="fill_parent"></ListView> klasa jest skonstruowana w ten sposób: public class Followed extends Activity implements OnClickListener{ Button bAdd; EditText etAdd; ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.followed); bAdd = (Button) findViewById(R.id.bAddfollowed); etAdd = (EditText) findViewById(R.id.etAdded); bAdd.setOnClickListener(this); lv = (ListView) findViewById(R.id.lvFollowed); String[] accounts = getResources().getStringArray(R.array.followed); lv.setAdapter(new ArrayAdapter<String>(getBaseContext(), R.layout.followed, accounts)); } @Override public void onClick(View arg0) { // TODO Auto-generated method stub String account = etAdd.getText().toString(); String[] accounts = getResources().getStringArray(R.array.followed); //accounts //lv.setAdapter(new ArrayAdapter<String>(this, R.layout.followed, accounts)); } } Niestety po wejściu w czynność dostaję Force Close, które włącza się przy funkcji setAdapter. Gdzie tu jest błąd? ---------- Post dołączono o 22:57 ---------- Poprzedni post napisano o 08:11 ---------- SOLVED: wystarczyło poprawić na lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, accounts)); simple_list_item_1, BARDZO WAŻNE jakby ktoś napotkał kiedyś na podobny problem
  19. cyren

    Wczytywanie obszernego pliku xml

    Witam, mam problem z wczytaniem pliku... dużego pliku xml. Plik z layoutem waży 130KB (4770 linijek) :zawstydzony: O ile w smartfonach o lepszej specyfikacji nie ma problemu, o tyle Wildfire sobie z tym nie radzi. Szukałem w google'u, na tym forum i paru innych ale nic konkretnego nie znalazłem.
  20. Przerobiłem właśnie ten tutorial dot. GridView: Grid View | Android Developers Zastanawiam się, jak możnaby zdefiniować wygląd poszczególnych pól używając pliku XML? Chodzi mi o ten fragment kodu: public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView == null) { // if it's not recycled, initialize some attributes imageView = new ImageView(mContext); imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setPadding(8, 8, 8, 8); } else { imageView = (ImageView) convertView; } imageView.setImageResource(mThumbIds[position]); return imageView; } Wydaje mi się, że "kulturalniej" byłoby zdefiniować ten ImageView w xmlu niż w kodzie źródłowym. Próbowałem poradzić sobie z tym sam ale zapomniałem, że z poziomu adaptera nie mogę wywołać funkcji getViewById, więc nie mam jak się odwołać do ImageView'a stworzonego w XMLu. Z góry dzięki za pomoc!
  21. SkubiXTX

    Parsowanie pliku XML

    Witam mam mały problem z parsowaniem pliku xml: http://dl.dropbox.com/u/15624346/szukaj.xml Polega on na tym, że wczytuje się do programu tylko pierwszy znacznik <aws:location ... > a ja chciałbym aby wczytało wszystkie znaczniki. Poniżej mój kod który parsuje plik URL url; try { ProgressDialog dialog = ProgressDialog.show(MainActivity.this, "","Please wait for few seconds...", true); url = new URL("http://dl.dropbox.com/u/15624346/szukaj.xml"]http://dl.dropbox.com/u/15624346/szukaj.xml); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new InputSource(url.openStream())); doc.getDocumentElement().normalize(); NodeList szukajnode = doc.getElementsByTagName("aws:locations"); String wynik[]; String code[]; String country[]; wynik = new String[szukajnode.getLength()]; code = new String[szukajnode.getLength()]; country = new String[szukajnode.getLength()]; for (int i = 0; i < szukajnode.getLength(); i++) { Node node = szukajnode.item(i); Element fstElmnt = (Element) node; NodeList nameList = fstElmnt.getElementsByTagName("aws:location"); Element nameElement = (Element) nameList.item(0); nameList = nameElement.getChildNodes(); wynik[i] = nameElement.getAttribute("cityname"); code[i] = nameElement.getAttribute("citycode"); country[i] = nameElement.getAttribute("countryname"); Log.v("miasto", wynik[i]); Log.v("citycode", code[i]); Log.v("kraj", country[i]); Log.v("len",String.valueOf(szukajnode.getLength())); dialog.dismiss(); } } catch (Exception e) { Toast.makeText(getApplicationContext(),"Błąd pobierania listy wyników szukania",Toast.LENGTH_LONG).show(); e.printStackTrace(); }
  22. Hej! Programowałem ostatnio sporo w WPF i projektowałem formatki w XAMLu, więc sporo sobie obiecywałem po Androidowym XMLu. Tymczasem im więcej o nim czytam, tym bardziej jestem przekonany, że projektować okienka w XMLu po prostu mi się nie opłaca. Najbardziej nie odpowiada mi, że nie mam w kodzie bezpośredniego dostępu do komponentów - za każdym razem muszę zawołać getViewById() i wykonać cast na właściwy view. Wiem, że XAML przy Androidowym XMLu to fajerwerki i porównywać ich nie ma sensu, ale - prawdę mówiąc - oczekiwałem, że choć komponenty będą widoczne poprzez nazwę, bez dodatkowego kodu. Po przeczytaniu dokumentacji na temat dostępu do komponentów natychmiast stwierdziłem, że pierwszym co zrobię, będzie napisanie metody, która na samym początku wczyta wszystkie komponenty do odpowiednich pól klasy, aby ograniczyć liczbę niepotrzebnych wywołań getViewById(). Tyle że jeśli chwilę się zastanowić, to taką implementację już tylko krok dzieli od metody, która oprócz załadowania komponentów do pól activity, chwilę wcześniej po prostu je utworzy (a kodu, na dobrą sprawę, będzie mniej więcej tyle samo - każdy atrybut XMLa wystarczy przepisać na pojedyncze wywołanie settera Javy). Kolejnym aspektem, który mi nie odpowiada jest fakt, iż - z tego, co zrozumiałem (proszę mnie poprawić, jeśli piszę bzdury) - XML jest interpretowany w czasie uruchomienia. Innymi słowy, tak czy kwak ktoś tworzy, jeden po drugim, zaprojektowane wcześniej kontrolki - z tą tylko różnicą, że wcześniej sparsowany musi zostać odpowiedni plik XML. W praktyce więc skorzystanie z XMLa równa się w tym miejscu tylko niewielkiemu opóźnieniu w uruchomieniu programu, efekt końcowy jest taki sam. Dla kontrastu dodam tylko, że XAML podczas kompilacji jest przekształcany w kod C#, więc podczas uruchamiania programu nie ma mowy o żadnym parsowaniu. Natomiast wspomniane rozwiązanie istnieje też w Delphi (mowa o plikach DFM włączanych w zasoby programu). Jestem programistą od kilkunastu lat i po przebrnięciu przez VCL, Windows Forms i - ostatnio - Windows Presentation Foundation z XAMLem argument o możliwości wyklikania interface'u już do mnie nie przemawia, nie pamiętam, kiedy ostatnio użyłem toolboxa do posadzenia kontrolki na formatce Czy poza wspomnianym argumentem istnieją jakieś inne powody, dla których warto korzystać z XMLa? Proszę tylko o właściwe odebranie mojego pytania. Daleko mi od flame-wara pod tytułem "XML w Androidzie jest do kitu", po prostu chcę wybrać wygodniejszy dla mnie sposób programowania, a do tej pory wygodniejsze (i nawet odrobinę wydajniejsze) wydaje mi się konstruowanie layoutu z kodu. Nie mam jednak zbyt dużo doświadczenia w pisaniu Androidowego kodu i być może nieświadomie idę ścieżką, która w późniejszym czasie doprowadzi do utrudnień w rozwijaniu i konserwacji programu. Pozdrawiam -- Spook.
  23. PiotrekK

    Wyświetlanie tekstu bez użycia XML

    Cześć, mam pytanie, chciałbym wyświetlić tekst bez użycia XML Nie chce tego w XML, gdyż nie wiem z góry ile takich "TextSpritów" będzie na danym poziomie Czy jest coś takiego na androidzie? I przydałoby się żeby dało się używać owej funkcji w wielu klasach (nie tak ja w TextView gdzie trzeba było najpierw cośtam zrobić w onCreate. Ja chcę to robić w obojętnie jakiej klasie i funkcji) Z góry dzięki!
  24. piotrpo

    Eksport danych do XML

    Cz w SDK są jakieś klasy, które pozwalają na uproszczenie procesu wygenerowania pliku xml, czy trzeba sobie rzeźbić w stringach?
  25. Dopiero zaczynam się uczyć Javy i programowania na Androida, więc proszę być wyrozumiałym Piszę prostą aplikację, która ma flashować boot.img oraz zamienić jeden plik w systemie. Po co to? Ma to służyć włączeniu/wyłączeniu modu RAM-Hack. Mniejsza o to. Najpierw w onCreate wykonuję komendę "su" aby Superuser.apk dopuścił aplikację do root'a: final Runtime runtime = Runtime.getRuntime(); try { runtime.exec("su"); } catch (IOException e) { e.printStackTrace(); } Następnie zależnie od wciśniętego przycisku wykonuje się kod: button_on.setOnClickListener(new OnClickListener(){ public void onClick(View view){ final Runtime runtime = Runtime.getRuntime(); try { runtime.exec("mkdir /sdcard/laszlo"); runtime.exec("wget -P /sdcard/laszlo adres/rhpack.zip"); runtime.exec("unzip -o /sdcard/laszlo/rhpack.zip -d /sdcard"); runtime.exec("rwsystem"); runtime.exec("flash_image boot /sdcard/1.img"); runtime.exec("cp /sdcard/1.ko /system/lib/modules/wlan.ko"); runtime.exec("rosystem"); runtime.exec("rm -r /sdcard/1.ko"); runtime.exec("rm -r /sdcard/1.img"); runtime.exec("reboot"); //runtime.exec("sh /system/bin/rh_on"); } catch (IOException e) { e.printStackTrace(); } //Toast.makeText(getApplicationContext(), R.string.toast_on, Toast.LENGTH_SHORT).show(); } }); button_off.setOnClickListener(new OnClickListener(){ public void onClick(View view){ final Runtime runtime = Runtime.getRuntime(); try { runtime.exec("mkdir /sdcard/laszlo"); runtime.exec("wget -P /sdcard/laszlo adres/rhpack.zip"); runtime.exec("unzip -o /sdcard/laszlo/rhpack.zip -d /sdcard"); runtime.exec("rwsystem"); runtime.exec("flash_image boot /sdcard/2.img"); runtime.exec("cp /sdcard/2.ko /system/lib/modules/wlan.ko"); runtime.exec("rosystem"); runtime.exec("rm -r /sdcard/2.ko"); runtime.exec("rm -r /sdcard/2.img"); runtime.exec("reboot"); //runtime.exec("sh /system/bin/rh_off"); } catch (IOException e) { e.printStackTrace(); } //Toast.makeText(getApplicationContext(), R.string.toast_off, Toast.LENGTH_SHORT).show(); } }); W logach wywala mi: 03-17 21:53:29.052: INFO/ActivityManager(165): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=pl.zezol.switch_rh/.MainActivity } 03-17 21:53:29.122: INFO/ActivityManager(165): Start proc pl.zezol.switch_rh for activity pl.zezol.switch_rh/.MainActivity: pid=991 uid=10034 gids={1015} 03-17 21:53:29.212: INFO/jdwp(991): Ignoring second debugger -- accepting and dropping 03-17 21:53:29.272: DEBUG/ddm-heap(991): Got feature list request 03-17 21:53:29.682: DEBUG/dalvikvm(991): GC freed 661 objects / 52392 bytes in 101ms 03-17 21:53:30.062: INFO/ActivityManager(165): Displayed activity pl.zezol.switch_rh/.MainActivity: 962 ms (total 962 ms) 03-17 21:53:30.302: DEBUG/su(1002): 10034:10034 pl.zezol.switch_rh executing 0:0 /system/bin/sh 03-17 21:53:34.292: WARN/flash_image(1009): error opening boot: Permission denied 03-17 21:53:34.312: INFO/flash_image(1009): flashing boot from /sdcard/2.img 03-17 21:53:34.312: ERROR/flash_image(1009): error writing boot: Permission denied Nie mam pojęcia jakim prawem nie ma uprawnień, skoro na początku daję "su" i zapamiętuję wybór "Allow" ao.o //Rozwiązane Jeszcze jedno. Najlepiej by było użyć jednego przycisku ToggleButton, ale musiałbym wiedzieć jak przetworzyć wynik komendy "free" w której w "Mem" wartość "total": jeśli jest większa od 100mb to RH jest włączony, jeśli ta wartość jest mniejsza od 100mb to jest wyłączony. Tylko jak to odczytać... Druga sprawa. Jak sparsować XML tak, aby umieścić zawarte w nim dane w widżecie? Stworzyłem mały widżet w którym chciałbym umieścić plan lekcji zależnie od dnia. Użyć jak SAXParsera? Tutaj został użyty plik XML pobrany z sieci. Zrobić to samo tylko wskazać plik na sdcard? Pozdrawiam
x