Fråga: InetAddress fungerar inte

Diskussion i 'Applikationsutveckling' startad av akirajt, 23 sept 2017.

Taggar:
  1. akirajt

    akirajt Infant Droid Medlem

    Blev medlem:
    16 mar 2017
    Inlägg:
    2
    Mottagna gillanden:
    0
    Jag får inte syntax kod "InetAddress" att fungera i Android Studio (API 23) trots att den fungerar jättebra i Netbeans.

    Vad är det som inte fungerar som det ska?


    [​IMG]

    [​IMG]


    AndroidManifest.xml

    Kod:
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.jfdimarzio.test1">
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
    </manifest>
    MainActivity.java

    Kod:
    package com.jfdimarzio.test1;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }

    Client.java


    Kod:
    package com.jfdimarzio.test1;
    
    import java.net.InetAddress;
    
    
    public class Client
    {
    
        private static final int PORT = 2001;
        private static final String DEFAULT_HOST = "www.google.com";
    
        public void test()
        {
    
            java.net.InetAddress addr;
            addr = InetAddress.getAllByName(DEFAULT_HOST);
    
        }
    }
     
  2. MrNubcake

    MrNubcake Kid Droid Medlem

    Blev medlem:
    28 jun 2017
    Inlägg:
    49
    Mottagna gillanden:
    28
    Nu är jag inget Java-snille, och jag kanske inte förstått problemet helt, men enligt dokumentationen så returnerar getAllByName() en array. Sedan ser det ut som att den vill att du hanterar exception.
    Så testa:
    Kod:
        public void test() {
    
            InetAddress[] addr;
    
            try {
    
                addr = InetAddress.getAllByName(DEFAULT_HOST);
    
            } catch (Exception e) {
    
                System.out.println(e);
    
            }
    
        }
    
     
    bernard och indika gillar detta.
  3. addeswe

    addeswe Kid Droid Medlem

    Blev medlem:
    18 feb 2010
    Inlägg:
    87
    Mottagna gillanden:
    7
    Operatör:
    Tele2
    Telefon:
    Pocophone

    MINA ENHETER

    Operatör:
    Tele2
    Telefon:
    Pocophone
    ROM:
    Xiaomi Eu
    Eller alternativ 2, om du inte vill använda try och fånga exceptions kan du använda throws:

    Edit: Såg att jag glömt att importera UnknownHostException. Fixade det i koden. ;-)

    Kod:
    package com.jfdimarzio.test1;
    
    import java.net.InetAddress;
    import java.net.UnknownHostException;
    
    public class Client
    {
    
       private static final int PORT = 2001;
       private static final String DEFAULT_HOST = "www.google.com";
    
       public void test() throws UnknownHostException
       {
    
           java.net.InetAddress addr;
           addr = InetAddress.getAllByName(DEFAULT_HOST);
    
       }
    }
     
    Last edited: 19 okt 2017
    bernard gillar detta.
  4. riper

    riper Youth Droid Medlem

    Blev medlem:
    7 jan 2010
    Inlägg:
    128
    Mottagna gillanden:
    11
    Operatör:
    Vimla, Hallon
    Telefon:
    Samsung Galaxy S7

    MINA ENHETER

    Operatör:
    Vimla, Hallon
    Telefon:
    Samsung Galaxy S7
    Telefon 2:
    LG Nexus 5X
    Om du bara tryckt Alt+Enter på raden Android Studio klagar på så hade du fått upp förslag på lösning och den hade automagiskt lagt in try/catch samt import.