【发布时间】:2019-01-30 15:51:45
【问题描述】:
我在使用 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>
编辑------------------------------ ---------------------
我试图在帮助下修复它,但现在第一个类显示相同的错误,第二个运行正确。也许这两个类会相互影响。
【问题讨论】:
-
Manifest 中有 Intent 过滤器吗?
-
是的,我添加了我的清单。你可以在那里看到它。
-
我已经看到了你的两个问题。您似乎对 Android 开发感到困惑。 Android 中没有
main()方法。您不会在 Android 中“运行课程”。在 Android 中,有一些组件是由 Android 框架启动的。这些组件是:Activity, Service, BroadcastReceiver and Provider。您不能自己启动任何这些组件,它们只能由 Android 框架实例化和启动。这就是您遇到所有这些问题的原因。
标签: java android android-studio android-intent bufferedreader