2011-06-30 8 views
0

データベースと通話するアプリケーションを構築したいと考えています。たとえば、アナログはYouTubeアプリになります。セキュアなホスト(ログインとパスワードが必要)に接続し、クエリに基づいてユーザーの結果に戻ります。私はアプリが行う必要がある何電話アプリをhttpsデータベースに接続するには何が必要ですか?

は次のとおりです。

  • ができれ安全な方法でそれを行うと、ユーザーの携帯電話に暗号化されていない、それを保存していない(ユーザーのログイン情報を取得します - これは私が簡単そうGETPASSWORDで解決だと思うです
  • 一度「ログイン」をクリックすると、自分のサイトでユーザーを認証することができます(これを行う方法を調べる方法は全くわかりません)。通常のブラウザからのログインページのソースコードは何をすべきかわからない)
  • ユーザーの誰に基づいてクエリを実行するのですかありますか? (例えば、電子メール、およびその他の関連データ)。

私はいくつかの具体的な例だけでなく一般的なものも大好きです。電話アプリをサーバーと話すためのチュートリアルがあれば、それも好きです。それ以外の関連するチュートリアルもあります。

+0

これはAndroidアプリのコードではありません。これは間違ってタグ付けしましたか? – Spidy

+0

申し訳ありませんが、あなたは正しいです、そのコードはそこになかった。私はPythonでそれを必要としますが、そのコードは私がhttppostを使ってそれをしなければならないことを知らせます。私は電話ですぐに動作させる方法を見つけようとしています(実行している問題のほとんどはコードのこの部分とは関係ありません)。私はちょうど最近、アンドロイドをピックアップしたので、それはすべて新しいものです(また、3〜4週間前にもPythonで始まりました) – StanM

答えて

1

HttpPostおよびHttpGet要求を使用してサーバーと通信できます。 HttpGetはurlのパラメータを送信します(例:http://mysite.com/index.html?username=admin&password=cleartext)。セキュリティ保護された情報のための好ましい方法ではないことは明らかです。 HttpPostは、httpsを使用して暗号化されたパケットにデータを送信します。ここでは、ユーザーが入力したデータをWebページに送信する例を示します。

EditText usernameText = (EditText)findViewById(R.id.username); 
    EditText passwordText = (EditText)findViewById(R.id.password); 
    String postParameters = "u=" + usernameText.getText() + "&p=" + passwordText.getText(); 
    try { 
     DefaultHttpClient kccClient = new DefaultHttpClient(); 

     HttpPost postRequest = new HttpPost("http://www.mywebsite.com/login.php"); 
     HttpEntity postEntity = new StringEntity(postParameters); 
     postRequest.setHeader("Content-Type", "application/x-www-form-urlencoded"); 
     postRequest.setEntity(postEntity); 

     HttpResponse postResponse = kccClient.execute(postRequest); 
     HttpEntity postResponseEntity = postResponse.getEntity(); 

     responseText.setText(EntityUtils.toString(postResponseEntity)); 
    } catch(Exception e) { 
     responseText.setText(e.getMessage()); 
    } 

安全な接続を使用するには、ウェブのURLをhttps://www.mywebsite.com/login.phpに変更してください。

関連する問題