مشخصات مقاله
-
2091
-
0.0
-
8642
-
0
-
0
مثال برنامه اتصال به شبکه اندروید
آموزش اتصال شبکه اندروید
اندروید به برنامه های شما اجازه می دهد تا به اینترنت یا هر شبکه ی عمومی دیگر متصل شده و به شما اجازه می دهد عملکردهای شبکه انجام دهید.
یک دستگاه می تواند انواع مختلفی از اتصال شبکه داشته باشد. این فصل بر روی wi-fi و یا اتصال شبکه موبایل تمرکز می کند.
چک کردن اتصال شبکه در اندروید
قبل از اینکه شما عملکرد شبکه را اجرا کنید، باید چک کنید که آیا به شبکه و یا اینترنت متصل هستید یا نه. برای این اندروید گروه ConnectivityManager را ارائه می دهد. لازم است که یک آبجکت از این گروه را با فراخوانی روش getSystemService() به عنوان نمونه قرار دهید. ترکیب آن مانند زیر می باشد.
ConnectivityManager check = (ConnectivityManager)
this.context.getSystemService(Context.CONNECTIVITY_SERVICE);
زمانی که شما آبجکت گروه ConnectivityManager را به عنوان نمونه قرار دادید، می توانید از روش getAllNetworkInfo برای گرفتن اطلاعات همه ی شبکه ها استفاده کنید. این روش ردیفی از NetworkInfo را گزارش می دهد. بنابراین باید آن را به این شکل دریافت کنید.
NetworkInfo[] info = check.getAllNetworkInfo();
آخرین کاری که باید انجام دهید Connected State (وضعیت اتصال) مربوط به شبکه را چک کنید، که ترکیب آن به این شکل می باشد.
for (int i = 0; i
علاوه بر این وضعیت های اتصال، وضعیت های دیگری نیز هستند که یک شبکه می تواند داشته باشد، که لیست آنها در زیر ارائه شده است.
اجرای عملکردهای شبکه در اندروید
پس از چک کردن وضعیت اتصال، می توانید هر عملکرد شبکه را اجرا کنید. در اینجا html یک وب سایت را از یک url می آوریم.
اندروید گروه HttpURLConnection و URL را برای رسیدگی به این عملکردها ارائه می دهد. شما باید یک آبجکت از گروه URL رابه عنوان نمونه برای ارائه به لینک وب سایت در نظر بگیرید. ترکیب آن به شکل زیر می باشد.
String link = "http://www.google.com";
URL url = new URL(link);
پس از آن لازم است روش openConnection از گروه URL رافرا بخوانید و آن را در آبجکت HttpURLConnection دریافت کنید. پس از آن لازم است روش اتصال را از گروه HttpURLConnection فرا بخوانید.
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.connect();
و آخرین کاری که باید انجام دهید، آوردن HTML از وب سایت می باشد. برای انجام این کار شما به گروه InputStream و BufferedReader نیاز خواهید داشت. تر کیب آن را در زیر می توانید ببینید.
InputStream is = conn.getInputStream();
BufferedReader reader =new BufferedReader(new InputStreamReader(is, "UTF-8"));
String webPage = "",data="";
while ((data = reader.readLine()) != null){
webPage += data + "\n";
}
علاوه بر این روش اتصال، روش هاب دیگری هم در گروه HttpURLConnection هستند؛ که لیست آنها در زیر ارائه شده است.
مثال:
این مثال استفاده از گروه HttpURLConnection را توضیح می دهد. در این مثال یک برنامه ی پایه ایجاد می شود که به شما اجازه می دهد HTML را از یک صفحه ی وب ارائه شده دانلود کنید. برای انجام این مثال باید آن را روی یک دستگاه واقعی اجرا کنید که در آن اینترنت wi-fi متصل می باشد.
در اینجا محتوای src/com.example.networkconnection/MainActivity.java را مشاهده می کنید.
package com.example.networkconnection;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
private EditText urlField;
private TextView data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
urlField = (EditText)findViewById(R.id.editText1);
data = (TextView)findViewById(R.id.textView2);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void download(View view){
String url = urlField.getText().toString();
new DownloadWebPage(this,data).execute(url);
}
}
در اینجا محتوای src/com.example.networkconnection/DownloadWebPage.java را می بینید.
package com.example.networkconnection;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class DownloadWebPage extends AsyncTask{
private TextView dataField;
private Context context;
public DownloadWebPage(Context context,TextView dataField) {
this.context = context;
this.dataField = dataField;
}
//check Internet conenction.
private void checkInternetConenction(){
ConnectivityManager check = (ConnectivityManager) this.context.
getSystemService(Context.CONNECTIVITY_SERVICE);
if (check != null)
{
NetworkInfo[] info = check.getAllNetworkInfo();
if (info != null)
for (int i = 0; i
در زیر محتوای activity_main.xml می باشد.
در زیر محتوای Strings.xml می باشد.
NetworkConnection Settings Hello world! URL here Download WebPage http://www.tutorialspoint.com
در زیر محتوای AndroidManifest.xml را مشاهده می کنید.
اجازه بدهید برنامه ی NetworkConnection را اجرا کنیم. فرض می کنیم که دستگاه موبایل اندروید خود را به کامپیوتر متصل کرده اید. برای اجرای برنامه از Eclipse، یکی ازفایل های فعالیت پروژه را باز کرده و روی آیکن Run از تولبار کلیک کنید. قبل از شروع برنامه ی شما، Eclipse پنجره ی زیر را برای انتخاب گزینه ی محل اجرای برنامه ی اندرویدتان، نمایش خواهد داد.
موبایل خود را به عنوان یک گزینه انتخاب کنید و سپس آن را چک کنید که صفحه ی زیر را نمایش می دهد.
حالا HTML مورد نیاز را تایپ کنید. من tutorialpoints.com را تایپ کردم، که در تصویر زیر مشاهده می کنید.
اکنون دکمه ی Download WebPage را فشار داده و چند ثانیه صبرکنید. HTML دانلود شده و به شما نمایش داده خواهد شد، مانند تصویر زیر