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å
- Igår Se vilka spel som funkar på Windows på ARM 27
- 21 / 5 Grafikprestanda i Senua's Saga: Hellblade II – ett av de tyngsta PC-spelen någonsin 128
- 19 / 5 Ghost of Tsushima kan använda DLSS och FSR 3 samtidigt 11
- 17 / 5 27 år senare – Winamp får öppen källkod 45
- 17 / 5 Grafikprestanda i Ghost of Tsushima – en välpolerad PC-version 28
- Moda FSR 3.0 support0
- Snabbtest: Steam Deck överraskar som arbetsdator19
- Rykte: Microsoft vill köpa upp Valve122
- Router med funktion för tunnel/VPN mellan flera olika platser, på eget nät?6
- Facebook ska använda dina inlägg för att träna AI54
- Elbilar - Tråden för intresserade23306
- River ni bort adresslappen?7
- Vad har ni i lön?13076
- RX 7900XT/XTX Owners Club871
- Tips på routers!2
- Säljes Gamingtillbehör Headset Tangentbord Mus
- Säljes Asus ROG Loki 1000W Platinum (SFX-L) & Apple AirPods Pro (Gen 1)
- Säljes Komplett Gaming/Renderingsdator: 1950X 16 core, EVGA GEFORCE RTX 3070, 3TB M.2, 2x32GB CL16 ink. 240 Hz 27"
- Säljes Nvidia ASUS Strix RTX 4090 24GB
- Köpes 7800 XT - 7900 XTX eller motsvarande Nvidia
- Säljes gammal server
- Säljes Phanteks Enthoo EVOLV ATX Silver, Corsair h100i v2
- Säljes Dell U4924DW - 49 tum, ultrawide
- Säljes Realtek 8822CE m.2 wifi-kort
- Säljes Google Pixel 7 Pro
Tester av chassi, grafikkort, processorer m.m.
- Snabbtest: Steam Deck överraskar som arbetsdator19
- Snabbtest: 3DMark Steel Nomad – visuellt avancerat, förvånansvärt lättdrivet45
- Grafikprestanda i Senua's Saga: Hellblade II – ett av de tyngsta PC-spelen någonsin128
- Grafikprestanda i Ghost of Tsushima – en välpolerad PC-version28
- SweClockers Noob-byggarguide Del 213
- Köpråd: 8 bästa komponenterna just nu67
- SweClockers Noob-byggarguide Del 117
- Prispressat mejselkit är Testlabbets favorit51
- Corsair Platform 6: För dig som inte nöjer dig med Ikea-skrivbord11
- Airtec Pro Type1 – batteridrivet alternativ till tryckluft på burk129