To check simple network connectivity
Function:
When the button is pressed, small pop up will be displayed to inform the network connection.
IDE:
Android Studio 1.0.2
Source Code:
The project can be downloaded from here.
Result:
Content of AndroidManifest.xml
Explanation: add two line in AndroidManifest.xml to permit internet connection
Content of MainActivity.java file:
package com.example.osdevlab.simplefragmenttutorial;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //set to activity_main.xml
/*way of adding fragment with java*/
//FragmentOne is the class which inflate the fragment_one.xml and return the view
FragmentOne myFragment = new FragmentOne();
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
//'container' is android id in activity_main.xml
//add android:id="@+id/container" in activity_main.xml
transaction.add(R.id.container, myFragment, "main_layout_container");
transaction.commit();
}
}
Content of FragmentOne.java file:
package com.example.osdevlab.simpletutorial;
import android.app.Fragment;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
/**
* Created by osdevlab on 12/29/14.
*/
public class FragmentOne extends Fragment {
Context context;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout with fragment_one.xml
View view = inflater.inflate(R.layout.fragment_one, container, false);
//create Button 'buttonPress' and link with button id from fragment_one.xml
Button buttonPress = (Button) view.findViewById(R.id.button);
//returns the Activity the Fragment is currently associated with
//In Fragment, this step requires to pass context to other class.
//see example below for context.getSystemService
context = getActivity();
/*define OnClickListener here*/
buttonPress.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//ConnectivityManager is the class that answers queries about the state of network connectivity
//example here for context is context.getSystemService instead of getSystemService
ConnectivityManager connMgr = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
// small popup to show the status of network connection
Toast.makeText(context, "Internet is connected",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context, "Internet is not connected",
Toast.LENGTH_SHORT).show();
}
}
});
return view;
}
}

No comments:
Post a Comment