我试图从资产文件夹中读取rtf文件。这是我的logcat错误报告。我尝试了很多来解决它。将sdk版本更改为19.
03-09 08:49:24.300: E/AndroidRuntime(1035): FATAL EXCEPTION: main
03-09 08:49:24.300: E/AndroidRuntime(1035): Process: com.example.ipraxis, PID: 1035
03-09 08:49:24.300: E/AndroidRuntime(1035): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.ipraxis/com.example.ipraxis.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.ipraxis.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.ipraxis-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.ipraxis-1, /system/lib]]
03-09 08:49:24.300: E/AndroidRuntime(1035): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2123)
03-09 08:49:24.300: E/AndroidRuntime(1035): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2258)
03-09 08:49:24.300: E/AndroidRuntime(1035): at android.app.ActivityThread.access$800(ActivityThread.java:138)
03-09 08:49:24.300: E/AndroidRuntime(1035): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1209)
03-09 08:49:24.300: E/AndroidRuntime(1035): at android.os.Handler.dispatchMessage(Handler.java:102)
03-09 08:49:24.300: E/AndroidRuntime(1035): at android.os.Looper.loop(Looper.java:136)
03-09 08:49:24.300: E/AndroidRuntime(1035): at android.app.ActivityThread.main(ActivityThread.java:5026)
03-09 08:49:24.300: E/AndroidRuntime(1035): at java.lang.reflect.Method.invokeNative(Native Method)
03-09 08:49:24.300: E/AndroidRuntime(1035): at java.lang.reflect.Method.invoke(Method.java:515)
03-09 08:49:24.300: E/AndroidRuntime(1035): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
03-09 08:49:24.300: E/AndroidRuntime(1035): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
03-09 08:49:24.300: E/AndroidRuntime(1035): at dalvik.system.NativeStart.main(Native Method)
03-09 08:49:24.300: E/AndroidRuntime(1035): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.ipraxis.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.ipraxis-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.ipraxis-1, /system/lib]]
03-09 08:49:24.300: E/AndroidRuntime(1035): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-09 08:49:24.300: E/AndroidRuntime(1035): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
03-09 08:49:24.300: E/AndroidRuntime(1035): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
03-09 08:49:24.300: E/AndroidRuntime(1035): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
03-09 08:49:24.300: E/AndroidRuntime(1035): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2114)
03-09 08:49:24.300: E/AndroidRuntime(1035): ...
的AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.ipraxis"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ipraxis.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
MainActivity.java
package com.example.ipraxis;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTabHost;
public class MainActivity extends FragmentActivity {
private FragmentTabHost mTabHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), android.R.id.tabcontent);
mTabHost.addTab(
mTabHost.newTabSpec("tab1").setIndicator("Reasoning", null),
FragmentTab.class, null);
mTabHost.addTab(
mTabHost.newTabSpec("tab2").setIndicator("GK", null),
FragmentTab.class, null);
mTabHost.addTab(
mTabHost.newTabSpec("tab3").setIndicator("English", null),
FragmentTab.class, null);
mTabHost.addTab(
mTabHost.newTabSpec("tab4").setIndicator("Computer", null),
FragmentTab.class, null);
mTabHost.addTab(
mTabHost.newTabSpec("tab5").setIndicator("Apps", null),
FragmentTab.class, null);
}
}
FragmentActivity.java
package com.example.ipraxis;
import java.io.IOException;
import java.io.InputStream;
import com.lowagie.text.Document;
import com.lowagie.text.rtf.parser.RtfParser;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class FragmentTab extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView (LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState)
{
View rootView = inflater.inflate (R.layout.fragment_layout,container,false);
TextView tv = (TextView) rootView.findViewById (R.id.directions);
InputStream istr = null;
try {
istr = (InputStream) getActivity().getAssets().open("Hellooo.rtf");
Document document = new Document();
document.open();
RtfParser parser = new RtfParser(null);
parser.convertRtfDocument(istr,document);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
};
return rootView;
}
}
请帮助我修复错误。