2016-12-17 3 views
0

私のアプリケーションにはActivitiesが2つあります。最初のActivityにはすべての動画のリストが表示されます。ビデオをクリックするとActivityが開き、VideoEditorActivityが呼び出されます。edittextでユーザーが行った変更を保存します

私が欲しいのは、ユーザーが[ビデオタイトル]フィールドで変更を加えたときに、ユーザーは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(); 
      } 
     } 
    } 
} 

そして、これはちょうどあなたのサーバーに投稿するのApache HTTPクライアントのようなものを使用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 

     } 
    }); 
} 
+0

コードをフォーマットしました。しかし、どのように質問が述べられている、それは意味をなさない。 – Eldelshell

+0

文法と句読点を修正する質問を編集しました。私はまた、テキストのコードワードをフォーマットして、読者にとって質問がより明確になり、頭字語「FAB」をその長い意味に変更しました。質問がより明確になることを願っています。 – CocoNess

+0

ココナシありがとう –

答えて

0

です。

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()); 
    } 
} 

これをサポートするには、明らかにバックエンドの実装が必要です。

関連する問題