我正在尝试创建一个全局类。我希望我的所有活动都有一个全局变量。
我的课程:
package com.example.app;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import android.app.Application;
public class Records extends Application{
private int N_livelli=30;
private int[] record = new int[N_livelli];
private String path = getApplicationContext().getFilesDir().getPath() + "/Records.txt";
public void LetturaFile()
{
File f = new File(path);
if(f.exists())
{
try
{
FileReader fileLeggi = new FileReader(path);
BufferedReader lettore = new BufferedReader(fileLeggi);
String rigaLetta;
int n=0;
while((rigaLetta=lettore.readLine())!=null)
{
record[n]=Integer.valueOf(rigaLetta);
n++;
}
lettore.close();
fileLeggi.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else
{
try
{
for(int i=0;i<N_livelli;i++) record[i]=0;
f.createNewFile();
FileWriter fileScrivi = new FileWriter(path);
fileScrivi.write("");
for(int i=0;i<N_livelli;i++) fileScrivi.append(record[i]+"\n");
fileScrivi.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public int getRecord(int livello)
{
return record[livello-1];
}
}
关于MainActivity OnCreate的代码:
[...]
Records records = (Records) getApplicationContext();
records.LetturaFile();
[..]
我的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app"
android:versionCode="3"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
[...]
</activity>
<activity
android:name=".SecondActivity"
[...]
</activity>
</application>
<application
android:name=".Records">
</application>
</manifest>
Eclipse错误:android.app.application无法强制转换为com.example.app.Records
请帮帮我。谢谢。
答案 0 :(得分:0)
您必须在应用程序标记中指定类的完整路径,而不是添加其他应用程序标记,而不是其他内容。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:name="com.example.app.Records" >
...