2012-11-08 10 views
0

새로운 기능이지만 사용자 입력 (예 : userName)을 입력 한 다음 textView를 통해 다른 활동에 표시하려고합니다 (즉, 'userName 's move'라는 표시가 나타남).Android : 사용자 입력을 받아서 다시 표시 할 수 있습니까?

사용자 입력을 자바 파일의 문자열에 할당 한 다음 내 의도와 함께 데이터를 전달하거나 저장소의 일부 형식을 사용해야하는 경우이를 수행 할 수 있는지 확실하지 않습니다.

어느 쪽이든, 나는 .xml 파일의 문자열로 되돌릴 수있는 방법에 대해서는 여전히 혼란 스럽다.

이 어떤 도움이 많이 주시면 감사하겠습니다 :) 환호는 의견에서 지적 된 바와 같이

+2

다른 활동에 사용자 이름을 표시 하시겠습니까? 또는 앱에 저장 되길 원하십니까?, 즉 앱을 닫더라도 다시 돌아올 때 사용자 이름이 아직 남아 있음을 의미합니다. 지금까지 시도한 것은 무엇입니까? – omi0301

+0

가능합니다. 인 텐트와 함께 문자열을 전달할 수 있습니다. 이 링크를 참조하십시오. http://stackoverflow.com/questions/4114443/android-use-an-intent-to-send-data-to-my-activity, http://stackoverflow.com/questions/2091465/how-do-i- 안드로이드 액티비티간에 데이터를 전달하십시오. 비슷한 질문도 거기에 있습니다. –

답변

1

을, 당신은 의도가 무엇인지를 이해해야합니다. 그들에 관해서는 here을 읽을 수 있습니다. 아주 간단한 예를 들어 : 또한

Intent launchNewActivity = new Intent(this, NewActivity.class); 
launchNewActivity.putExtra("Some key", "Some value"); //sometimes you want to pass extra data 
startActivity(launchNewActivity); 

, 그것은 explained here로, strings.xml의 사용을 이해하는 것이 너무 좋은 것입니다. 기본적으로 하드 코딩되지 않은 상수를 정의하는 데 사용되며 코드를 호출 할 수 있습니다. 또한 코드를 체계적으로 정리하는 데 도움이되며 응용 프로그램을 쉽게 다른 언어로 쉽게 변환 할 수 있습니다. 다시 간단한 예제가 아래에 나와 있습니다.

<resources> 

    <string name="OK">OK</string> 
    <string name="cancel">Cancel</string> 

    <!-- Validation error messages for EditText --> 
    <string name="editText_validation_error_empty_field">The field cannot be empty.</string> 
    <string name="editText_validation_error_numbers_only">Only numbers are allowed on this field.</string> 
</resources> 
1

가장 좋은 방법은 공유 기본 설정을 사용하는 것입니다. 그런 것들을위한 것입니다. 그게 당신이 그것을 어떻게 :

SharedPreferences prefs = getSharedPreferences("prefs", 0); 
SharedPreferences.Editor editor prefs.edit(); 
지금

, 당신은 당신이 문자열을 변경 할 때마다 :

editor.putString("user_name", "jon").commit(); 

은 "USER_NAME"는 문자열의 이름을, 그리고 "존"을 내용입니다. 그래서 여러분은 성과 이름을 다음과 같이 저장할 수 있습니다 :

editor.putString("user_name", "jon") 
editor.putString("last_name", "dow").commit(); 

마지막에 "commit()"을 넣지 마십시오. 하고 문자열을 취득 할 때마다 당신은 사용할 수 있습니다

String Name = prefs.getString("user_name", ""); 
String LastName = prefs.getString("last_name", ""); 

이것에 대해 좋은 일이 저장되어 있다는 점이다. 그래서, 사용자는 여전히 사용자를하지 않고 문자열을 얻을 수있는 응용 프로그램을 열 때 다시이를 이용하여 다시 넣어 :

String Name = prefs.getString("user_name", ""); 
String LastName = prefs.getString("last_name", ""); 

는 간단합니다. 네가 얻길 바래.

+0

팁 주셔서 감사합니다. 어쩌면 내가 조금 다른 말로 질문을 했어야 했겠지만. 나는 이것이 공유 환경 설정에 데이터를 저장하는 방법의 예라고 확신한다. (이것이 나의 정보를 저장하는 가장 좋은 방법이라는 나의 의혹을 확인하기 때문에 좋다.) 그러나 내 질문의 진정한 핵심은이 데이터를 표시하는 방법이었다. 한 번 그것 저장? 이견있는 사람?어떤 종류의 텍스트를 표시하는 것은 xml 파일 (문자열 파일을 사용하여 응용 프로그램이 필요에 따라 언어를 변경할 수 있도록)을 통해 수행되어야한다는 인상하에있었습니다. 그럼 Java에서 XML로 어떻게 가나 요? –

관련 문제