Java 已编程的Android应用程序不会显示在AVD中
所以我一直在努力从这本书中学习,我完全按照书中所说的去做(至少我认为是这样),但是这个应用程序并没有在AVD中显示出来。 我的包中有两个类,名为Java 已编程的Android应用程序不会显示在AVD中,java,android,sdk,Java,Android,Sdk,所以我一直在努力从这本书中学习,我完全按照书中所说的去做(至少我认为是这样),但是这个应用程序并没有在AVD中显示出来。 我的包中有两个类,名为(com.example.crazyeights): CrazyEightsActivity.java&CrazyEightsView.java 在CrazyLightsActivity下,我有: package com.example.crazyeights; import android.os.Bundle; import android.app.
(com.example.crazyeights)
:
CrazyEightsActivity.java
&CrazyEightsView.java
在CrazyLightsActivity下,我有:
package com.example.crazyeights;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class CrazyEightsActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CrazyEightsView CrazyEightsView = new CrazyEightsView(this);
setContentView(R.layout.activity_main);
}
}
在CrazyEightsView.java
下,我有:
package com.example.crazyeights;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class CrazyEightsView extends View
{
private Paint redPaint;
private int circleX;
private int circleY;
private float radius;
public CrazyEightsView(Context context) {
super(context);
redPaint = new Paint();
redPaint.setAntiAlias(true);
redPaint.setColor(Color.RED);
circleX = 100;
circleY = 100;
radius = 30;
}
@Override
protected void onDraw(Canvas canvas)
{
canvas.drawCircle(circleX, circleY, radius, redPaint);
}
}
我已经做了一个“测试应用”,只是想看看它是否能与我的AVD一起工作,它确实能。
谢谢你的帮助
编辑:我的AndroidManifest.xml
当前看起来如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.crazyeights"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.crazyeights.CrazyEightsActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<activity>
android:name="com.example.crazyeights.CrazyEightsActivity"
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
您也有清单文件吗 如果您有清单,是否将新活动添加到清单中,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.crazyeights"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.crazyeights.CrazyEightsActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<activity>
android:name="com.example.crazyeights.CrazyEightsActivity"
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
android:name=“com.example.crazyeights.CrazyEightsActivity”
您必须对本课程的CrazyLightsActivity进行一些更改
1) OnCreateMethod
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new CrazyEightsView(CrazyEightsActivity.this));
}
我复制了它并将其替换为Put>after…CrazyEightsActivity“嗯…我做得对吗?(我用.xml编辑了我的原始帖子)“你必须对CrazyEightsActivity这个类进行一些更改”这意味着什么?你的自定义视图类名是CrazyEightsView ok,然后你必须使用setcontentview(id)显示这个视图CrazyEightsView crazyEightView=new CrazyEightsView(CrazyEightsActivity.this);setContentView(crazyEightView);//如果必须引用我正在传递的示例//stackoverflow链接//请检查此链接以供参考