을 통해 xml 파일에 노드 및 값을 저장하는 방법 현재 실행중인 응용 프로그램에는 암호 및 전자 메일을 String 변수에 저장하는 저장 버튼이있는 두 개의 TextViews, 두 개의 TextEdit이 있습니다. xml 파일을 users.xml이라는 버튼이 눌려 졌을 때 전자 메일과 암호를 저장하고 싶습니다. (전자 메일과 암호를 String 변수에 저장하는 것 외에) 제안 사항이 있습니까?java/Android Studio
코드 :
package com.example.ashwinpraveen1.domdoc;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
public class MainActivity extends ActionBarActivity {
TextView printText;
EditText emailEdit, passwordEdit;
Button saveButton;
String email,password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText emailEdit = (EditText) findViewById(R.id.emailEdit);
final EditText passwordEdit = (EditText) findViewById(R.id.passwordEdit);
Button saveButton = (Button) findViewById(R.id.saveButton);
Document xmlDoc = getDocument();
final TextView printText = (TextView) findViewById(R.id.printText);
// checking if I can retrieve the root node
printText.setText(xmlDoc.getDocumentElement().getNodeName());
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
email = emailEdit.getText().toString();
password = passwordEdit.getText().toString();
if (email.isEmpty() || password.isEmpty()) {
//code when the user presses the "save" button for no reason
}
}
});
}
private Document getDocument() {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setIgnoringComments(true);
factory.setIgnoringElementContentWhitespace(true);
//factory.setValidating(true);
DocumentBuilder builder = factory.newDocumentBuilder();
AssetManager assetManager = this.getAssets();
InputStream is = assetManager.open("users.xml");
InputSource inStream = new InputSource(is);
return builder.parse(inStream);
}
catch(Exception e) {
TextView printText = (TextView) findViewById(R.id.printText);
printText.setText(e.getMessage());
return null;
}
}
}
users.xml 파일 :
<?xml version="1.0" encoding="UTF-8"?>
<list>
<users>
<user1>Bob</user1>
<pass1>BobNeedsHelpWithxml</pass1>
</users>
<users>
<user2>Ash</user2>
<pass2>AshNeedsHelpToo</pass2>
</users>
</list>
자세한 답장을 보내 주셔서 감사합니다. 나는 또한 XML 파일을 정확히 어디에 저장해야 하는지를 알려줄 수 있습니까? (저는 자바와 AndroidStudio에 처음 두 달이 걸렸습니다. 이제 마침내 멈추고 있습니다) –