保存用户在editText中所做的更改

时间:2016-12-17 23:35:04

标签: java android

我的申请表中有两个Activities。第一个Activity显示所有视频的列表。当我点击任何视频时,会打开另一个Activity,其中会调用VideoEditorActivity

我想要的是,当用户在视频标题字段中进行更改时,用户应该能够保存他通过FloatingActionButton所做的更改。我不想使用sharedPreference,或数据库或文件I / O.我只希望通过服务器在本地进行这些更改。

这是我的POJO:

public class VideoDetail implements Serializable {
    private static final long serialVersionUID = -5294188737237640015L;

    private String title;

    public String getTitle() {
        return title;
    }

    public VideoDetail (JSONObject jsonObject){
        try {
            title = jsonObject.getString("title");
            catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }
}

这是VideoEditorActivity

public class VideoEditorActivity extends AppCompatActivity {

    EditText etTitle;
    FloatingActionButton btnSave;

    btnSave = (FloatingActionButton) findViewById(R.id.fab);

    etTitle = (EditText) findViewById(R.id.title);
    final VideoDetail videoDetail = (VideoDetail) getIntent().getSerializableExtra("key");
    etTitle.setText(videoDetail.getTitle());

    btnSave.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            // something need to do here
            // code here

        }
    });
}

1 个答案:

答案 0 :(得分:0)

只需使用类似apache的http客户端发布到您的服务器即可。

import org.apache.http.client.methods.HttpPost;

btnSave.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        new AsyncTask<String, Void, Void>() {
            @Override
            protected Void doInBackground(String... data) {
                String url = data[0];
                String userID = data[1];
                String title = data[2];

                HttpPost post = new HttpPost(url);

                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("user", userID));
                params.add(new BasicNameValuePair("title", title));

                post.setEntity(new UrlEncodedFormEntity(params));

                new DefaultHttpClient().execute(post);
            }
        }.execute(<your server url>, <user ID>, etTitle.getText());
    }
}

显然,你需要后端实现来支持这一点。