質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

受付中

ログイン機能にて、コードの一部が非推奨により使用できません。(android studio)

Kottyan
Kottyan

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

2回答

0評価

0クリップ

3976閲覧

投稿2016/03/04 07:35

現在android studioでログイン機能を開発しております。
サンプルコードを基にログイン機能を書いておりましたが、
使用しているコードが現在非推奨のため、エラーになってしまいます。
大変恐れいりますが、ご教示いただけますでしょうか。
下記コードになります。
よろしくお願い致します。

(httpparamsが非推奨。)

java

protected Void doInBackground\(Void\.\.\. params\) { Map<String,String> dataToSend = new HashMap<>\(\); dataToSend\.put\("name", user\.name\); dataToSend\.put\("password", user\.password\); String encodedStr = getEncodedData\(dataToSend\); BufferedReader reader = null; HttpParams httpRequestsParams = new BasicHttpParams\(\); HttpConnectionParams\.setConnectionTimeout\(httpRequestsParams, CONNECTION_TIMEOUT\); HttpConnectionParams\.setSoTimeout\(httpRequestsParams, CONNECTION_TIMEOUT\); HttpClient client = new DefaultHttpClient\(httpRequestsParams\); HttpPost post = new HttpPost\(SERVER_ADDRESS \+ "FetchUserData\.php"\); User returnedUser =null; try { post\.setEntity\(new UrlEncodedFormEntity\(dataToSend\)\); HttpResponse httpResponce = client\.execute\(post\); HttpEntity entity = httpResponce\.getEntitiy\(\); String result = EntityUtils\.toString\(entity\); JSONObject jObject = new JSONObject\(result\); if\(jObject\.length\(\) == 0\){ user = null; }else{ String name = jObject\.getString\("name"\); int age = jObject\.getInt\("age"\); returnedUser = new User\(name, age, user\.username, user\.password\); } }catch \(Exception e\){ e\.printStackTrace\(\); } return returnedUser; } @Override protected void onPostExecute\(User returnedUser\) { progressDialog\.dismiss\(\); userCallback\.done\(returnedUser\); super\.onPostExecute\(returnedUser\); } }

--全体のコード--

