2012-02-14 14 views
2

私はAndroidプログラミングを初めて利用しており、アプリの開発を期待しています。アプリは、HTMLフォームを入力してウェブサイトにログインできる必要があります。Android App:ウェブサイトにログインし、セッションを維持する - Java

ログイン後、セッションを維持し、セッションを介して、ユーザーは(標準HTMLフォームの投稿を使用して)ウェブサイトに投稿できる必要があります。

この種類のアクティビティは可能ですか?これに使用できる特別なモジュールはどれですか?

注:Webサイトには素晴らしいAPIはありません。ソースコードにアクセスすることもできません。

ありがとうございます。

答えて

7

私は最初に何を求めているのか分からず、少数のBingsの後に私が必要なものに上陸しました。

HTMLポストフォームを処理し、セッションを維持してウェブサイトで作業することによって、ウェブサイトにログインする必要がありました。

サイトに接続する簡単な機能は次のとおりです。

public static void connectToSite(HttpClient client, String username, String password){ 
    List<NameValuePair> arguments = new ArrayList<NameValuePair>(); 
    arguments.add(new BasicNameValuePair("email", username)); 
    arguments.add(new BasicNameValuePair("pword", password)); 
    arguments.add(new BasicNameValuePair("action", "modifyPALS")); 
    arguments.add(new BasicNameValuePair("Submit", "Login")); 

    HttpPost post = new HttpPost(); 

    try{ 
     post.setURI(new URI("http://www.my-target-website.com/login.php")); 
     post.setEntity(new UrlEncodedFormEntity(arguments)); 
     client.execute(post); 
     AppStatus s = getSiteConnectionStatus(client, site); 
    } 
    catch (URISyntaxException e){ 
     Log.e("LANKAFRIENDS", "SiteConnection.connectToSite():URISyntaxException"); 
    } 
    catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } 
    catch (IOException e) { 
     e.printStackTrace(); 
    } 

} 

シングルトンの実装を使用してHttpClientのインスタンスを1つ取得します。私が望む時にそれを使用してください。

フォーム属性は、BasicNameVluePairとしてListに格納されます。 HttpPostオブジェクトが作成され、urlはsetURIメソッドによって提供されます。その後、リストはエンティティとしてHttpPostオブジェクトに提供され、最後に実行されます。

StackOverflowとBingの命令の多くはかなりわかりやすいです。

私はそれを推測します:)

関連する問題