2012-03-21 3 views
0

я хочу поделиться глобальными данными по деятельности и я следовалисключения доступа при совместном использовании глобальных данных

this link

.Но я не получаю, как объявить его в своем манифесте. Я отправляю свой код манифеста, я пробовал его по-разному, но все равно получаю ошибку. пожалуйста, скажите мне, как его решить.

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.helloandroid" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="7" /> 

<application android:icon="@drawable/icon" android:label="@string/app_name" 
    android:name=".Myapp"> 
    <activity android:name=".AndroidtestActivity" 
       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> 

Это моя основная деятельность

общественный класс AndroidtestActivity расширяет активность
{

/** Called when the activity is first created. */ 


    public static final String PREFS_NAME = "MyPrefsFile"; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    EditText et = (EditText) findViewById(R.id.text1); 

    Myapp appState = ((Myapp)getApplicationContext()); 

    String s= appState.getState(); 


    et.setText(s); 


} 

}

и мой класс Myapp является

класс Myapp расширяет Application {

private String myState; 

    public String getState(){ 
    return myState; 
    } 
    public void setState(String s){ 
    myState = "hello world"; 
    } 
} 

я получаю сообщение об ошибке в строке Myapp appState = ((Myapp) getApplicationContext());

исключение доступа, пожалуйста, скажите мне, как решить эту проблему

Пожалуйста, помогите мне с этим.

+0

Что вы действительно хотите сделать, я хочу поделиться глобальными данными между действиями. Можете ли вы быть более конкретным, что вы муравей, чтобы делиться – Triode

+0

Я хочу поделиться строковой переменной между действиями и для этого я использую приведенную выше ссылку, но все же я не понимаю, как ее объявить. это моя проблема – siva

+0

Что вы хотите сделать, разместите свой код, чтобы ответ был быстрым. – Triode

ответ

0

Слияния тегов приложения (то есть поставить андроид: имя в первом и удалить остальные):

<application android:icon="@drawable/icon" android:label="@string/app_name" 
      android:name=".MyApp"> 

    <activity android:name=".AndroidtestActivity" 
       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> 

Затем используйте getApplication() вместо getApplicationContext().

+0

спасибо за помощь ur stefan, но все же я получаю незаконное исключение доступа к классу. как я могу решить, пожалуйста, скажите мне. пожалуйста, посмотри мой отредактированный пост манифеста – siva

+0

спасибо stefan, большое спасибо – siva

+0

Myapp appState = ((Myapp) getApplication()); // NOT ... getApplicationContext()! – Stefan

Смежные вопросы