如果打开互联网连接,如何在android中每10秒钟打印一次数据 公共类MainActivity扩展了ActionBarActivity{ 检查互联网连接; 文本视图文本视图; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textview=(textview)findViewById(R.id.textview); internet=新检查InternetConnection(); } @凌驾 受保护的void onResume(){ //TODO自动生成的方法存根 super.onResume(); IntentFilter=newintentfilter(); filter.addAction(WifiManager.NETWORK\u id\u CHANGED\u ACTION); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(互联网、过滤器); } @凌驾 受保护的void onPause(){ //TODO自动生成的方法存根 super.onPause(); 未注册接收人(互联网); } 类CheckinternetConnection扩展广播接收器{ @凌驾 公共void onReceive(上下文、意图){ //TODO自动生成的方法存根 if(Utils.isNetworkAvailable(MainActivity.this)){ textview.setVisibility(View.GONE); 新的print().execute(); }否则{ textview.setVisibility(View.VISIBLE); setText(“似乎互联网连接已关闭”); } } } 类打印扩展异步任务 { @凌驾 受保护的Void doInBackground(Void…参数){ //TODO自动生成的方法存根 返回null; } @凌驾 受保护的void onPostExecute(void结果){ //TODO自动生成的方法存根 super.onPostExecute(结果); Toast.makeText(MainActivity.this,“heloo”,10000).show(); } } }
这是我的代码我正在跟踪使用本地广播打开或关闭internet,但我希望使用asynk任务或处理程序类在10秒内打印数据如果internet打开,请告诉我如何在asynk任务中安排时间,或者我们应该使用处理程序类请建议我您通过如下更改流程获得此信息 当您获得接收器时,您必须执行AsyncTask,在该AsyncTask中,您必须在doInBackground方法中编写检查interent连接的代码,然后当您获得结果时,您可以在onPostExecute方法中toast它 下面是异步任务的代码如果打开互联网连接,如何在android中每10秒钟打印一次数据 公共类MainActivity扩展了ActionBarActivity{ 检查互联网连接; 文本视图文本视图; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textview=(textview)findViewById(R.id.textview); internet=新检查InternetConnection(); } @凌驾 受保护的void onResume(){ //TODO自动生成的方法存根 super.onResume(); IntentFilter=newintentfilter(); filter.addAction(WifiManager.NETWORK\u id\u CHANGED\u ACTION); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(互联网、过滤器); } @凌驾 受保护的void onPause(){ //TODO自动生成的方法存根 super.onPause(); 未注册接收人(互联网); } 类CheckinternetConnection扩展广播接收器{ @凌驾 公共void onReceive(上下文、意图){ //TODO自动生成的方法存根 if(Utils.isNetworkAvailable(MainActivity.this)){ textview.setVisibility(View.GONE); 新的print().execute(); }否则{ textview.setVisibility(View.VISIBLE); setText(“似乎互联网连接已关闭”); } } } 类打印扩展异步任务 { @凌驾 受保护的Void doInBackground(Void…参数){ //TODO自动生成的方法存根 返回null; } @凌驾 受保护的void onPostExecute(void结果){ //TODO自动生成的方法存根 super.onPostExecute(结果); Toast.makeText(MainActivity.this,“heloo”,10000).show(); } } },android,Android,这是我的代码我正在跟踪使用本地广播打开或关闭internet,但我希望使用asynk任务或处理程序类在10秒内打印数据如果internet打开,请告诉我如何在asynk任务中安排时间,或者我们应该使用处理程序类请建议我您通过如下更改流程获得此信息 当您获得接收器时,您必须执行AsyncTask,在该AsyncTask中,您必须在doInBackground方法中编写检查interent连接的代码,然后当您获得结果时,您可以在onPostExecute方法中toast它 下面是异步任务的代码 pu
public class MainActivity extends ActionBarActivity {
CheckinternetConnection internet;
TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview = (TextView) findViewById(R.id.textview);
internet = new CheckinternetConnection();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION);
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(internet, filter);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
unregisterReceiver(internet);
}
class CheckinternetConnection extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (Utils.isNetworkAvailable(MainActivity.this)) {
textview.setVisibility(View.GONE);
new print().execute();
} else {
textview.setVisibility(View.VISIBLE);
textview.setText("It Seems Internet Connection is off");
}
}
}
class print extends AsyncTask<Void, Void, Void>
{
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
return null;
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
Toast.makeText(MainActivity.this, "heloo", 10000).show();
}
}
}
公共类InternetCheckActivity扩展异步任务{
上下文mcontext=null;
布尔网络;
int callId;
字符串connRes=null;
SharedReferences SharedReferences;
公共InternetCheckActivity(上下文,int callId){
this.mcontext=上下文;
this.callId=callId;
}
@凌驾
受保护的字符串doInBackground(字符串…参数){
如果(断开连接的点网络()){
connRes=“成功”;
}否则{
connRes=“网络错误”;
}
返回康纳斯;
}
@凌驾
受保护的void onPreExecute(){
}
@凌驾
受保护的void onPostExecute(字符串结果){
//编写代码
}
公共布尔值isconnectedPointerNet(){
sharedPreferences=首选项管理器
.GetDefaultSharedReferences(mcontext);
字符串url1=”http://www.google.com/images/srpr/logo11w.png";
如果(!网络连接(url1,“Internet”)){
返回true;
}否则{
返回true;
}
}
公共布尔网络连接(字符串strurl,字符串类型){
试一试{
URL=新URL(strurl);
HttpURLConnection urlc=(HttpURLConnection)url.openConnection();
设置连接超时(4000);
Log.i(“网络连接”,“开始连接到“+type+”url:+strurl”);
connect();
System.out.println(类型+“响应代码:+urlc.getResponseCode()+”;响应消息:+urlc.getResponseMessage());
如果(urlc.getResponseCode()==200){
Log.d(“networkconnection”,type+“Success!”);
返回true;
}else if(urlc.getResponseCode()==404){
返回false;
}否则{
返回false;
}
}捕获(格式错误的异常e1){
Log.d(“networkconnection”、“MalformedURLException”+e1.toString());
返回false;
}捕获(IOE异常){
Log.d(“networkconnection”、“IOException”+e.toString());
返回false;
}
}
}
尝试使用Android AlarmManager。它将帮助您在重复模式下安排任务。
检查下面的代码,您将由此获得所有信息 可恢复性活动。这
public class InternetCheckActivity extends AsyncTask<String, Void, String> {
Context mcontext = null;
boolean NetworkRes;
int callId;
String connRes = null;
SharedPreferences sharedPreferences;
public InternetCheckActivity(Context context, int callId) {
this.mcontext = context;
this.callId = callId;
}
@Override
protected String doInBackground(String... params) {
if (isConnectedToInternet()) {
connRes = "Sucess";
} else {
connRes = "NetWork Error";
}
return connRes;
}
@Override
protected void onPreExecute() {
}
@Override
protected void onPostExecute(String result) {
// write your code
}
public boolean isConnectedToInternet() {
sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(mcontext);
String url1 = "http://www.google.com/images/srpr/logo11w.png";
if (!networkconnection(url1,"Internet")) {
return true;
} else {
return true;
}
}
public boolean networkconnection(String strurl,String type) {
try {
URL url = new URL(strurl);
HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
urlc.setConnectTimeout(4000);
Log.i("networkconnection", "Started connection to " + type + "url : "+ strurl);
urlc.connect();
System.out.println(type + " Response Code: " + urlc.getResponseCode() + " | Response Message: " + urlc.getResponseMessage());
if (urlc.getResponseCode() == 200) {
Log.d("networkconnection", type + " Success !");
return true;
} else if (urlc.getResponseCode() == 404) {
return false;
} else {
return false;
}
} catch (MalformedURLException e1) {
Log.d("networkconnection", "MalformedURLException " + e1.toString());
return false;
} catch (IOException e) {
Log.d("networkconnection", "IOException " + e.toString());
return false;
}
}
}
ConnectionListener.java
public class rechabilityActivity extends Activity implements ConnectionListener{
int tempint = 100;
Button btnNext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnNext = (Button) findViewById(R.id.btnNext);
//When you call this on oncreate
new InternetCheckActivity(rechabilityActivity.this, tempint).execute();
//When you call this on button click
btnNext.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new internetCheckActivity(rechabilityActivity.this,R.id.btnNext).execute();
}
});
}
@Override
public void onconnectionChecked(String resuString, int callId) {
if (resuString.equals("Sucess")) {
// network rechable
switch (callId) {
case R.id.btnNext:
// perform action
break;
case tempint:
// perform action
default:
break;
}
} else if (resuString.equals("NetWork Error")) {
// network error
}
}
}
public interface ConnectionListener {
abstract void onconnectionChecked(String resuString,int callId);
}
InternetCheckActivity.java
public class rechabilityActivity extends Activity implements ConnectionListener{
int tempint = 100;
Button btnNext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnNext = (Button) findViewById(R.id.btnNext);
//When you call this on oncreate
new InternetCheckActivity(rechabilityActivity.this, tempint).execute();
//When you call this on button click
btnNext.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new internetCheckActivity(rechabilityActivity.this,R.id.btnNext).execute();
}
});
}
@Override
public void onconnectionChecked(String resuString, int callId) {
if (resuString.equals("Sucess")) {
// network rechable
switch (callId) {
case R.id.btnNext:
// perform action
break;
case tempint:
// perform action
default:
break;
}
} else if (resuString.equals("NetWork Error")) {
// network error
}
}
}
public interface ConnectionListener {
abstract void onconnectionChecked(String resuString,int callId);
}
package com.example.testapp;
导入java.io.IOException;
导入java.net.HttpURLConnection;
导入java.net.MalformedURLException;
导入java.net.URL;
导入android.content.Context;
导入android.content.SharedReferences;
导入android.os.AsyncTask;
导入android.preference.PreferenceManager;
导入android.util.Log;
公共类InternetCheckActivity扩展异步任务{
上下文mcontext=null;
连接侦听器;
布尔网络;
int callId;
字符串connRes=null;
SharedReferences SharedReferences;
公共InternetCheckActivity(上下文,int callId){
this.mcontext=上下文;
this.callId=callId;
}
@凌驾
受保护的字符串doInBackground(字符串…参数){
如果(断开连接的点网络()){
connRes=“成功”;
}否则{
connRes=“网络错误”;
}
返回康纳斯;
}
@凌驾
受保护的void onPreExecute(){
}
@凌驾
受保护的void onPostExecute(字符串结果){
connListener.onconnectionChecked(结果,callId);
}
公共布尔值isconnectedPointerNet(){
sharedPreferences=首选项管理器
.GetDefaultSharedReferences(mcontext);
字符串url1