1

我如何制作一个程序,在输入字符串并按下一个键后,该字符串存储在手机中(SharedPreferences),然后如果我打开程序发送短信(消息),3秒后在消息编辑文本中写入之前存储的字符串。

到目前为止,我已经这样做了:

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

  EditText stringinput = (EditText) findViewById(R.id.string);
  Button bu = (Button) findViewById(R.id.button1);
  stringinput.setImeOptions(EditorInfo.IME_ACTION_DONE); 
  bu.setOnClickListener(this);
}

@Override  
public void onClick(View v) {  
  EditText stringinput = (EditText) findViewById(R.id.string);
  String name = stringinput.getText().toString();   
  if(v.getId()==(R.id.string)){  
  SavePreferences("STRING",name);  
  }
}  

private void SavePreferences(String key, String value){  
  SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);  
  SharedPreferences.Editor editor = sharedPreferences.edit();  
  editor.putString(key, value);  
  editor.commit();  
 }  

private void LoadPreference(){         
      SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);           
      String strSavedMem1 = sharedPreferences.getString("STRING", ""); 
     /******************** stringoutput.append(strSavedMem1);*******************/
      }
}

好的 现在我不知道如何前进---> 我认为最难的工作是在这个函数 LoadPreferences(); , 也许我应该建立一个隐式意图

Intent SEND = new Intent(Intent.ACTION_SEND);

我不知道,请帮助我

4

1 回答 1

0

如果您尝试向在 android 中运行的其他应用程序发送消息,或者为它们留下消息,我会在此处的 android 服务教程中查看在单独进程中运行的服务:http ://www.vogella.com/articles/AndroidServices /article.html 您可以让服务跟踪您传递给它的字符串,并让其他应用程序绑定到服务以获取它们。

否则,如果您只想将字符串保存到文件中,属性文件就可以了。如果其他应用程序需要能够读取该文件,请将其保存到外部存储中。这里有一个很好的教程,说明它如何在主要的 android 网站上工作:http: //developer.android.com/guide/topics/data/data-storage.html

编辑:如果您对使用共享首选项在应用程序之间共享字符串一无所知,另一个堆栈溢出用户在此处发布了一个教程:如何在两个不同的 android 应用程序之间共享 SharedPreferences 文件?

于 2013-04-14T15:02:42.710 回答