Android Studio模拟器打开但黑屏

时间:2014-12-25 22:32:05

标签: android macos emulation

我是编程新手。我只学习了基础知识。现在,我正在尝试使用Android Studio进行Android开发。我的程序只有一个标题,以及2个应该打开URL的按钮。我的代码似乎没有任何问题,因为没有任何红色下划线,所以我不明白为什么布局模型没有出现在模拟器中。

哪些因素会影响模拟器正常运行?我在Windows电脑上试了一下,模拟器在一分钟左右就出现了。但对于Mac来说没什么。无论如何要加快这个过程?

我的代码没有错误。我遇到的唯一问题是模拟器没有及时运行。该应用程序应该为浏览器中的每个按钮打开一个URL。

使用8 GB RAM

在Macbook Pro Mid 2010 13“上运行

**************************************活动代码******* *********

package com.first.bharg.firstapp;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;



public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        buttonOnClick();
    }

    public void buttonOnClick(){

        Button b = (Button) findViewById(R.id.button);
        Button b1 = (Button) findViewById(R.id.button2);

        b.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent i1 =
                new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.yahoo.com"));
                startActivity(i1);
            }
        });

        b1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent i2 =
                        new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
                startActivity(i2);
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

*************** *布局******************************************

<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" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
    android:id="@+id/activity_main"
    android:clickable="true"
    android:background="#ffffa157"
    android:focusable="true">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Yahoo"
        android:id="@+id/button"
        android:layout_marginTop="107dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="51dp"
        android:layout_marginStart="51dp" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Google"
        android:id="@+id/button2"
        android:layout_alignBottom="@+id/button"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginRight="42dp"
        android:layout_marginEnd="42dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="First App"
        android:id="@+id/textView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

就Windows而言,我担心你无能为力,只能等待模拟器加载所有东西。除非您使用自己的设备(即通过USB将手机连接到笔记本电脑),否则总是需要很长时间。

对于Mac来说这有点棘手。这显然不是唯一的方法,但我建议你尝试另一个模拟器,如果你实际拥有它的那个不能正常工作。它会比试图解决正在发生的事情更快。

显然你的代码还可以。但是如果你是android新手,我建议你先使用Intent熟悉android活动生命周期。 Here您可能会找到一些相关的信息。

我个人使用了eclipse的android SDK,它在两种操作系统上都能正常工作。