java - Android 入门项目结构

标签 java android web-services android-studio

我从android studio开始,我试图让应用程序在启动之前检查连接性,为此我正在创建一个启动屏幕,但我真的找不到计算检查连接时间的方法,我的要求是启动屏幕仅在我检查连接时保持可见。 这是我的 onCreate 方法中的内容:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    int myTimer = 4000;
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            Intent i = new Intent(Splash.this, DashBoard.class);
            boolean result = AppManager.CheckConnectionStatus(getApplicationContext());
            if(result == true) {
                startActivity(i);
            }
            else{
                //Show a Message informing there is not internet connection
            }

            finish();
        }
    }, myTimer);

    setContentView(R.layout.activity_splash);
}

正如你所看到的,我等待了 4000 毫秒,但这不是我的想法...... 如果有人知道我该如何面对这个问题,我将不胜感激。

最佳答案

据我了解,您想要检查网络可用性,然后如果可用则启动 MainActivity。您可以使用此功能检查网络可用性:

public boolean isInternetAvailable(Context context)
{
    NetworkInfo info = (NetworkInfo) ((ConnectivityManager)
        context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();

    if (info == null){
        return false;
    }
    else{
        return true;
    }
}

然后将此代码添加到您的 SplashScreen Activity 中:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);

    Intent i = new Intent(Splash.this, DashBoard.class);

    if(isInternetAvailable(Splash.this)){
        startActivity(i);
        finish();
    }
    else{
        Toast toast = Toast.makeText(Splash.this, 
            "Please check your internet options...", Toast.LENGTH_SHORT);
        toast.setGravity(Gravity.CENTER, 0, 0);
        toast.show();
        finish();
    }
}

不要忘记将此权限添加到您的 list 文件中:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

我希望我能正确理解你。祝你好运。

关于java - Android 入门项目结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29747030/

相关文章:

web-services - 类级别和方法级别的@Path配置

java - 设置十六进制格式

java - Maven:将 Scala 代码和 Java 代码一起构建到一个 Fat JAR 中

java - 尝试使用异步将图像上传到 Android 网络服务器?

java - Android - 移动布局或动画项目到购物车

java - 设计问题: Dynamically changing GUI -> sending implementation classes as soap attachments

java - Java中的正则表达式模式匹配

java - Iphone 应用程序移植到 Blackberry RIM

android - 从 Fragment 对象访问 FragmentActivity 中的元素

web-services - 通过 Apache Camel 调用 CXF webservice