-2
こんにちは皆さんは、ユーザーとパスワードが常に無効である理由を助けてくれますか?URLはユーザーのデータを呼び出すのに良いと思いますが、なぜこれが起こるのかわかりません。前のアプリはここユーザー名/パスワードが無効ですログインAndroidアプリ
は私LoginActivityでログインすることができます。URLはこちら
import java.io.IOException;
import org.apache.http.client.ClientProtocolException;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.method.LinkMovementMethod;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.inarts.mobile.merch.md.info.AppInfo;
import com.inarts.mobile.merch.md.info.UserInfo;
import com.inarts.rest.RequestMethod;
import com.inarts.rest.RestClient;
public class LoginActivity extends Activity {
public String targetUrl = "";
public String userName = "";
public String userUsername = "";
public String userPassword = "";
public boolean userSaveCB = false;
public static Context ctx;
public static final String PREFS_NAME = "MyPrefsFile";
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ctx = this.getApplicationContext();
targetUrl = Config.getEndPointUrl() + "/login.json";
TextView tvcopyright = (TextView) findViewById(R.id.main_copyright);
tvcopyright.setMovementMethod(LinkMovementMethod.getInstance());
EditText tvUsername = (EditText) findViewById(R.id.main_user_txt);
EditText tvPassword = (EditText) findViewById(R.id.main_pass_txt);
CheckBox cbSavePassword = (CheckBox) findViewById(R.id.main_save_cb);
if (isSavePassword()) {
tvUsername.setText(getSavedUsername().toString());
tvPassword.setText(getSavedPassword().toString());
cbSavePassword.setChecked(true);
} else {
cbSavePassword.setChecked(false);
}
if (getLoginState()) {
Log.i("ncdebug", "I am logged in");
goToMainActivity();
} else {
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 0, "Keluar").setIcon(R.drawable.ic_menu_exit);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case 1:
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public void onBackPressed() {
return;
}
public void click_login(View view) {
EditText user_txt = (EditText) findViewById(R.id.main_user_txt);
EditText pass_txt = (EditText) findViewById(R.id.main_pass_txt);
if ( user_txt.getText().toString().equals(AppInfo.adminName)
&& pass_txt.getText().toString().equals(AppInfo.adminPass)
)
{
Intent intent = new Intent(ctx, StoreAddGeoActivity.class);
startActivity(intent);
finish();
} else {
new AuthenticateTask().execute(targetUrl, userUsername, userPassword);
}
}
public void goToMainActivity() {
Intent intent = new Intent(this.getApplicationContext(),
MainActivity.class);
this.startActivity(intent);
finish();
}
public void saveLoginState() {
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("user_name", userName);
editor.putString("user_username", userUsername);
editor.putString("user_password", userPassword);
editor.putBoolean("loginState", true);
CheckBox cbSavePassword = (CheckBox) findViewById(R.id.main_save_cb);
if (cbSavePassword.isChecked()) {
editor.putBoolean("isSavePassword", true);
} else {
editor.putBoolean("isSavePassword", false);
}
UserInfo.username = userUsername;
UserInfo.name = userName;
UserInfo.loginstatus = true;
editor.commit();
}
public boolean isSavePassword() {
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean stat = settings.getBoolean("isSavePassword", false);
return stat;
}
public String getSavedUsername() {
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
return settings.getString("user_username", "");
}
public String getSavedPassword() {
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
return settings.getString("user_password", "");
}
public boolean getLoginState() {
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
UserInfo.username = settings.getString("user_username", "");
UserInfo.name = settings.getString("user_name", "");
boolean stat = settings.getBoolean("loginState", false);
UserInfo.loginstatus = stat;
return stat;
}
private class AuthenticateTask extends AsyncTask<String, String, String> {
ProgressDialog dialog;
@Override
protected void onPreExecute() {
dialog = ProgressDialog.show(LoginActivity.this, "", "Loading...",
true);
}
@Override
protected String doInBackground(String... params) {
RestClient client = new RestClient(params[0]);
// EditText user_txt = (EditText) findViewById(R.id.main_user_txt);
// EditText pass_txt = (EditText) findViewById(R.id.main_pass_txt);
// userUsername = user_txt.getText().toString();
// userPassword = pass_txt.getText().toString();
// client.AddParam("username", user_txt.getText().toString());
// client.AddParam("password", pass_txt.getText().toString());
client.AddParam("username", params[1]);
client.AddParam("password", params[2]);
try {
client.Execute(RequestMethod.GET);
return client.getResponse();
} catch (ClientProtocolException e) {
// e.printStackTrace();
Toast.makeText(LoginActivity.ctx, e.getMessage(),
Toast.LENGTH_SHORT).show();
} catch (IOException e) {
// e.printStackTrace();
Toast.makeText(LoginActivity.ctx, e.getMessage(),
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
// e.printStackTrace();
Toast.makeText(LoginActivity.ctx, e.getMessage(),
Toast.LENGTH_SHORT).show();
}
return null;
}
@Override
protected void onPostExecute(String Result) {
dialog.dismiss();
if (Result != null) {
parseJson(Result);
} else {
Toast.makeText(LoginActivity.ctx,
"Login Failed, Connection Error", Toast.LENGTH_SHORT)
.show();
}
System.out.println("Ini dia");
}
public void parseJson(String s) {
try {
JSONObject jobj = new JSONObject(s);
String stat = jobj.getString("stat");
if (stat.equals("failed")) {
String msg = jobj.getString("msg");
Toast.makeText(LoginActivity.ctx, msg, Toast.LENGTH_SHORT)
.show();
} else {
userName = jobj.getString("name");
saveLoginState();
goToMainActivity();
}
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(LoginActivity.ctx, e.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
}
}
マイConfig.Javaを
public class Config {
public static String getEndPointUrl() {
String endpointUrl = "http://mobilemerch.in2digital.net/rest";
return endpointUrl;
}
あなたが問題を解決するために何かを必要とする場合は、単に、下記の感謝を尋ねます:)
おかげで、私はそれを気付かないでください:) –