Skocz do zawartości

Znajdź zawartość

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



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 25 wyników

  1. Witam, Jestem w trakcie pisania aplikacji na androida. Napotkałem problem przy pobraniu ID wiersza z SQLite w Expandable List View. Kod funkcji która jest odpowiedzialna za wyświetlanie id wiersza: public void deldata(View view){ SQLiteDatabase db = friendDbHelper.getReadableDatabase(); Cursor c = db.query(Friend.TABLE_NAME, new String[]{Friend._ID, Friend.NAME}, null,null,null,null,null); while(c.moveToNext()){ String name = c.getString(c.getColumnIndex(Friend.NAME)); long id = c.getLong(c.getColumnIndex(Friend._ID)); Log.e("MainActivity", id + ". "+ c.getPosition()+". " + name); //langs.add(id+ ". "+ c.getPosition()+". " +name); //friendDbHelper.deleteData(id); Toast.makeText(this, "id: " + id, Toast.LENGTH_SHORT).show(); } } W jaki sposób pobrać id wiersza którego klikamy?
  2. Cześć! Tworzę aplikację (zwykły Quiz). Dostajesz pytania, zdobywasz punkty, a na koniec wyświetla ci się ile punktów zdobyłeś itp. Pytań ma być dość sporo, więc kodowanie ich na sztywno w XML to katorga. Postanowiłem skorzystać z bazy danych SQLite. Przerobiłem jakieś poradniki jak się to tworzy SqlOpenHelper itp. Ale za każdym razem w takim poradniku ktoś umieszczał w kodzie wszystkie rekordy. Więc tutaj nasunęło mi się pytanie. Czy mogę stworzyć sobie w dedykowanym programie bazę danych SQLite, wypełnić ją, a potem tylko podpiąć? Wrzucić gdzieś do jakiegoś folderu aplikacji, a następnie ją wykorzystywać do pobierania i ustawiania odpowiednich elementów (czyt. Pytanie, 4 odpowiedzi i poprawna odpowiedź). Jeśli można tak zrobić to moje pytanie brzmi z czego konkretnie skorzystać? Jak wskazać programowi, że chodzi o tą bazę, w tym miejscu, a potem móc kursorem pobierać rekordy? Dziękuję z góry za odpowiedź!
  3. Od 2014 piszę komercyjnie aplikacje na platformę Android: Języki: Java, Kotlin Wzorce projektowe: MVP, preferuje MVVM Przykładowe realizacje komercyjne: https://play.google.com/store/apps/details?id=pl.com.grupazprmedia.poradnik_zdrowie https://play.google.com/store/apps/details?id=pl.com.grupazprmedia.murator_dom https://play.google.com/store/apps/details?id=pl.grupazpr.muratorCyfrowy https://play.google.com/store/apps/details?id=pl.zprmedia.BabyApp https://play.google.com/store/apps/details?id=pl.com.grupazprmedia.urzadzamy Jest to tylko cześć aplikacji przy których pracowałem. Jeśli potrzebujesz aplikacji zapraszam do kontaktu. Skype: adam1984.12.24 Email: [email protected] Tel: 662254975 Pomagam również w nauce programowania, aplikacjach na studia. Dla chętnych mogę przygotować spersonalizowane szkolenie . Wystawiam Faktury VAT https://codeapp4u.wordpress.com/
  4. Tworze w jednej klasie(AddData) obiekt klasy (Base) czyli moją bazę danych. Tam dodaje do niej wiersze itd. Następnie w drugiej klasie(ViewWorkouts) chciałbym skorzystać z z bazy, aby móc ją oglądać. AndroidStudio chce żeby wszystko było statyczne, ale context nie może taki być... Zwraca taką sugestie: cannot be referenced from a static field Pierwsza klasa(AddData) public static Base db= new Base(this,null,null,0);// error in "this" public static Base getDb() { return db; } Druga klasa(ViewWorkouts) Base db = AddDate.getDb(); Klasa z bazą wygląda normalnie,czyli mam konstruktor, onCreate, onUpgradeitd
  5. Cześć, mam na serwerze bazę danych MySQL, zrobiłem skrypt w php, który wyciąga dane przez JSONa, oraz bazę SQLite na telefonie, z której wyświetlam dane przez RecyclerView, moje pytanie jest w jaki sposób mam teraz pobierać te dane do SQLite? Baza zawiera jedną tabelę, z 8 kolumnami, i będzie zawierała z max 20 pozycji, zmiana średnio raz w tygodniu.
  6. witam, potrzebuję zaktualizować bazę SQLite mojej apki, lecz nie chce mi się tego robić ręcznie z poziomu apki tylko wolałbym wgrać gotową, i moje pytanie gdzie w Ace2 (android 4.1.2) mogę znaleźć tą bazę? W innych telefonach zazwyczaj jest w folderze /data/data/i lista aplikacji, w moim ace2 folder data jest pusty.. , więc gdzie mogę ich szukać? w sdcard0/Android/data mam z kilku ale niestety z mojej nie..
  7. Cześć, mam w planach stworzyć aplikację, która będzie pobierała aktualizacje z bazy danych znajdującą się na serwerze (ta baza będzie aktualizowana przy użyciu strony internetowej). Chciałbym się poradzić Was jak mam to rozwiązać, chciałbym aby w aplikacji była zastosowana SQLite aby bez połączenia z internetem można było przeglądać wydarzenia a przy połączeniu z internetem automatycznie pobrało aktualizację. A czy jest możliwość abym na serwerze miał np MySQL, czy nie da się ich tak połączyć? Baza prawdopodobnie będzie się składała z jednej tabeli z około 5-6 kolumn i myślę że z max 20 rekordów (dostępnych w aplikacji, ponieważ przez stronę internetową chcę mieć dostęp do archiwum, czyli wydarzeń które już minęły).
  8. Zastanawiam się, w jaki sposób mogę sprawić aby wersja bazy zmieniała się sama gdy zmienię coś w bazie? Załóżmy że na początku wersja wynosi jeden. Zmieniłam strukturę bazy danych, chce aby nastąpił upgrade. Czy jest inny sposób niż zmiana w kodzie 1 na 2?
  9. Witam, jestem początkującym programistą i potrzebuje pomocy z połączeniem się do kilku baz danych SQLite. Chce stworzyć aplikację na telefon, która z serwera będzie pobierała bazy danych Sqlite w której będą spisy książek i osoba na telefonie będzie mogła sobie przeglądać. Mój plan na stworzenie aplikacji, to pobieranie wszystkich nazw baz z katalogu i stworzenie do nich połączeń, a następnie wykonywanie na każdej bazie odpowiedniego zapytania i dodawania rekordów do listy.
  10. hasztagL

    MOD APK OPTIMIZER V4

    Dziś postanowiłem popracować nad Zipalign'em i optymalizacją baz SQLite. Pierwsze próby włączania go podczas uruchamiania telefonu były kiepskie. Zacięcia przez kilka minut po uruchomieniu, błędy aplikacji podczas optymalizacji, itp. Postanowiłem wrzucić wszystko do paczki którą można flashować, i odziwo udało się! Mod został zbudowany dla Lollipop'a, najprawdopodobniej będzie działał na KitKat'cie. Testowałem go na eXistenZ 1.5.0 i na Stocku z dopiskiem .28. Nie miałem żadnych problemów po instalacji paczki w TWPR. Lecz po uruchomieniu telefon dostał nieziemskiego przyśpieszenia, więcej wolnej pamięci RAM(około 300m) i brak jakichkolwiek logów(śmieci po innych optymalizacjach Zipalign). Instrukcja: - Zrób kopię zapasową. - Pobierz plik i skopiuj na kartę SD. - Włącz CWM/TWPR/PhillzTouch Recovery. - Wybierz moją paczkę do flashu. - REBOOT. Wymagania: - Recovery Download: - APK OPTIMIZER V4 Poprawka nadawania uprawnień, edytowano zipalign i powiększono jego działanie. Aktualizacja skryptów. Poprawki SQLite optimize.
  11. hasztagL

    MOD [ZAMKNIĘTY]APK OPTIMIZER V3

    Dziś postanowiłem popracować nad Zipalign'em i optymalizacją baz SQLite. Pierwsze próby włączania go podczas uruchamiania telefonu były kiepskie. Zacięcia przez kilka minut po uruchomieniu, błędy aplikacji podczas optymalizacji, itp. Postanowiłem wrzucić wszystko do paczki którą można flashować, i odziwo udało się! Mod został zbudowany dla Lollipop'a(1.28 Xperia Z2), najprawdopodobniej będzie działał na każdym smartphonie. Testowałem go na eXistenZ 1.5.0 oraz Y 2.0.0 i na Stocku z dopiskiem .28. Nie miałem żadnych problemów po instalacji paczki w TWPR. Lecz po uruchomieniu telefon dostał nieziemskiego przyśpieszenia, więcej wolnej pamięci RAM(około 300m) i brak jakichkolwiek logów(śmieci po innych optymalizacjach Zipalign). Instrukcja: - Zrób kopię zapasową. - Pobierz plik i skopiuj na kartę SD. - Włącz CWM/TWPR/PhillzTouch Recovery. - Wybierz moją paczkę do flashu. - REBOOT. Wymagania: - Recovery Download: - APK OPTIMIZER V3 V2 - Poprawka nadawania uprawnień, edytowano zipalign i powiększono jego działanie. V3 - Aktualizacja skryptów.
  12. hasztagL

    [ZAMKNIĘTY][MOD] APK OPTIMIZER V3

    Dziś postanowiłem popracować nad Zipalign'em i optymalizacją baz SQLite. Pierwsze próby włączania go podczas uruchamiania telefonu były kiepskie. Zacięcia przez kilka minut po uruchomieniu, błędy aplikacji podczas optymalizacji, itp. Postanowiłem wrzucić wszystko do paczki którą można flashować, i odziwo udało się! Mod został zbudowany dla Lollipop'a(1.28 Xperia Z2), najprawdopodobniej będzie działał na każdym smartphonie. Testowałem go na eXistenZ 1.5.0 oraz Y 2.0.0 i na Stocku z dopiskiem .28. Nie miałem żadnych problemów po instalacji paczki w TWPR. Lecz po uruchomieniu telefon dostał nieziemskiego przyśpieszenia, więcej wolnej pamięci RAM(około 300m) i brak jakichkolwiek logów(śmieci po innych optymalizacjach Zipalign). Instrukcja: - Zrób kopię zapasową. - Pobierz plik i skopiuj na kartę SD. - Włącz CWM/TWPR/PhillzTouch Recovery. - Wybierz moją paczkę do flashu. - REBOOT. Wymagania: - Recovery Download: - APK OPTIMIZER V3 V2 - Poprawka nadawania uprawnień, edytowano zipalign i powiększono jego działanie. V3 - Aktualizacja skryptów.
  13. Hej, na wstępie chciałbym powiedzieć, ze dopiero uczę się programować w Androidzie dlatego za poważniejsze błędy nie linczujcie mnie Pisze aplikacje dla młodszej siostry, która jest chora na cukrzycę. Zrobiłem już większość funkcji czyli dodawanie pomiarów, wyświetlanie ich w listview, a także kalkulator jednostek. Ostatnią rzeczą jaką chciałbym zrobić jest wykres który pobiera dane z bazy danych. I tu jest ciężki orzech do zgryzienia > Mecze się z tym już dwa dni i nie mam pojęcia jak to zrobić Moja Baza Danych wygląda tak: public class BazaDanych { public static final String KEY_ROWID = "_id"; public static final String KEY_Data = "data"; public static final String KEY_Czas = "czas"; public static final String KEY_Typ = "typ"; public static final String KEY_Opis = "opis"; public static final String KEY_Pomiar = "pomiar"; private static final String TAG = "BazaDanych"; private static final String DATABASE_NAME = "MyDB"; private static final String DATABASE_TABLE = "Wpisyy"; private static final int DATABASE_VERSION = 1; private static final String DATABASE_CREATE = "create table Wpisyy (_id integer primary key autoincrement, " + "data text not null, czas text not null,typ text not null,opis text ,pomiar text not null);"; private final Context context; private DatabaseHelper DBHelper; private SQLiteDatabase db; public BazaDanych(Context ctx) { this.context = ctx; DBHelper = new DatabaseHelper(context); } private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { try { db.execSQL(DATABASE_CREATE); } catch (SQLException e) { e.printStackTrace(); } } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); db.execSQL("DROP TABLE IF EXISTS contacts"); onCreate(db); } } //---opens the database--- public BazaDanych open() throws SQLException { db = DBHelper.getWritableDatabase(); return this; } public void deleteRow(long rowID){ String string =String.valueOf(rowID); db.execSQL("DELETE FROM favorite WHERE _id = '" + string + "'"); } //---closes the database--- public void close() { DBHelper.close(); } //---insert a Wpis into the database--- public long DodajWpis(String Data, String Czas, String Typ, String Opis, String Pomiar) { ContentValues newWpis = new ContentValues(); newWpis.put(KEY_Data, Data); newWpis.put(KEY_Czas, Czas); newWpis.put(KEY_Typ, Typ); newWpis.put(KEY_Opis, Opis); newWpis.put(KEY_Pomiar, Pomiar); return db.insert(DATABASE_TABLE, null, newWpis); } //---deletes a particular contact--- public boolean UsunWpis(long rowId) { return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0; } //---retrieves all Wpisy--- public Cursor getAllWpisy() { return db.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_Data,KEY_Czas,KEY_Typ,KEY_Opis,KEY_Pomiar}, null, null, null, null, KEY_ROWID + " DESC"); } //---retrieves a particular contact---------------------------------------------------------------------------------------- public Cursor getWpis(long rowId) throws SQLException { Cursor mCursor =db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID, KEY_Data,KEY_Czas,KEY_Typ,KEY_Opis,KEY_Pomiar}, KEY_ROWID + "=" + rowId, null, null, null, null, null); if (mCursor != null) { mCursor.moveToFirst(); } return mCursor; } //-------------------------------------------------------------------------------------------------------------------------- //---updates Wpis--- public boolean updateWpis(long rowId, String Czas, String Data, String Typ, String Opis, String Pomiar) { ContentValues args = new ContentValues(); args.put(KEY_Data, Data); args.put(KEY_Czas, Czas); args.put(KEY_Typ, Typ); args.put(KEY_Opis, Opis); args.put(KEY_Pomiar, Pomiar); return db.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0; } public Double getValue1(long l) { String[] columns = new String[]{ KEY_Pomiar, KEY_Data }; Cursor c = db.query(DATABASE_TABLE, columns, KEY_ROWID + "=" + l, null, null, null, null); if (c != null){ c.moveToFirst(); String value1 = c.getString(0); Double protein = Double.parseDouble(value1); return protein; } return null; } public String getValue2(long l) { String[] columns = new String[]{ KEY_Pomiar, KEY_Data }; Cursor c = db.query(DATABASE_TABLE, columns, KEY_ROWID + "=" + l, null, null, null, null); if (c != null){ c.moveToFirst(); String value2 = c.getString(1); return value2; } return null; } } A wykres tak: public class Wykres extends Activity { private BazaDanych db; private String[] mMonth = new String[] { "Jan", "Feb" , "Mar", "Apr", "May", "Jun", "Jul", "Aug" , "Sep", "Oct", "Nov", "Dec" }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_wykres); // Getting reference to the button btn_chart Button btnChart = (Button) findViewById(R.id.btn_chart); // Defining click event listener for the button btn_chart OnClickListener clickListener = new OnClickListener() { @Override public void onClick(View v) { // Draw the Income vs Expense Chart openChart(); } }; // Setting event click listener for the button btn_chart of the MainActivity layout btnChart.setOnClickListener(clickListener); } private void openChart(){ int[] x = { 1,2,3,4,5,6,7,8 }; double[] income = { 2000,2500,2700,3000,2800,3500,3700,3800}; db = new BazaDanych(this); // Creating an XYSeries for Income XYSeries incomeSeries = new XYSeries("Glukoza"); // Creating an XYSeries for Income // Adding data to Income and Expense Series for(int i=0;i<x.length;i++){ incomeSeries.add(x[i], income[i]); } // Creating a dataset to hold each series XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); // Adding Income Series to the dataset dataset.addSeries(incomeSeries); // Creating XYSeriesRenderer to customize incomeSeries XYSeriesRenderer incomeRenderer = new XYSeriesRenderer(); incomeRenderer.setColor(Color.BLUE); incomeRenderer.setPointStyle(PointStyle.TRIANGLE); incomeRenderer.setFillPoints(true); incomeRenderer.setLineWidth(2); incomeRenderer.setDisplayChartValues(true); incomeRenderer.setChartValuesTextSize(30); incomeRenderer.setDisplayChartValuesDistance(50); // Creating a XYMultipleSeriesRenderer to customize the whole chart XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer(); multiRenderer.setBackgroundColor(Color.RED); multiRenderer.setXLabels(0); multiRenderer.setChartTitle("Wykres pomiarow glukozy"); multiRenderer.setXTitle("Data"); multiRenderer.setYTitle("Pomiar"); multiRenderer.setZoomButtonsVisible(true); for(int i=0;i<x.length;i++){ multiRenderer.addXTextLabel(i+1, mMonth[i]); } // Adding incomeRenderer and expenseRenderer to multipleRenderer // Note: The order of adding dataseries to dataset and renderers to multipleRenderer // should be same multiRenderer.addSeriesRenderer(incomeRenderer); // Creating an intent to plot line chart using dataset and multipleRenderer Intent intent = ChartFactory.getLineChartIntent(getBaseContext(), dataset, multiRenderer); // Start Activity startActivity(intent); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.wykres, menu); return true; } } Wykres jest jak na razie przykładowy, chciałem się zapoznać mniej więcej jak wyglada aChartEngine. Zrobiłem dwie metody getValue1 oraz getValue2 tylko nie wiem jak ich użyć do tego celu i czy są one w ogóle poprawne. Nie mam pojęcia jak zrobić aby do wykresu była pobierana data(KEY_Data) oraz pomiar glukozy(KEY_Pomiar). Na osi Ox miały by być daty a na osi Oy Pomiary. Ma ktoś pomysł jak to zrealizować ? Z góry dziękuje za pomoc w rozwiązaniu problemu. Btw Ktoś może zapytać po co to pisze jak siostra może sobie ściągnąć taka aplikacje . Otóż z siostra łączy mnie duża więź i chociaż program nie będzie super zaawansowany technologicznie to na pewno się z niego ucieszy i wiem że będzie z niego korzystać.
  14. Witam, mój problem polega na tym, że wstawiam w aplikacji do bazy danych SQLite w niektórych miejscach za pomocą kodu: ContentValues values = new ContentValues(); values.put(Handler.KEY_CENA, cena1); values.put(Handler.KEY_LITRY, litry1); values.put(Handler.KEY_WARTOSC, wartosc1); values.put(Handler.KEY_LICZNIK, licznik1); values.put(Handler.KEY_DATA, formattedDate); values.put(Handler.KEY_DO_PELNA, do_pelna1); values.put(Handler.KEY_MONTH, month); values.put(Handler.KEY_YEAR, year); index = Handler.mDatabase.insert(Handler.KEY_TANKOWANIE, null, values); pewne dane i mogę je odczytać w innych aktywnościach jednak tylko do wyłączenia programu. Przy ponownym włączeniu tych danych już nie ma. Jaka może być tego przyczyna? Ktoś się spotkał z czymś takim?
  15. Witam kończę właśnie pisać małą aplikację na Androida i przy testowaniu już praktycznie gotowej aplikacji natrafiłem na dziwny błąd. Mianowicie gdy testuje aplikację na swoim telefonie Android 4.1.2 nie mam żadnych problemów i wpis do bazy danych przebiega bez problemów gdy testuje jednak na emulatorze z Android SDK 10,8 (w tej chwili ściągam sdk 11 aby sprawdzić) występuje następujący błąd. Moje zapytanie ma postać: INSERT INTO tabela VALUES (NULL, 'string', 'string', ...) , (NULL, 'string', 'string' ,...); Jednym słowem dodaje wiele wartości naraz i udało mi się dojść do tego że baza czepia się mnie o ten przecinek między kolejnymi nawiasami. Błąd który mi zwraca to: sqlite returned: error code = 1, msg = near "," : syntax error Wnioskuje, że problem jest związany ze starszą wersją bazy sqlite w androidach SDK 8,10. Moje pytanie jest następujące jak objść ten problem przy dodawania wielu wartości naraz. Co użyć zamiast przecinka? Sprawdzone na SDK 11 także baza danych odmawia współpracy :/ ---------- Post dołączono o 17:25 ---------- Poprzedni post napisano o 17:00 ---------- Po kilku różnych próbach udało mi się rozwiązać problem w sposób łopatologiczny - rozbijając zapytanie długie na wiele pojedyńczych - ale sposób ten mnie nie satysfakcjonuje więc jeśłi ktoś ma jakiś pomysł jak sobie z tym poradzić to temat nadal otwarty
  16. Witam Robię aplikację i mam taki problem. W bazie danych mam 50 rekordów, a po odpaleniu programu na emulatorze można przegladać tylko 20. Ktoś wie o co chodzi? Raz zapisało wszystkie rekordy. Kod: package in.ekonomia.android.przyslowiaarabskie; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class PrzyslowiaArabskie { private static final String TABLE_NAME = "tabela_przyslowia"; private static final String DATABASE_NAME = "przyslowiadb"; private static final int DATABASE_VERSION = 1; public static final String KEY_ID = "id"; public static final String KEY_PRZYSLOWIE = "przyslowie"; private DbHelper myHelper; private final Context myContext; private SQLiteDatabase myDatabase; private static class DbHelper extends SQLiteOpenHelper { public DbHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); // TODO Auto-generated constructor stub } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_PRZYSLOWIE + " TEXT NOT NULL);" ); ContentValues values = new ContentValues(); values.put(KEY_PRZYSLOWIE , "Absurdem jest żądać pięciu rzeczy od pięciu osób: szacunku od głupiego, podarunku od biednego, dobra od wroga, dobrej rady od zawistnego i wierności od kobiety."); db.insert(TABLE_NAME, null, values); ContentValues values2 = new ContentValues(); values2.put(KEY_PRZYSLOWIE , "Baśń jest mostem prowadzącym do prawdy."); db.insert(TABLE_NAME, null, values2); ContentValues values3 = new ContentValues(); values3.put(KEY_PRZYSLOWIE , "Bij żonę codziennie. Jeśli nie wiesz, za co, nie szkodzi, ona będzie wiedziała"); db.insert(TABLE_NAME, null, values3); ContentValues values4 = new ContentValues(); values4.put(KEY_PRZYSLOWIE , "Błogosławiony, kto znając swoją siłę, nie krzywdzi innych."); db.insert(TABLE_NAME, null, values4); ContentValues values5 = new ContentValues(); values5.put(KEY_PRZYSLOWIE , "Brak cierpliwości w nieszczęściu jest gorszy niż samo nieszczęście."); db.insert(TABLE_NAME, null, values5); ContentValues values6 = new ContentValues(); values6.put(KEY_PRZYSLOWIE , "Broda jest moja, a rządzi nią mułła."); db.insert(TABLE_NAME, null, values6); ContentValues values7 = new ContentValues(); values7.put(KEY_PRZYSLOWIE , "Brzydota jest stróżem kobiety."); db.insert(TABLE_NAME, null, values7); ContentValues values8 = new ContentValues(); values8.put(KEY_PRZYSLOWIE , "Chorobą wiedzy jest zapomnienie."); db.insert(TABLE_NAME, null, values8); ContentValues values9 = new ContentValues(); values9.put(KEY_PRZYSLOWIE , "Chwytaj to, co zobaczyłeś, a zostaw to, co usłyszałeś."); db.insert(TABLE_NAME, null, values9); ContentValues values10 = new ContentValues(); values10.put(KEY_PRZYSLOWIE , "Cierpliwością nawet z nieczystych winogron uzyskasz syrop."); db.insert(TABLE_NAME, null, values10); ContentValues values11 = new ContentValues(); values11.put(KEY_PRZYSLOWIE , "Cierpliwość – spryt tego, kto nie jest sprytny."); db.insert(TABLE_NAME, null, values11); ContentValues values12 = new ContentValues(); values12.put(KEY_PRZYSLOWIE , "Cierpliwy w miłości do kłamcy, jest podobny do niego."); db.insert(TABLE_NAME, null, values12); ContentValues values13 = new ContentValues(); values13.put(KEY_PRZYSLOWIE , "Cios wymierzony językiem jest silniejszy niż cios wymierzony lancą."); db.insert(TABLE_NAME, null, values13); ContentValues values14 = new ContentValues(); values14.put(KEY_PRZYSLOWIE , "Człowiek boi się czasu, czas boi się piramid."); db.insert(TABLE_NAME, null, values14); ContentValues values15 = new ContentValues(); values15.put(KEY_PRZYSLOWIE , "Człowiek posiada dwa skarby: rozum i słowo; z pierwszego korzysta sam, a dzięki drugiemu przynosi korzyść innym."); db.insert(TABLE_NAME, null, values15); ContentValues values16 = new ContentValues(); values16.put(KEY_PRZYSLOWIE , "Czas to dobry nauczyciel."); db.insert(TABLE_NAME, null, values16); ContentValues values17 = new ContentValues(); values17.put(KEY_PRZYSLOWIE , "Człowiek jest sługą czasu, a czas jest wrogiem człowieka."); db.insert(TABLE_NAME, null, values17); ContentValues values18 = new ContentValues(); values18.put(KEY_PRZYSLOWIE , "Czterech rzeczy nie pragnie mędrzec: gwałcić losu, pytać o radę wrogów, zmieniać prawdy, zadowalać wszystkich ludzi."); db.insert(TABLE_NAME, null, values18); ContentValues values19 = new ContentValues(); values19.put(KEY_PRZYSLOWIE , "Czterem osobom należy schlebiać do końca: władcy, kobiecie, dziecku i choremu."); db.insert(TABLE_NAME, null, values19); ContentValues values20 = new ContentValues(); values20.put(KEY_PRZYSLOWIE , "Czyje przekonania są piękne, tego życie jest dobre."); db.insert(TABLE_NAME, null, values20); ContentValues values21 = new ContentValues(); values21.put(KEY_PRZYSLOWIE , "Daj głupiemu tysiąc rozumów, a on będzie wolał swój własny."); db.insert(TABLE_NAME, null, values21); ContentValues values22 = new ContentValues(); values22.put(KEY_PRZYSLOWIE , "Dla kobiety lepiej wyjść za mężczyznę, który ją kocha, niż za takiego, którego ona kocha."); db.insert(TABLE_NAME, null, values22); ContentValues values23 = new ContentValues(); values23.put(KEY_PRZYSLOWIE , "Dla tego, kto nie mówi dobrze, milczenie jest lepsze od słów."); db.insert(TABLE_NAME, null, values23); ContentValues values24 = new ContentValues(); values24.put(KEY_PRZYSLOWIE , "Długa nadzieja – długi smutek."); db.insert(TABLE_NAME, null, values24); ContentValues values25 = new ContentValues(); values25.put(KEY_PRZYSLOWIE , "Długa nadzieja czyni chorym serce i jest szkodliwa dla myśli."); db.insert(TABLE_NAME, null, values25); ContentValues values26 = new ContentValues(); values26.put(KEY_PRZYSLOWIE , "Do dobrego wychowania należy skromne zachowanie."); db.insert(TABLE_NAME, null, values26); ContentValues values27 = new ContentValues(); values27.put(KEY_PRZYSLOWIE , "Dobra rada przyjaciela jest jak lekarstwo, tym lepsza im bardziej gorzka."); db.insert(TABLE_NAME, null, values27); ContentValues values28 = new ContentValues(); values28.put(KEY_PRZYSLOWIE , "Dobra sława warta więcej niż wielkie bogactwo."); db.insert(TABLE_NAME, null, values28); ContentValues values29 = new ContentValues(); values29.put(KEY_PRZYSLOWIE , "Dwa rodzaje ludzi nigdy nie będą nasyceni: ci, którzy szukają wiedzy i ci, którzy gonią za bogactwem."); db.insert(TABLE_NAME, null, values29); ContentValues values30 = new ContentValues(); values30.put(KEY_PRZYSLOWIE , "Dwie rzeczy są bardzo szpetne: chudy koń i chuda kobieta."); db.insert(TABLE_NAME, null, values30); ContentValues values31 = new ContentValues(); values31.put(KEY_PRZYSLOWIE , "Dwóch rzeczy nie ceni się należycie, dopóki się ich nie straci: młodości i zdrowia."); db.insert(TABLE_NAME, null, values31); ContentValues values32 = new ContentValues(); values32.put(KEY_PRZYSLOWIE , "Dzieci są skrzydłami człowieka."); db.insert(TABLE_NAME, null, values32); ContentValues values33 = new ContentValues(); values33.put(KEY_PRZYSLOWIE , "Dzięki kłamstwom zjesz obiad, ale nie zjesz już kolacji."); db.insert(TABLE_NAME, null, values33); ContentValues values34 = new ContentValues(); values34.put(KEY_PRZYSLOWIE , "Dzisiaj wino – jutro praca."); db.insert(TABLE_NAME, null, values34); ContentValues values35 = new ContentValues(); values35.put(KEY_PRZYSLOWIE , "Edukacja jest droższa od złota."); db.insert(TABLE_NAME, null, values35); ContentValues values36 = new ContentValues(); values36.put(KEY_PRZYSLOWIE , "Gdy kobieta mówi, że dostała od kuzyna złoty pierścionek, to albo złoto jest fałszywe, albo kuzyn."); db.insert(TABLE_NAME, null, values36); ContentValues values37 = new ContentValues(); values37.put(KEY_PRZYSLOWIE , "Gdy wąż cię kocha, możesz go nosić jako naszyjnik."); db.insert(TABLE_NAME, null, values37); ContentValues values38 = new ContentValues(); values38.put(KEY_PRZYSLOWIE , "Gdy wielbłąd bardzo ryczy, dodaj mu ciężaru."); db.insert(TABLE_NAME, null, values38); ContentValues values40 = new ContentValues(); values40.put(KEY_PRZYSLOWIE , "Gdy wspominasz wilka, gotuj nań laskę."); db.insert(TABLE_NAME, null, values40); ContentValues values41 = new ContentValues(); values41.put(KEY_PRZYSLOWIE , "Gdy wspominasz wilka, gotuj nań laskę."); db.insert(TABLE_NAME, null, values41); ContentValues values42 = new ContentValues(); values42.put(KEY_PRZYSLOWIE , "Gdyby głupi znał swoją niewiedzę, nie byłby głupim."); db.insert(TABLE_NAME, null, values42); ContentValues values43 = new ContentValues(); values43.put(KEY_PRZYSLOWIE , "Gdybym był lekarzem miłości, uleczyłbym najpierw samego siebie."); db.insert(TABLE_NAME, null, values43); ContentValues values44 = new ContentValues(); values44.put(KEY_PRZYSLOWIE , "Ginie to, co znajduje się w garnkach, a pozostaje to, co znajduje się w duszach."); db.insert(TABLE_NAME, null, values44); ContentValues values45 = new ContentValues(); values45.put(KEY_PRZYSLOWIE , "Głupia kobieta potrafi ci bardziej zaszkodzić niż twój najmądrzejszy wróg."); db.insert(TABLE_NAME, null, values45); ContentValues values46 = new ContentValues(); values46.put(KEY_PRZYSLOWIE , "Głupiemu wierszy się nie pisze."); db.insert(TABLE_NAME, null, values46); ContentValues values47 = new ContentValues(); values47.put(KEY_PRZYSLOWIE , "Gniew głupiego wyraża się w słowach, a gniew mądrego – w czynach."); db.insert(TABLE_NAME, null, values47); ContentValues values48 = new ContentValues(); values48.put(KEY_PRZYSLOWIE , "Gniew kochanków jest jak deszcz wiosenny."); db.insert(TABLE_NAME, null, values48); ContentValues values49 = new ContentValues(); values49.put(KEY_PRZYSLOWIE , "Gramatyka w mowie jest jak sól w jedzeniu."); db.insert(TABLE_NAME, null, values49); ContentValues values50 = new ContentValues(); values50.put(KEY_PRZYSLOWIE , "Idź za sową – to ona zaprowadzi cię do ruin."); db.insert(TABLE_NAME, null, values50); ContentValues values51 = new ContentValues(); values51.put(KEY_PRZYSLOWIE , "Jajka znajdziesz tylko w brudnym kurniku."); db.insert(TABLE_NAME, null, values51); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); onCreate(db); } } public PrzyslowiaArabskie(Context c) { myContext = c; } public PrzyslowiaArabskie open() { myHelper = new DbHelper(myContext); myDatabase = myHelper.getWritableDatabase(); return this; } public void close() { myHelper.close(); } public String getData(long record) { record = Galeria.record; String[] columns = new String[] { KEY_ID, KEY_PRZYSLOWIE}; Cursor c = myDatabase.query(TABLE_NAME, columns, KEY_ID + "=" + record, null, null, null, null); if (c != null) { c.moveToFirst(); String data = c.getString(1); return data; } return null; } public String getNextData(long record) { // TODO Auto-generated method stub record = Galeria.record; String[] columns = new String[] { KEY_ID, KEY_PRZYSLOWIE}; Cursor c = myDatabase.query(TABLE_NAME, columns, KEY_ID + "=" + record, null, null, null, null); if (c !=null && !c.isAfterLast()) { c.moveToNext(); String data = c.getString(1); return data; } return null; } public String getPrevData(long record) { // TODO Auto-generated method stub record = Galeria.record; String[] columns = new String[] { KEY_ID, KEY_PRZYSLOWIE}; Cursor c = myDatabase.query(TABLE_NAME, columns, KEY_ID + "=" + record, null, null, null, null); if (c != null && !c.isBeforeFirst()) { c.moveToPrevious(); String data = c.getString(1); return data; } return null; } } Galeria.java wygląda tak: package in.ekonomia.android.przyslowiaarabskie; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class Galeria extends Activity { public static long record = 1; PrzyslowiaArabskie db = new PrzyslowiaArabskie(this); @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.galeria); Button bPokaz = (Button) findViewById(R.id.pokaz); bPokaz.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub TextView tv = (TextView) findViewById(R.id.editText1); db.open(); String data = db.getData(record); db.close(); tv.setText(data); } }); Button bNastepny = (Button) findViewById(R.id.next); bNastepny.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub TextView tv = (TextView) findViewById(R.id.editText1); db.open(); record++; String data = db.getNextData(record); db.close(); tv.setText(data); } }); Button bPoprzedni = (Button) findViewById(R.id.prev); bPoprzedni.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub TextView tv = (TextView) findViewById(R.id.editText1); db.open(); record--; String data = db.getPrevData(record); db.close(); tv.setText(data); } }); } }
  17. Xylian

    SQLite - z tabeli do tablicy

    Problem pewnie prosty, ale ciężko mi się przez niego przegryźć w natłoku tutoriali, w każdym razie nie udało mi się uzyskać pomocy od wujka googla. Tak jak w temacie, potrzebuję odczytać wszystkie wartości z wybranej kolumny i zapiszanie ich do tablicy, mógłbym prosić o przykład? Z góry pięknie dziękuje
  18. msbajabongo

    SQLite i parametry

    Witam serdecznie Czy w aplikacji na androida można używać paramertów przy zapytaniu SQL ?? Standardowo jest chyba tak np Select * from TABELA where wartosc=? i potem jakaś metoda ustawiajaca ten parametr.
  19. Witam, Otóż mam aplikację która zwraca dane z poprzedniej klasy za pomocą funkcji onActivityResult, w której zwracane dane zostają zapisywane w bazie danych: @Override public void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); Bundle extras = intent.getExtras(); String id = extras.getString("test_id"); String test = extras.getString("Test"); mDbHelper.createTable(test, id); } Aplikacja rozsypuję gdy próbuje utworzyć nową tabelę Log: ERROR/AndroidRuntime(6663): FATAL EXCEPTION: main java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { (has extras) }} to activity {com.first.notepad/com.first.notepad.Notepad}: java.lang.IllegalStateException: database not open at android.app.ActivityThread.deliverResults(ActivityThread.java:2653) at android.app.ActivityThread.handleSendResult(ActivityThread.java:2695) at android.app.ActivityThread.access$2000(ActivityThread.java:123) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:969) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.java:3835) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.IllegalStateException: database not open at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1526) at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1426) at com.first.notepad.NotesDbAdapter.createNote(DatabaseAdapter.java:82) at com.first.notepad.Notepad.onActivityResult(MyActivity.java:75) at android.app.Activity.dispatchActivityResult(Activity.java:3908) at android.app.ActivityThread.deliverResults(ActivityThread.java:2649) ... 11 more Nie rozumiem co tutaj jest źle, mógłby mi to ktoś wytłumaczyć ? Pozdro
  20. flatplanet

    Dostęp do SQLite

    Witam, Naukę programowania dla Android rozpocząłem ucząc się z książki: Po przebrnięciu przez pierwsze rozdziały pojawiły mi się pytania, na które trudno znaleźć mi jednoznacznej odpowiedzi. Dodatkowo sprawę utrudnia wersja na której wzorowano się tworząc ww książkę, W roz.3 tworzymy przykład łączenia do SQLite, który tak jak przykład z SDK NotesList tworzy własnego providera oraz helpera. Pomijam fakt, że oba przykłady (książka i SDK) różnią się od siebie. Przyznam się, że z Javą nie miałem wcześniej do czynienia. Jako programista C# (kilka lat) byłem przerażony, jak bardzo dostęp do bazy jest utrudniony (dość skomplikowany). Szukając przykładów w sieci znalazłem to: Sai Geetha's Blog - Android: SQLite DB Example | Android Developer Tutorial (Part 12) (przykład z 2009). Widać wyraźnie, że sposób ten jest łatwiejszy. Pytania: Czym różnią się oba sposoby, jeden za pomocą własnego provider a drugi poprzez klasy dostępu? Z tego co zauważyłem, pierwszy daje możliwość dostania się przez RESTa? Można wystawić własnego dostawcę(bazę) na zewnątrz? Jakie są "dobre praktyki" związane z tworzeniem lokalnej bazy dla aplikacji? Czy pomiędzy 2.1 a 2.3.3 są jakieś różnice? pozdrawiam Damian
  21. The Dino

    SQLite, like i znaki narodowe

    Zadałem tu jedno pytanie i spotkało się to ze sporym odzewem, więc rzucę taki inny temat, może pominąłem jakiś aspekt i dlatego był to dla mnie problem, a może też komuś to pomoże . Otóż korzystam z bazy danych do przechowywania danych o finansach. Czymś normalnym jest tam możliwość wprowadzenia opisu transakcji, płatnika/odbiorcy transakcji, a także kategorie mają własne nazwy. Z uwagi na ukierunkowanie Androida na wyszukiwanie danych (jest nawet wymagany fizyczny przycisk odpalający wyszukiwanie) także zaimplementowałem sobie mechanizm wyszukiwania przy pomocy SearchManager (pojawia się od góry standardowy popup z ikonką, możliwością wpisania co chcemy szukać - po prostu standard). Nie szuka się tu dokładnie po opisie, tylko jak to z reguły bywa po części tekstu (prawie jak Google ), ja sobie ustaliłem, że może to być zawartość wyżej wymienionych pól. Oczywiście całość działa poprzez zwykłe, standardowe LIKE w SQLu. I tu zaczynają się schody, SQLite niepoprawnie interpretuje LIKE zawierający polskie znaki. Tzn. po prostu nie znajdzie nigdy rekordu który pasuje, jednak w szukanym tekście jest polska litera. Miał ktoś podobny problem? PS. Ja to rozwiązałem dzieląc wyszukiwanie na dwa etapy, pierwszy uogólniam wyszukiwany ciąg pozbywając się polskich znaków, drugi przed akceptacją rekordu ponownie go weryfikuje i sprawdzam, czy nie należy go czasem pominąć. PS2. Raczej odpadają rozwiązania oparte o FTS3 i FTS4, bo wymuszałyby konieczność przygotowania tabel w tym formacie z zawartością wszystkich pól po których szukamy przed samym wyszukiwaniem. Tak więc ewentualne korzyści (np. czas wyszukiwania) były znikome, a nie wiem nawet czy nie napotkałbym tego samego problemu tutaj.
  22. januszcis9

    Zdalny sqlite

    Mam pytanie. Chciałem się połączyć z mysql i poczytałem troche w guglach i niby jest to skoplikowane i mało bezpieczny. Jednak na swoim serwerze mam możliwość zainstlowania sqlite. Czy można się z androida podłączyć do zdalnego sqlite??
  23. moberek

    Sqlite problemy

    Witam. Otóż zacząłem niedawno przygodę z programowaniem na androida. Mam jednak problem z obsługą bazy danych. Ma ktoś może linka do jakiegoś sensownego poradnika na ten temat? Przekopałem już połowę google, ale dalej nic z tego. Z programowaniem obiektywnym miałem już dużo wspólnego. Jednak sqlite to dla mnie nowość. Bawiłem się tylko mysql i postgresql. Pozdrawiam Marcin Sent from my GT540 using Tapatalk
  24. piotrpo

    SQLite konwersja danych

    Mam następujący problem: W bazie sqlite tabela z polem real przechowującym datę w postaci milisekund od początku epoki. Z tabeli pobieram kursor, który następnie wyświetlam w list view za pomocą SimpleCursorAdapter. Data również powinna być prezentowana, jednak w bardziej ludzkim formacie. Generalnie problem sprowadza się do napisania "new Date(moje_pole);" - tyle, że nie za bardzo mam pomysł w którym miejscu to zrobić. Pierwotnie chciałem wrzucić konwersję do kwerendy, jednak SQLite nie oferuje odpowiednich funkcji, a możliwość zrobienia UDF w przypadku androida wydaje się wątpliwa, pomimo deklaracji Google, że jest to pełna wersja tego RDBMS . Opcja najprostsza i najgłupsza to dorobienie kolumny tekstowej i procedury, która będzie ją uzupełniać. Tyle, że jest to tak paskudne, że wolał bym się do tego nie uciekać. Macie jakieś inne pomysły na dokonanie konwersji na polu pomiędzy wyciągnięciem go z bazy a wrzuceniem w ListView?
  25. Czy jest możliwość, aby z poziomu PC dostać się do bazy sqlite działającej na naszym telefonie. Chodzi mi konkretnie o dostanie się do jednej z baz z programu - chcę tam ręcznie powrzucać krotki, które mam w backupie.
x