Inlägg
Felet var bla. i XMLen. Vissa värden var tomma, så fick göra en ifsats för att checka detta:
if (lat == null || lat.length() == 0) {
lat = "0";
} else {
lati = Double.parseDouble(lat);
}
if (lng == null || lng.length() == 0) {
lng = "0";
} else {
lngi = Double.parseDouble(lng);
}
Invalid double: ""
om det är så enkelt som jag tror, så beror det på att en tom sträng inte kan omvandlas till en double.
vid log.e() så skrivs värdena ut, så de bör inte vara tomt.
Andra problem med just nummer är , samt . Då de används i olika språk och inställningar som nummer separator. vet inte hur det är i Java men kan vara något som det.
Denna delen av koden (som ifs är utkommenterad nu) ska ändra "," till en ".":
// lat = lat.replace(",", ".");
// lng = lng.replace(",", ".");
Och enligt logcaten så ska den ha ändrats, men kanske vid fel tillfälle
Men "." kanske inte fungerar alls? Ska testa och se om det går att att köra utan någon seperator!
Hittar verkligen inte felet i koden, letar ihjäl mig.
Problem med parseing i Android och JSON. String->double
Tja! Sitter och programmerar en app. Hämtar koordinater med JSON, ska göra om dessa från en String till en double, så jag kan sätta ut dessa koordinater i kartan.
Jag får ett NumberFormatException. Här nedan är koden och LogCat.
public class LagerActivity extends Activity {
private static String url = "http://agent.nocrew.org/api/json/1.0/searchStore.json?limit=5...";
static final String TAG_ITEMS = "items";
static final String TAG_LAT = "lat";
static final String TAG_LNG = "lng";
private GoogleMap mMap;
private LocationManager locationManager;
JSONArray items = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lager);
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
.getMap();
// Creating JSON Parser instance
JSONparser jParser = new JSONparser();
// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl(url);
try {
// Getting Array of Contacts
items = json.getJSONArray(TAG_ITEMS);
// looping through All Contacts
for (int i = 0; i < items.length(); i++) {
JSONObject c = items.getJSONObject(i);
// Storing each json item in variable
String lat = c.getString(TAG_LAT);
String lng = c.getString(TAG_LNG);
// lat = lat.replace(",", ".");
// lng = lng.replace(",", ".");
// Log.e(lat, lng);
double lati = Double.parseDouble(lat);
Log.d(Double.toString(lati), " ");
// LatLng point = new LatLng(Double.parseDouble(lat),
// Double.parseDouble(lng));
// mMap.addMarker(new MarkerOptions().position(point)
// .title("Karls räkor & hund")
// .snippet("blaha, ehehe"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
Här är min LogCat:
01-11 18:10:23.294: W/dalvikvm(22718): threadid=1: thread exiting with uncaught exception (group=0x40e86930)
01-11 18:10:23.294: E/AndroidRuntime(22718): FATAL EXCEPTION: main
01-11 18:10:23.294: E/AndroidRuntime(22718): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.checkmypint/com.example.checkmypint.LagerActivity}: java.lang.NumberFormatException: Invalid double: ""
01-11 18:10:23.294: E/AndroidRuntime(22718): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
01-11 18:10:23.294: E/AndroidRuntime(22718): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
01-11 18:10:23.294: E/AndroidRuntime(22718): at android.app.ActivityThread.access$600(ActivityThread.java:141)
01-11 18:10:23.294: E/AndroidRuntime(22718): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
01-11 18:10:23.294: E/AndroidRuntime(22718): at android.os.Handler.dispatchMessage(Handler.java:99)
01-11 18:10:23.294: E/AndroidRuntime(22718): at android.os.Looper.loop(Looper.java:137)
01-11 18:10:23.294: E/AndroidRuntime(22718): at android.app.ActivityThread.main(ActivityThread.java:5039)
01-11 18:10:23.294: E/AndroidRuntime(22718): at java.lang.reflect.Method.invokeNative(Native Method)
01-11 18:10:23.294: E/AndroidRuntime(22718): at java.lang.reflect.Method.invoke(Method.java:511)
01-11 18:10:23.294: E/AndroidRuntime(22718): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-11 18:10:23.294: E/AndroidRuntime(22718): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
01-11 18:10:23.294: E/AndroidRuntime(22718): at dalvik.system.NativeStart.main(Native Method)
01-11 18:10:23.294: E/AndroidRuntime(22718): Caused by: java.lang.NumberFormatException: Invalid double: ""
01-11 18:10:23.294: E/AndroidRuntime(22718): at java.lang.StringToReal.invalidReal(StringToReal.java:63)
01-11 18:10:23.294: E/AndroidRuntime(22718): at java.lang.StringToReal.parseDouble(StringToReal.java:248)
01-11 18:10:23.294: E/AndroidRuntime(22718): at java.lang.Double.parseDouble(Double.java:295)
01-11 18:10:23.294: E/AndroidRuntime(22718): at com.example.checkmypint.LagerActivity.onCreate(LagerActivity.java:65)
01-11 18:10:23.294: E/AndroidRuntime(22718): at android.app.Activity.performCreate(Activity.java:5104)
01-11 18:10:23.294: E/AndroidRuntime(22718): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
01-11 18:10:23.294: E/AndroidRuntime(22718): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
01-11 18:10:23.294: E/AndroidRuntime(22718): ... 11 more
Någon som har en susning om vad som är fel? Det är ju uppenbarligen något med parseningen.
SQLite databas
Hej! Sitter med en fråga i skolan som jag funderar lite på. Jag har aldrig tidigare läst något om SQL, så jag är en riktig nybörjare.
Frågan lyder:
Du har följande databas:
CREATE TABLE 'friends' 'user'(
'id' INTEGER PRIMARY KEY,
'name' TEXT,
'gender' INTEGER,
);
CREATE TABLE 'friends' . 'friend'(
'id' INTEGER PRIMARY KEY AUTOINCREMENT,
'user_id' INTEGER NOT NULL,
'friends' INTEGER NOT NULL
);
a) Beskriv hur databasen är utformad i något fåtal meningar. 5 till 10 meningar bör vara lämpligt.
b) Ange vilka INSERT-satser som beskriver följande situation.
Anders är kompis med Bertil och Cecilia. Bertil är kompis med Cecilia och David.
Cecilia är kompis med Anders.
Så som jag har fattat det så är det två tabeller med två tabeller i sig. I den första så heter dem "friends" och "user", och i den finns attributena "id", "name", "gender". I den andra så heter tabellerna "friends" och "friend", i den finns attributena "id", "user_id" och "friends".
Hur de är relaterade och hur det är tänkt att dem ska användas förstår jag inte riktigt.
Jag begär inget direkt svar, men åtminstone lite hjälp på traven, vill ju trotts allt lära mig!
Hälsningar,
Kameltå
- Idag Spara till ditt nästa RTX-kort – med en RTX-spargris 17
- 20 / 9 Nvidia kan sluta tillverka RTX 4090 i oktober 30
- 20 / 9 Samsung S24 Ultra slår Iphone 16 Pro Max i batteritest 47
- 20 / 9 Guide: Cybenetics vs 80 Plus – lär känna PSU-certifieringarna 37
- 20 / 9 Rykte: Playstation 6 kan släppas i två versioner 46
- Igår Microsoft ska återstarta olycksdrabbat kärnkraftverk 45
- Igår Krönika: Reklam kommer döda Youtube som kunskapskälla 46
- Igår Kraftiga prishöjningar väntar Youtube Premium 217
- Igår Helgsnack: Hur prioriterar du komponentköp? 40
- 20 / 9 Vinnarna i TCL-tävlingen korade – olja, rymd och fjäll på prispallen! 8
- Steam Deck - Steam-baserad handhållen "konsol"801
- YouTube höjer priset217
- Vad spelar du för tillfället?1240
- Gamingdator alla dessa val3
- Köpråd GPU 1080p, budget ~4k35
- 3D skrivare - Diskussionstråden1958
- Gaming dator ~25k7
- Microsoft ska återstarta olycksdrabbat kärnkraftverk45
- Quiz: Kan du lista ut vad som ska bort? Del 2134
- Helgsnack: Hur prioriterar du komponentköp?40
- Säljes Speldator | 3070 | 3900X | 32GB | 1TB
- Köpes SSD 1-2tb
- Säljes Gamingdator AMD ryzen 7 5800x3d, radeon 6800xt, Lian li o11 mini
- Säljes RTX 3090
- Säljes Intel 6700k / ASUS Z170-E / 16 GB RAM / be quiet! Pure Rock
- Köpes Corsair SF450 Platinum
- Säljes HP OMEN 2024_240Hz I7/32/1TB/4080 intressekoll ink hyperx headset inbyggd dongel
- Säljes (Intressekoll) Lian Li 011 Dynamic Mini med custom loop, 5950x, 3090 & 2TB SSD
- Köpes 10900k,11700k köpes
- Köpes Z690 moderkort
Tester av chassi, grafikkort, processorer m.m.
- Fractal Design Refine – en utmärkt stolsdebut117
- Noctua NH-D15 G2 – utmärkt kylare med en prislapp som bränns71
- Snabbtest: Single-channel mot dual-channel – hur stor är prestandaskillnaden?82
- Snabbtest: Uppdatering ger bättre spelprestanda för Ryzen 900073
- Grafikprestanda i Star Wars Outlaws – i rymden kan ingen höra ditt grafikkort skrika85
- Grafikprestanda i Black Myth: Wukong – apsnyggt och krävande83
- AMD Ryzen 9 9950X – ett litet prestandalyft för mer pengar246
- AMD Ryzen 5 9600X – mainstreamprocessor med förbättrad spelprestanda50
- AMD Ryzen 7 9700X – ett lyft i energieffektivitet och spelprestanda251
- Billig mot dyr: premium-skärmarm ställs mot prisvärt alternativ38
Externa nyheter
Spelnyheter från FZ
- Skepp Ohoj! Like a Dragon: Pirate Yakuza in Hawaii har avtäckts idag
- Netflix smyger ut en teaser för Splinter Cell: Deathwatch idag
- Xbox 13 år gamla ambassadörprogram stängs ned i oktober igår
- Kingdom Hearts 4 kommer ge oss ett avslut på serien igår
- Nintendos Palworld-stämning verkar handla om att kasta pokébollar igår