0

I'm working on register and login activity. when I type the name, username, and password, the informations accessed android application. and the Toast show the 'Registration Success' message. But the data didn't inserted in mysql DB. How can I solve it? Please help me.

Following is LoginActivity.java

public class LoginActivity extends Activity { EditText ET_NAME,ET_PASS; String login_name,login_pass; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login_main); ET_NAME = (EditText)findViewById(R.id.user_name); ET_PASS = (EditText)findViewById(R.id.user_pass); } public void userReg(View view) { startActivity(new Intent(this,RegisterActivity.class)); } public void userLogin(View view) { login_name = ET_NAME.getText().toString(); login_pass = ET_PASS.getText().toString(); String method = "login"; BackgroundTask backgroundTask = new BackgroundTask(this); backgroundTask.execute(method,login_name,login_pass); Intent intent = new Intent(this, MainActivity.class); intent.putExtra("ID", login_name); intent.putExtra("PW", login_pass); startActivity(intent); finish(); } } 

This is BackgroundTask.java

public class BackgroundTask extends AsyncTask<String,Void,String> { AlertDialog alertDialog; Context ctx; BackgroundTask(Context ctx) { this.ctx = ctx; } @Override protected void onPreExecute() { alertDialog = new AlertDialog.Builder(ctx).create(); } @Override protected String doInBackground(String... params) { String reg_url = "http://35.160.135.119/webapp/register.php"; String login_url = "http://35.160.135.119/webapp/login.php"; String method = params[0]; if (method.equals("register")) { String name = params[1]; String user_name = params[2]; String user_pass = params[3]; try { URL url = new URL(reg_url) HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); httpURLConnection.setRequestMethod("POST"); httpURLConnection.setDoOutput(true); //httpURLConnection.setDoInput(true); OutputStream OS = httpURLConnection.getOutputStream(); BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(OS, "UTF-8")); String data = URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode(name, "UTF-8") + "&" + URLEncoder.encode("user_name", "UTF-8") + "=" + URLEncoder.encode(user_name, "UTF-8") + "&" + URLEncoder.encode("user_pass", "UTF-8") + "=" + URLEncoder.encode(user_pass, "UTF-8"); bufferedWriter.write(data); bufferedWriter.flush(); bufferedWriter.close(); OS.close(); InputStream IS = httpURLConnection.getInputStream(); IS.close(); //httpURLConnection.connect(); httpURLConnection.disconnect(); return "Registration Success..."; } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } else if (method.equals("login")) { String login_name = params[1]; String login_pass = params[2]; try { URL url = new URL(login_url); HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); httpURLConnection.setRequestMethod("POST"); httpURLConnection.setDoOutput(true); httpURLConnection.setDoInput(true); OutputStream outputStream = httpURLConnection.getOutputStream(); BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8")); String data = URLEncoder.encode("login_name", "UTF-8") + "=" + URLEncoder.encode(login_name, "UTF-8") + "&" + URLEncoder.encode("login_pass", "UTF-8") + "=" + URLEncoder.encode(login_pass, "UTF-8"); bufferedWriter.write(data); bufferedWriter.flush(); bufferedWriter.close(); outputStream.close(); InputStream inputStream = httpURLConnection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1")); String response = ""; String line = ""; while ((line = bufferedReader.readLine()) != null) { response += line; } bufferedReader.close(); inputStream.close(); httpURLConnection.disconnect(); return response; } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } return null; } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } @Override protected void onPostExecute(String result) { if (result.equals("Registration Success...")) { Toast.makeText(ctx, result, Toast.LENGTH_LONG).show(); } else { alertDialog.setMessage(result); alertDialog.show(); } } } 

And this is Register.java

public class RegisterActivity extends Activity { EditText ET_NAME, ET_USER_NAME, ET_USER_PASS; String name, user_name, user_pass; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.register_layout); ET_NAME = (EditText)findViewById(R.id.name); ET_USER_NAME = (EditText)findViewById(R.id.new_user_name); ET_USER_PASS = (EditText)findViewById(R.id.new_user_pass); } public void userReg(View view) { name = ET_NAME.getText().toString(); user_name = ET_USER_NAME.getText().toString(); user_pass = ET_USER_PASS.getText().toString(); String method = "register"; BackgroundTask backgroundTask = new BackgroundTask(this); backgroundTask.execute(method,name, user_name, user_pass); finish(); } } 

This is debugging log.

$ adb shell am start -n "com.example.jina.a1105gmdemo/com.example.jina.a1105gmdemo.LoginActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D Connecting to com.example.jina.a1105gmdemo Connected to the target VM, address: 'localhost:8605', transport: 'socket' I/System.out: Sending WAIT chunk W/ActivityThread: Application com.example.jina.a1105gmdemo is waiting for the debugger on port 8100... I/dalvikvm: Debugger is active I/System.out: Debugger has connected I/System.out: waiting for debugger to settle... I/System.out: waiting for debugger to settle... I/System.out: waiting for debugger to settle... I/System.out: waiting for debugger to settle... I/System.out: waiting for debugger to settle... I/System.out: waiting for debugger to settle... I/System.out: debugger has settled (1484) I/MultiDex: VM with version 1.6.0 does not have multidex support I/MultiDex: install I/MultiDex: MultiDexExtractor.load(/data/app/com.example.jina.a1105gmdemo-46.apk, false) I/MultiDex: Detected that extraction must be performed. I/MultiDex: Trying to delete old file /data/data/com.example.jina.a1105gmdemo/code_cache/secondary-dexes/com.example.jina.a1105gmdemo-45.apk.classes2.dex of size 2898496 I/MultiDex: Deleted old file /data/data/com.example.jina.a1105gmdemo/code_cache/secondary-dexes/com.example.jina.a1105gmdemo-45.apk.classes2.dex I/MultiDex: Trying to delete old file /data/data/com.example.jina.a1105gmdemo/code_cache/secondary-dexes/com.example.jina.a1105gmdemo-45.apk.classes2.zip of size 934986 I/MultiDex: Deleted old file /data/data/com.example.jina.a1105gmdemo/code_cache/secondary-dexes/com.example.jina.a1105gmdemo-45.apk.classes2.zip I/MultiDex: Extraction is needed for file /data/data/com.example.jina.a1105gmdemo/code_cache/secondary-dexes/com.example.jina.a1105gmdemo-46.apk.classes2.zip I/MultiDex: Extracting /data/data/com.example.jina.a1105gmdemo/code_cache/secondary-dexes/com.example.jina.a1105gmdemo-46.apk.classes2089171779.zip I/MultiDex: Renaming to /data/data/com.example.jina.a1105gmdemo/code_cache/secondary-dexes/com.example.jina.a1105gmdemo-46.apk.classes2.zip I/MultiDex: Extraction success - length /data/data/com.example.jina.a1105gmdemo/code_cache/secondary-dexes/com.example.jina.a1105gmdemo-46.apk.classes2.zip: 934986 I/MultiDex: load found 1 secondary dex files D/dalvikvm: DexOpt: --- BEGIN 'com.example.jina.a1105gmdemo-46.apk.classes2.zip' (bootstrap=0) --- D/dalvikvm: DexOpt: --- END 'com.example.jina.a1105gmdemo-46.apk.classes2.zip' (success) --- D/dalvikvm: DEX prep '/data/data/com.example.jina.a1105gmdemo/code_cache/secondary-dexes/com.example.jina.a1105gmdemo-46.apk.classes2.zip': unzip in 66ms, rewrite 778ms I/MultiDex: install done I/FirebaseInitProvider: FirebaseApp initialization unsuccessful I/Adreno-EGL: <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: () OpenGL ES Shader Compiler Version: E031.24.00.08 Build Date: 03/21/14 Fri Local Branch: AU200+patches_03212014 Remote Branch: Local Patches: Reconstruct Branch: D/OpenGLRenderer: Enabling debug mode 0 D/OpenGLRenderer: GL error from OpenGLRenderer: 0x502 E/OpenGLRenderer: GL_INVALID_OPERATION D/OpenGLRenderer: GL error from OpenGLRenderer: 0x502 E/OpenGLRenderer: GL_INVALID_OPERATION D/dalvikvm: threadid=1: still suspended after undo (sc=1 dc=1) D/dalvikvm: threadid=12: still suspended after undo (sc=1 dc=1) D/dalvikvm: threadid=12: still suspended after undo (sc=1 dc=1) D/dalvikvm: threadid=12: still suspended after undo (sc=1 dc=1) D/dalvikvm: threadid=12: still suspended after undo (sc=1 dc=1) D/dalvikvm: threadid=12: still suspended after undo (sc=1 dc=1) D/dalvikvm: threadid=12: still suspended after undo (sc=1 dc=1) D/dalvikvm: threadid=12: still suspended after undo (sc=1 dc=1) D/dalvikvm: threadid=12: still suspended after undo (sc=1 dc=1) I/System.out: Thread-1263(HTTPLog):isShipBuild true I/System.out: Thread-1263(HTTPLog):SmartBonding Enabling is false, SHIP_BUILD is true, log to file is false, DBG is false W/IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection W/IInputConnectionWrapper: getSelectedText on inactive InputConnection W/IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection W/IInputConnectionWrapper: getTextAfterCursor on inactive InputConnection W/IInputConnectionWrapper: getSelectedText on inactive InputConnection W/IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection W/IInputConnectionWrapper: getTextAfterCursor on inactive InputConnection D/dalvikvm: threadid=12: still suspended after undo (sc=1 dc=1) D/dalvikvm: threadid=1: still suspended after undo (sc=1 dc=1) Disconnected from the target VM, address: 'localhost:8605', transport: 'socket' 

1 Answer 1

1

put that code in post execute of async task that you want to execute after the async task complete.like..

 finish(); 

and check your webservices for data that you recieved there and try to print the result in logcat what you got from your server script instead of static "success message".

Sign up to request clarification or add additional context in comments.

2 Comments

thanks. I checked my error log and fix the php code. It works now. but I can't understand your first advice. put finish(); code into post execute triggers error..
that is a good practice.. cuz on post execute is called when your async task is finished its execution...

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.