我正在尝试将我的应用程序添加到Android市场.但我面临以下错误:
" 文件无效:W/ResourceType(17963):无法在包0中输入0x7f050003(t = 4 e = 3)(错误-75)错误获取'android:icon'属性:属性不是字符串值 "
我的清单文件是:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.shaer.Hadith"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".HadithActivity"
android:screenOrientation="portrait">"
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".HadithsList">
</activity>
<activity
android:name=".Hadith">
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
"ic_launcher"包含在"res/drawable-hdpi","res/drawable-ldpi"和"res/drawable-mdpi"目录中.
我跟着这篇文章,但它对我不起作用. 尝试上传到Android电子市场时,"错误获取'android:icon'属性:属性不是字符串值"
非常感谢提前.
我创建了一个"res/drawable"目录,并在其中添加了我的图标"ic_launcher",但仍然没有区别.
我在我的应用程序中使用以下代码:
string_array = getResources().getStringArray(R.array.array_of_strings);
my_text_view.setText(string_array[i]);
Run Code Online (Sandbox Code Playgroud)
问题是我多次启动包含此代码的活动.所以,我觉得这个代码是低效的,因为每次我开始活动时我必须加载整个数组才使用一个元素,因为字符串数组非常大.
有没有办法直接加载想要的元素?
非常感谢提前:)
更新:我尝试使用Application对象,如下所述Talihawk,但我在以下行收到错误:
MyApplication my_obj = (MyApplication) getApplication();
string_array = my_obj.getStringArray();
Run Code Online (Sandbox Code Playgroud)
错误是:
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)