package com\.example\.loginregister; import android\.app\.ProgressDialog; import android\.content\.Context; import android\.net\.http\.HttpResponseCache; import android\.os\.AsyncTask; import android\.provider\.Settings; import android\.util\.Log; import org\.apache\.http\.params\.HttpConnectionParams; import org\.apache\.http\.params\.HttpParams; import org\.json\.JSONObject; import java\.io\.BufferedReader; import java\.io\.IOException; import java\.io\.InputStreamReader; import java\.io\.OutputStreamWriter; import java\.io\.UnsupportedEncodingException; import java\.net\.HttpURLConnection; import java\.net\.URL; import java\.net\.URLEncoder; import java\.util\.ArrayList; import java\.util\.HashMap; import java\.util\.Map; public class ServerRequests { ProgressDialog progressDialog; public static final int CONNECTION_TIMEOUT = 1000 \* 15; public static final String SERVER_ADDRESS = "サーバー名"; public ServerRequests\(Context context\){ progressDialog = new ProgressDialog\(\(context\)\); progressDialog\.setCancelable\(false\); progressDialog\.setTitle\("Processing"\); progressDialog\.setMessage\("Please wait\.\.\."\); } public void storeUserDataInBackground\(User user, GetUserCallback userCallback\){ progressDialog\.show\(\); new StoreUserDataAsyncTask\(user, userCallback\)\.execute\(\); } public void fetchUserDataInBackground\(User user, GetUserCallback callBack\){ progressDialog\.show\(\); new fetchUserDataAsyncTask\(user, callBack\)\.execute\(\); } public class StoreUserDataAsyncTask extends AsyncTask<Void, Void, Void > { User user; GetUserCallback userCallback; public StoreUserDataAsyncTask\(User user, GetUserCallback userCallback\) { this\.user = user; this\.userCallback = userCallback; } @Override protected Void doInBackground\(Void\.\.\. params\) { Map<String,String> dataToSend = new HashMap<>\(\); dataToSend\.put\("name", user\.name\); dataToSend\.put\("age", user\.age \+ ""\); dataToSend\.put\("username", user\.username\); dataToSend\.put\("password", user\.password\); String encodedStr = getEncodedData\(dataToSend\); BufferedReader reader = null; try { URL url = new URL\(SERVER_ADDRESS \+ "Register\.php"\); HttpURLConnection con = \(HttpURLConnection\) url\.openConnection\(\); con\.setRequestMethod\("POST"\); con\.setDoOutput\(true\); OutputStreamWriter writer = new OutputStreamWriter\(con\.getOutputStream\(\)\); writer\.write\(encodedStr\); writer\.flush\(\); StringBuilder sb = new StringBuilder\(\); reader = new BufferedReader\(new InputStreamReader\(con\.getInputStream\(\)\)\); String line; while\(\(line = reader\.readLine\(\)\) != null\) { sb\.append\(line \+ "\\n"\); } line = sb\.toString\(\); Log\.i\("custom_check", "The values received in the store part are as follows:"\); Log\.i\("custom_check",line\); } catch \(Exception e\) { e\.printStackTrace\(\); } finally { if\(reader != null\) { try { reader\.close\(\); } catch \(IOException e\) { e\.printStackTrace\(\); } } } return null; } @Override protected void onPostExecute\(Void aVoid\) { progressDialog\.dismiss\(\); userCallback\.done\(null\); super\.onPostExecute\(aVoid\); } } private String getEncodedData\(Map<String,String> data\) { StringBuilder sb = new StringBuilder\(\); for\(String key : data\.keySet\(\)\) { String value = null; try { value = URLEncoder\.encode\(data\.get\(key\),"UTF-8"\); } catch \(UnsupportedEncodingException e\) { e\.printStackTrace\(\); } if\(sb\.length\(\)>0\) sb\.append\("&"\); sb\.append\(key \+ "=" \+ value\); } return sb\.toString\(\); } public class fetchUserDataAsyncTask extends AsyncTask<Void, Void, Void > { User user; GetUserCallback userCallback; public fetchUserDataAsyncTask\(User user, GetUserCallback userCallback\) { this\.user = user; this\.userCallback = userCallback; } @Override protected Void doInBackground\(Void\.\.\. params\) { Map<String,String> dataToSend = new HashMap<>\(\); dataToSend\.put\("name", user\.name\); dataToSend\.put\("password", user\.password\); String encodedStr = getEncodedData\(dataToSend\); BufferedReader reader = null; HttpParams httpRequestsParams = new BasicHttpParams\(\); HttpConnectionParams\.setConnectionTimeout\(httpRequestsParams, CONNECTION_TIMEOUT\); HttpConnectionParams\.setSoTimeout\(httpRequestsParams, CONNECTION_TIMEOUT\); HttpClient client = new DefaultHttpClient\(httpRequestsParams\); HttpPost post = new HttpPost\(SERVER_ADDRESS \+ "FetchUserData\.php"\); User returnedUser =null; try { post\.setEntity\(new UrlEncodedFormEntity\(dataToSend\)\); HttpResponse httpResponce = client\.execute\(post\); HttpEntity entity = httpResponce\.getEntitiy\(\); String result = EntityUtils\.toString\(entity\); JSONObject jObject = new JSONObject\(result\); if\(jObject\.length\(\) == 0\){ user = null; }else{ String name = jObject\.getString\("name"\); int age = jObject\.getInt\("age"\); returnedUser = new User\(name, age, user\.username, user\.password\); } }catch \(Exception e\){ e\.printStackTrace\(\); } return returnedUser; } @Override protected void onPostExecute\(User returnedUser\) { progressDialog\.dismiss\(\); userCallback\.done\(returnedUser\); super\.onPostExecute\(returnedUser\); } } }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。