آموزش HttpURLConnection در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش HttpURLConnection در برنامه نویسی اندروید می پردازیم شاید بپرسید HttpURLConnection چیست برای اینکه بررسی کنیم سرور یا یک url کار می کند و یا گوشی به اینترنت متصل است یا خیر می توانیم از HttpURLConnection استفاده کنیم در ادامه با ما همراه باشید.
ابتدای وارد layout خود شده در اینجا نام آن برابر با activity_main.xml است و در مسیر res/vlaues قرار دارد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="35dp" android:textSize="18sp" android:textColor="#ff0000" android:text="HttpURLConnection\nIP Based" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="Checking Connection.." /> </RelativeLayout> |
و در بخش کد جاوا (بخش MainActivity.java) کد های زیر را قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | package ir.programchi; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; import android.os.Bundle; import android.widget.TextView; import android.app.Activity; public class MainActivity extends Activity { TextView text; String ip = "158.58.188.227"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text = (TextView) findViewById(R.id.textView2); try { URL url = new URL(ip); executeReq(url); text.setText("HttpURLConnection Available"); } catch(Exception e) { text.setText("Connection Failed"); } } private void executeReq(URL url) throws IOException { HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setReadTimeout(3000); con.setConnectTimeout(3500); con.setRequestMethod("GET"); con.setDoInput(true); con.connect(); } } |
در کد بالا بررسی می شود که آیا آیپی 158.58.188.227 زنده یا همان alive است و در کل کار می کند در صورتی که کار کند پیام HttpURLConnection Available پس نتیجه کلی می شود که connection بین سرور و کاربر برقرار است. و در صورتی که خطا دهد وارد catch شده و پیام Connection Failed در TextView قرار خواهد گرفت بخش اصلی کد executeReq که در آن یک timeout برای connection در نظر می گیرد که 3 ثانیه است 3 ثانیه برای خوندن و سه ثانیه برای timeout اصلی و setRequestMethod برای دریافت داده از سرور مورد استفاده قرار می گیرد.
این آموزش هم همانند آموزش های دیگر به پایان رسید در آموزش های بعدی کدهای کامل تری برای شما قرار خواهیم داد.
موفق و پیروز باشید.
برای من “connection faild” میزنه، باید چیکار کنم؟