我对Android Studio有问题。 我有两个几乎具有相同代码的类。
第一类正在运行,没有问题,但是第二类导致了错误。
第一堂课
package com.example.guenes2.emobilitylab;
import android.content.ComponentName;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class NEFZ2array extends AppCompatActivity implements Serializable {
public static void main(String[] args) {
FileReader file = null;
try {
file = new FileReader("NEFZ.txt");
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ArrayList<Double> Nlist = new ArrayList<Double>();
int i=0;
Double d= null;
try {
BufferedReader input = new BufferedReader(file);
String s=null;
while((s=input.readLine())!=null) {
StringTokenizer st = new StringTokenizer(s,",");
while(st.hasMoreTokens()) {
try {
d = Double.parseDouble(st.nextToken());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Nlist.add(i, d);
}
}
input.close();
} catch(Exception e) {
e.printStackTrace();
}
for(double j:Nlist) {
System.out.println(j);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nefz2array);
}
}
第二堂课
package com.example.guenes2.emobilitylab;
import android.content.ComponentName;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class WLTP2array extends AppCompatActivity implements Serializable {
public void main(String[] args) {
FileReader file = null;
try {
file = new FileReader("WLTP.txt");
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ArrayList<Double> Wlist = new ArrayList<Double>();
int i=0;
Double d= null;
try {
BufferedReader input = new BufferedReader(file);
String s=null;
while((s=input.readLine())!=null) {
StringTokenizer st = new StringTokenizer(s,",");
while(st.hasMoreTokens()) {
try {
d = Double.parseDouble(st.nextToken());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Wlist.add(i, d);
}
}
input.close();
} catch(Exception e) {
e.printStackTrace();
}
for(double k:Wlist) {
System.out.println(k);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wltp2array);
}
}
第二类错误:
Error running 'WLTP2array': The activity must be exported or contain an intent-filter
我不明白此错误的原因是什么。我知道我可以通过更改清单来解决该错误,但是我不能运行该单一类。整个应用程序运行。
感谢您的建议。
这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.guenes2.emobilitylab">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".fahrzeugsimulation" />
<activity android:name=".elektrofahrzeug" />
<activity android:name=".hybridfahrzeug" />
<activity android:name=".brennstoffzellenfahrzeug" />
<activity android:name=".ergebnisse" />
<activity android:name=".ausfuehrlicher" />
<activity android:name=".VerlRadleistung" />
<activity android:name=".HaufRad" />
<activity android:name=".VerlEM" />
<activity android:name=".BetriebsVKM" />
<activity android:name=".bearbeitung" />
<activity android:name=".info" />
<activity android:name=".info2" />
<activity android:name=".info3" />
<activity android:name=".ergebnisse2" />
<activity android:name=".elektroTabelle" />
<activity android:name=".hybridTabelle" />
<activity android:name=".brennstoffzelleTabelle" />
<activity android:name=".WLTP2array" />
<activity android:name=".NEFZ2array" />
</application>
</manifest>
编辑------------------------------------------------ ---------------------
我试图借助帮助对其进行修复,但是现在第一类显示相同的错误,而第二类运行正确。也许这两个类相互影响。
答案 0 :(得分:1)
首先,如错误所示
运行“ WLTP2array”时出错:该活动必须导出或包含意图过滤器
您需要在manifest.xml
文件中注册活动,类似于在活动NEFZ2array
中进行注册。检查您的manifest.xml
并正确声明WLTP2array
。
其次,在行
下更改public void main(String[] args)
到
public static void main(String[] args)
您需要主要方法的关键字静态来运行该类。
------编辑------
最后,编辑您的运行/调试配置。
添加新配置-> 应用,选择主类,配置工作目录和使用模块的类路径
然后右键单击该类以运行您的单个类,请参见下文:
因此,最后,当您打开“ 运行/调试配置”时,应该如下所示:
答案 1 :(得分:0)
您的清单中必须包含此内容:
<activity android:name=".WLTP2array" >
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>